summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO15
-rw-r--r--PKGBUILD37
-rw-r--r--fulcrum.conf118
3 files changed, 147 insertions, 23 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 9d334681cedd..438be71b9a05 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -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
diff --git a/PKGBUILD b/PKGBUILD
index 6be814ceb2c7..ce3d0cd832b5 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -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