diff options
-rw-r--r-- | .SRCINFO | 15 | ||||
-rw-r--r-- | PKGBUILD | 37 | ||||
-rw-r--r-- | fulcrum.conf | 118 |
3 files changed, 147 insertions, 23 deletions
@@ -1,16 +1,19 @@ pkgbase = fulcrum - pkgdesc = Fulcrum - pkgver = 1.0 + pkgdesc = A fast & nimble SPV server for Bitcoin Cash + pkgver = 1.0.1 pkgrel = 1 + url = https://github.com/cculianu/Fulcrum install = fulcrum.install arch = x86_64 license = GPL3 depends = qt5-base - backup = etc/fulcrum.conf - source = git+https://github.com/cculianu/Fulcrum.git + depends = rocksdb + depends = python + provides = fulcrum + source = Fulcrum-1.0.1.tar.gz::https://github.com/cculianu/Fulcrum/archive/v1.0.1.tar.gz source = fulcrum.conf - sha256sums = SKIP - sha256sums = 9e8feec3c2c4f87377a6e24112b5025108aadc6352e78488a4f4ab851a5da337 + sha256sums = 6f06020a14006bc3a200476c57fb1306b85d44b98fedd1285da903f61fd6e63c + sha256sums = 2570cd9cabc9a31b1b7ec8210e62a1206d00d12bc162e8508f69575d396b202f pkgname = fulcrum @@ -1,28 +1,41 @@ # Maintainer: Tom Zander pkgname=fulcrum -pkgver=1.0 +pkgdesc='A fast & nimble SPV server for Bitcoin Cash' +pkgver=1.0.1 pkgrel=1 -pkgdesc="Fulcrum" +url='https://github.com/cculianu/Fulcrum' arch=('x86_64') license=('GPL3') -depends=('qt5-base') +depends=( + 'qt5-base' + 'rocksdb' + 'python' +) install=fulcrum.install -backup=("etc/fulcrum.conf") -source=("git+https://github.com/cculianu/Fulcrum.git" +provides=("$pkgname") +source=( + "Fulcrum-$pkgver.tar.gz::https://github.com/cculianu/Fulcrum/archive/v$pkgver.tar.gz" "fulcrum.conf" - ) -sha256sums=('SKIP' - '9e8feec3c2c4f87377a6e24112b5025108aadc6352e78488a4f4ab851a5da337' ) +sha256sums=('6f06020a14006bc3a200476c57fb1306b85d44b98fedd1285da903f61fd6e63c' + '2570cd9cabc9a31b1b7ec8210e62a1206d00d12bc162e8508f69575d396b202f' +) + +_qmake_args="CONFIG+=release" + +prepare() { + cd "Fulcrum-$pkgver" + qmake -makefile features= Fulcrum.pro +} build() { - cd "$srcdir/Fulcrum/" - qmake . - make + cd "Fulcrum-$pkgver" + make } package() { - install -Dm 775 "$srcdir/Fulcrum/Fulcrum" -T "$pkgdir/usr/bin/fulcrum" + install -Dm 775 "$srcdir/Fulcrum-$pkgver/Fulcrum" -T "$pkgdir/usr/bin/fulcrum" + install -Dm 775 "$srcdir/Fulcrum-$pkgver/FulcrumAdmin" -T "$pkgdir/usr/bin/fulcrum-admin" install -Dm 664 "$srcdir/fulcrum.conf" -t "$pkgdir/etc/" } diff --git a/fulcrum.conf b/fulcrum.conf index 5da64d0fd16c..27a2602d0122 100644 --- a/fulcrum.conf +++ b/fulcrum.conf @@ -86,7 +86,7 @@ rpcuser = Bob_The_Banker rpcpassword = hunter1 -# Bitcoin daemon poll interval - 'polltime' - Default: 2.0 seconds +# Bitcoin daemon poll interval - 'polltime' - DEFAULT: 2.0 seconds # # The number of seconds for the bitcoind poll interval. Bitcoind is polled once # every `polltime` seconds to detect mempool and blockchain changes. This value @@ -145,6 +145,20 @@ rpcpassword = hunter1 #key = /path/to/server.key +# Admin RPC bind - 'admin' - DEFAULT: None +# +# Specifies the listen address and port for the admin RPC service. This service +# is used by the fulcrum_admin script to issue control commands to Fulcrum. As +# such, you should *NOT* bind to an interface and/or port that is publicly +# accessible by the rest of the internet. It is recommended that you bind to the +# loopback interface (e.g. 127.0.0.1 on IPv4). The port parameter used here can +# be given to the fulcrum_admin script via the -p arg. This option may be +# specified more than once to bind to multiple ports and/or interfaces. +# +#admin = 9000 # <-- a port number by itself implies 127.0.0.1 +#admin = 127.0.0.1:9000 + + # HTTP stats bind - 'stats' - DEFAULT: None # # Specifies the listen address and port for the "stats" HTTP server. You may hit @@ -156,6 +170,7 @@ rpcpassword = hunter1 # unless you specify this option. This option may be specified more than once to # bind to multiple ports and/or interfaces. # +#stats = 8080 # <-- a port number by itself implies 127.0.0.1 #stats = 127.0.0.1:8080 @@ -250,6 +265,7 @@ rpcpassword = hunter1 #banner = /path/to/banner.txt + #------------------------------------------------------------------------------- # PEER DISCOCERY AND PUBLIC SERVER OPTIONS #------------------------------------------------------------------------------- @@ -303,7 +319,11 @@ rpcpassword = hunter1 # Peer discovery - 'peering' - DEFAULT: true # -# TODO: Description here +# If set, we query other servers for their peer list and attempt to reach out to +# new servers appearing on the network. Normally, Electron Cash clients will +# query your server asking it for its list of servers, so leaving this as true +# means you will be able to return meaningful results to clients about available +# servers on the network. # #peering = true @@ -311,9 +331,80 @@ rpcpassword = hunter1 # Peering: announce self - 'announce' - DEFAULT: true if hostname and peering # are set, false otherwise # -# TODO: Description here +# You must enable `peering` above and also define a `hostname` for this to have +# an effect. If set to true and the above conditions are met, then your server +# will announce itself to peers and likely appear in their server lists. Setting +# this to true ensures you get more clients connecting to your server. +# +#announce = true + + + +#------------------------------------------------------------------------------- +# TOR Configuration (optional) +#------------------------------------------------------------------------------- +# +# This section is optional but if tor_hostname is set and if at least one +# tor_*_port is specified, we will also announce ourselves on the Tor network +# (iff announce=true). Note Tor won't work unless you also configure a Tor +# proxy on your system, and with it, configure it to also offer a Tor hidden +# service. + + +# Tor hostname - 'tor_hostname' - DEFAULT: Nothing +# +# If specifeid, and if you have a Tor proxy configured, and if you have at least +# one of tor_tcp_port and/or tor_ssl_port specified, then we will anounce this +# host via Tor as a .onion host. Note that this hostname must end in .onion. +# +#tor_hostname=aykwhy6o2o4ixushlonpjooqv73fwx7jqgoreiknnqxuqv4dwffmb7qd.onion + + +# Tor banner - 'tor_banner' - DEFAULT: Use the regular banner +# +# Tor banner is optional. If unset, will just use the regular banner= setting +# (if any), or a fallback string "Connected to a Fulcrum xx.yy.zz server.". This +# is here in case you want an alternate banner to be shown to users connecting +# to your server via Tor. # -#announce = false +#tor_banner=/path/to/another/alternate/banner_tor.txt + + +# Tor TCP port - 'tor_tcp_port' - DEFAULT: Nothing +# +# If set, we will advertise ourselves as living on the .onion tor_hostname above +# and offering this port for incoming TCP connections. At least one port (along +# with tor_hostname) must be specified to announce this server via Tor. +# +# This option may not be specified multiple times. +# +#tor_tcp_port = 60001 + + +# Tor SSL port - 'tor_ssl_port' - DEFAULT: Nothing +# +# If set, we will advertise ourselves as living on the .onion tor_hostname above +# and offering this port for incoming SSL connections. At least one port (along +# with tor_hostname) must be specified to announce this server via Tor. +# +# This option may not be specified multiple times. +# +#tor_ssl_port = 60001 + + +# Tor proxy to use for outbound connections - 'tor_proxy, tor_user, tor_pass' +# - DEFAULT: 127.0.0.1:9050, no username, no password +# +# If you want to discover .onion peers, be sure to configure a Tor daemon to +# run alongside your server. The default configuration is for the Tor proxy +# port to be 127.0.0.1:9050, no username, no password. If you modified the +# default in your torrc, then specify the settings used here so that Fulcrum +# may use the Tor proxy to discover .onion peers. +# +#tor_proxy = 9050 # e.g. localhost 9050. Interface ok too e.g. 10.0.0.1:9150. +#tor_user = # leave this out unless you specified a username in your torrc +#tor_pass = # leave this out unless you specified a password in your torrc + #------------------------------------------------------------------------------- @@ -451,6 +542,23 @@ rpcpassword = hunter1 # Peer IP uniqueness enforcement - 'peering_enforce_unique_ip' - DEFAULT: true # -# TODO: Description here +# If true (the default) we reject duplicate peers that appear multiple times +# under different hostnames but using the same IP address. Only the first such +# peer is accepted and all the others are rejected and do not appear in your +# server's peer list. This is a sybil attack defense measure and likely you +# should leave it as true. # #peering_enforce_unique_ip = true + + +# Max pending connections - 'max_pending_connections' - DEFAULT: 60 +# +# The maximum number of connections that may be simultaneously "pending" before +# new client connections are refused due to the backlog. "Pending" here refers +# to new connections that come in from the OS's TCP/IP stack but haven't yet +# been properly accepted by this software. The default value is 60, which is +# already quite generous. This variable is exposed for troubleshooting and +# debugging purposes and does not normally need to be modified. Valid values are +# in the range: 10 to 9999. +# +#max_pending_connections = 60 |