diff options
author | TomZ | 2022-11-24 18:30:53 +0100 |
---|---|---|
committer | TomZ | 2022-11-24 18:31:26 +0100 |
commit | 5022e0a3b00ae7fe9ba215736a2b8b6358fc2835 (patch) | |
tree | 8074d32f1bd4c0408f879c639a61fb851042fbbc | |
parent | 1772f61426b513f51f9693e09fda800a0eb455f5 (diff) | |
download | aur-5022e0a3b00ae7fe9ba215736a2b8b6358fc2835.tar.gz |
Update config and fix url
-rw-r--r-- | .SRCINFO | 4 | ||||
-rw-r--r-- | PKGBUILD | 5 | ||||
-rw-r--r-- | fulcrum.conf | 170 |
3 files changed, 148 insertions, 31 deletions
@@ -2,7 +2,7 @@ pkgbase = fulcrum pkgdesc = A fast & nimble SPV server for Bitcoin Cash pkgver = 1.8.1 pkgrel = 1 - url = https://codeberg.com/Flowee/fulcrum + url = https://codeberg.org/Flowee/fulcrum install = fulcrum.install arch = x86_64 license = GPL3 @@ -15,6 +15,6 @@ pkgbase = fulcrum source = https://codeberg.org/Flowee/fulcrum/archive/v1.8.1.tar.gz source = fulcrum.conf sha256sums = 6215bc8b7c3f45e8da345e03bc62569c1fd4a8c9622dbe29ca7309af8bae004a - sha256sums = 8a559a825d0b7bcd1231669e387183f05794ae919bb1b7ef84a9d74e407ff598 + sha256sums = 7af8de6df023a2c06575e675de72af71abc1bdc74be6629c08aded63bf55ac1a pkgname = fulcrum @@ -4,7 +4,7 @@ pkgname=fulcrum pkgdesc='A fast & nimble SPV server for Bitcoin Cash' pkgver=1.8.1 pkgrel=1 -url='https://codeberg.com/Flowee/fulcrum' +url='https://codeberg.org/Flowee/fulcrum' arch=('x86_64') license=('GPL3') depends=( @@ -17,12 +17,11 @@ backup=('etc/fulcrum.conf') install=fulcrum.install provides=("$pkgname") source=( - "https://codeberg.org/Flowee/fulcrum/archive/v$pkgver.tar.gz" "fulcrum.conf" ) sha256sums=('6215bc8b7c3f45e8da345e03bc62569c1fd4a8c9622dbe29ca7309af8bae004a' - '8a559a825d0b7bcd1231669e387183f05794ae919bb1b7ef84a9d74e407ff598' + '7af8de6df023a2c06575e675de72af71abc1bdc74be6629c08aded63bf55ac1a' ) prepare() { diff --git a/fulcrum.conf b/fulcrum.conf index c1e22a50d4d1..f99b30370c56 100644 --- a/fulcrum.conf +++ b/fulcrum.conf @@ -58,7 +58,7 @@ datadir = /var/lib/fulcrum bitcoind = 127.0.0.1:8332 -# Bitcoin daemon RPC username - 'rpcuser' - REQUIRED +# Bitcoin daemon RPC username - 'rpcuser' - REQUIRED (unless rpccookie is specified) # # Specifies the username to use for authenticating to bitcoind. This is a # required option, along with 'bitcoind' and 'rpcpassword'. This option should @@ -72,7 +72,7 @@ bitcoind = 127.0.0.1:8332 rpcuser = Bob_The_Banker -# Bitcoin daemon RPC password - 'rpcpassword' - REQUIRED +# Bitcoin daemon RPC password - 'rpcpassword' - REQUIRED (unless rpccookie is specified) # # Specifies the password to use for authenticating to bitcoind. This is a # required option, along with 'bitcoind' and 'rpcuser'. This option should be @@ -86,6 +86,16 @@ rpcuser = Bob_The_Banker rpcpassword = hunter1 +# Bitcoin daemon RPC cookie file location - 'rpccookie' - DEFAULT: Not used +# +# An alternative to using rpcuser= and rpcpassword= is to use .cookie file +# authentication. This should the full path to your .cookie file in your +# bitcoind datadir. Do not specify this at the same time as "rpcuser" and +# "rpcpassword" +# +#rpccookie = /path/to/bitcoind/datadir/.cookie + + # Bitcoin daemon poll interval - 'polltime' - DEFAULT: 2.0 seconds # # The number of seconds for the bitcoind poll interval. Bitcoind is polled once @@ -160,7 +170,7 @@ rpcpassword = hunter1 # SSL certificate - 'cert' - DEFAULT: None (required for SSL) # -# Specifes the SSL certificate to use for all SSL ports. The certificate must be +# Specifies the SSL certificate to use for all SSL ports. The certificate must be # in PEM format. If using self-signed certs, the .pem file should contain a # single certificate. If using CA-signed certs, the .pem file should contain the # full certificate chain (e.g. fullchain.pem). @@ -210,8 +220,8 @@ rpcpassword = hunter1 # 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 +#admin = 8000 # <-- a port number by itself implies 127.0.0.1 +#admin = 127.0.0.1:8000 # HTTP stats bind - 'stats' - DEFAULT: None @@ -293,7 +303,7 @@ rpcpassword = hunter1 # # The "banner" text file to send to clients when they request the server banner. # Specify a file path to a server-readable UTF-8 encoded text file (maximum file -# lemgth: 16384 bytes). Typically Electron Cash clients ask for the server +# length: 16384 bytes). Typically Electron Cash clients ask for the server # banner (via the "server.banner" RPC method) when they first connect to your # server. They then display this text in the "Console" tab of the Electron Cash # GUI. Some server admins get creative with this file and include ASCII or emoji @@ -322,7 +332,7 @@ rpcpassword = hunter1 #------------------------------------------------------------------------------- -# PEER DISCOCERY AND PUBLIC SERVER OPTIONS +# PEER DISCOVERY AND PUBLIC SERVER OPTIONS #------------------------------------------------------------------------------- # Public hostname - 'hostname' - DEFAULT: Local IP address on server @@ -376,7 +386,7 @@ rpcpassword = hunter1 # Public WS port - 'public_ws_port' - DEFAULT: The first 'ws' port configured # # The server's public WS (Web Socket) port. This, along with 'hostname' and the -# varous 'public_*_port' variables are announced to clients and to other servers +# various 'public_*_port' variables are announced to clients and to other servers # engaged in peer discovery. The default for this variable is to simply use the # first WS port specified in the server configuration (if any). If you are # behind a firewall and doing some port remapping, then you definitely want to @@ -391,7 +401,7 @@ rpcpassword = hunter1 # Public WSS port - 'public_wss_port' - DEFAULT: The first 'wss' port configured # # The server's public WSS (Web Socket Secure) port. This, along with 'hostname' -# and the varous 'public_*_port' variables are announced to clients and to other +# and the various 'public_*_port' variables are announced to clients and to other # servers engaged in peer discovery. The default for this variable is to simply # use the first WSS port specified in the server configuration (if any). If you # are behind a firewall and doing some port remapping, then you definitely want @@ -439,7 +449,7 @@ rpcpassword = hunter1 # Tor hostname - 'tor_hostname' - DEFAULT: Nothing # -# If specifeid, and if you have a Tor proxy configured, and if you have at least +# If specified, 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. # @@ -513,7 +523,7 @@ rpcpassword = hunter1 # 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_proxy = 9050 # e.g. localhost 9050. IP addr or hostname ok too: 10.0.0.1:9150, fooproxy.com:9050, etc. #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 @@ -523,6 +533,28 @@ rpcpassword = hunter1 # ADVANCED OPTIONS #------------------------------------------------------------------------------- +# BitcoinD number of clients - 'bitcoind_clients' - DEFAULT: 3 +# +# The number of simultaneous bitcoin RPC clients that we spawn to connect to +# bitcoind's RPC port. If you raise this value from the default, be sure to also +# specify the option `rpcthreads=` in bitcoind's conf file (or `-rpcthreads=` on +# the CLI) in order to raise the number of concurrent RPC threads that bitcoind +# uses from the default of 4. You may also want to raise the bitcoind +# `-rpcworkqueue=` parameter above the default of 16 as well. +# +# In general, if you are using a recent version of BCHN with its improved +# JSON-RPC performance, increasing this number (and the corresponding +# -rpcthreads option in bitcoind) may yield better parallelism during initial DB +# synch as well as better performance for your clients. This number should not +# exceed the number of cores in your system, however, as performance may suffer +# in that case. Note that Bitcoin Core doesn't parallelize very well on its +# `getblocks` call due to the way it holds a global lock throughout the entire +# call, so if you are on BTC, your mileage may vary with how much extra +# performance you can get from more simultaneous clients specified here. +# +#bitcoind_clients = 3 + + # BitcoinD request throttling - 'bitcoind_throttle - DEFAULT: 50 20 5 # # This is an advanced parameter added to Fulcrum v1.0.4 to control and rate- @@ -542,7 +574,7 @@ rpcpassword = hunter1 # requests that have not yet returned results, and the number of such requests # hits this limit, then the client will be throttled for at least 200 # milliseconds, or until the "low water mark" of extant request is reached -# (whichever is longer). In other words, the throttling is acheived by pausing +# (whichever is longer). In other words, the throttling is achieved by pausing # all further processing of requests for that client, until either 200 ms # has elapsed or the "low-water mark" for outstanding requests (default 20) is # hit. The default value (50) for this burst parameter is a decent value that is @@ -561,7 +593,7 @@ rpcpassword = hunter1 #bitcoind_throttle = 50 20 5 -# BitcoinD RPC Timeout - 'bitcoind_timeout' - DEFAULT: 20.0 +# BitcoinD RPC Timeout - 'bitcoind_timeout' - DEFAULT: 30.0 # # The number of seconds to wait for unanswered bitcoind requests before we # consider them as having timed-out. If the bitcoind we are connected to is in @@ -573,7 +605,7 @@ rpcpassword = hunter1 # If you see the error message "bitcoind request timed out" in the log, you may # wish to set this value higher than the default. # -#bitcoind_timeout = 20.0 +#bitcoind_timeout = 30.0 # Bitcoin daemon RPC uses TLS (HTTPS) - 'bitcoind-tls' - DEFAULT: false @@ -595,7 +627,7 @@ rpcpassword = hunter1 # db_keep_log_file_num = 5 -# Max RocksDB Open Files - 'db_max_open_files' - DEFAULT: 100 +# Max RocksDB Open Files - 'db_max_open_files' - DEFAULT: 40 # # The maximum number of database .sst files (table files) to keep open, per # database (there are 6 databases altogether used in Fulcrum). This limit can be @@ -612,10 +644,10 @@ rpcpassword = hunter1 # # Specify -1 for unlimited, or a value in the range 20, 2147483648. # -# db_max_open_files = 100 +# db_max_open_files = 40 -# Max RocksDB Memory in MiB - 'db_mem' - DEFAULT: 768.0 +# Max RocksDB Memory in MiB - 'db_mem' - DEFAULT: 512.0 # # Specifies roughly the maximum amount of memory to give to rocksdb. Larger # values offer better performance, at the expense of memory consumption. Note @@ -628,7 +660,7 @@ rpcpassword = hunter1 # works well on an SSD. If using an HDD for the datadir, you may want to set # this value higher than the default. # -# db_mem = 768.0 +# db_mem = 512.0 # RocksDB use "fsync" - 'db_use_fsync' - DEFAULT: false @@ -650,7 +682,44 @@ rpcpassword = hunter1 # db_use_fsync = false -# Maximum transmission backlog size - 'max_buffer' - DEFAULT: 4000000 +# Fast sync = 'fast-sync' - DEFAULT: 0 +# +# If specified, Fulcrum will use a UTXO Cache that consumes extra memory but +# syncs up to to 2X faster. To use this feature, you must specify a memory value +# in MB to allocate to the cache. It is recommended that you give this facility +# at least 2000 MB for it to really pay off, although any amount of memory given +# (minimum 200 MB) should be beneficial. Note that this feature is currently +# experimental and the tradeoffs are: it is faster because it avoids redundant +# disk I/O, however, this comes at the price of considerable memory consumption +# as well as a sync that is less resilient to crashes mid-sync. If the process +# is killed mid-sync, the database may become corrupt and lose UTXO data. Use +# this feature only if you are 100% sure that won't happen during a sync. +# Specify as much memory as you can, in MB, here, e.g.: 3000 to allocate 3000 MB +# (3 GB). The default is off (0). This option only takes effect on initial sync, +# otherwise this option has no effect. +# +#fast-sync = 0 + + +# Maximum batch size (per IP) - 'max_batch' - DEFAULT: 345 +# +# The maximum size of JSON-RPC batch requests to the server. Set this to 0 +# to unconditionally disable JSON-RPC batch requests server-wide. +# +# This configurable limit is in place as a DoS-prevention measure. If nonzero, +# this limit is applied to non-whitelisted clients (clients whose IP is not +# in `subnets_to_exclude_from_per_ip_limits`). +# +# The limit is a total limit for all batch requests active from a particular +# IP address. For example, if max_batch = 99, and there are 4 connections from +# a single IP address, with each client from that IP simultaneously sending a +# batch request of size 25, then it's possible for 1 or more of the requests +# to be rejected (100 > 99). +# +#max_batch = 345 + + +# Maximum transmission backlog size - 'max_buffer' - DEFAULT: 8000000 # # The maximum size in bytes of the transmission buffer "backlog" (send and # receive) per client. This limit is a simple sanity check against DoS and/or @@ -676,7 +745,7 @@ rpcpassword = hunter1 # connected clients using the 'maxbuffer' FulcrumAdmin command, and it will be # applied immediately to all connected clients. # -#max_buffer = 4000000 +#max_buffer = 8000000 # Max client connections per IP - 'max_clients_per_ip' - DEFAULT: 12 @@ -712,7 +781,7 @@ rpcpassword = hunter1 # address histories from impacting the performance of the server and using up # resources. Moreover, it can be argued that such users with such # computationally expensive histories are better served running a full node -# themesleves, rather than relying on a public SPV server and/or light wallet +# themseleves, rather than relying on a public SPV server and/or light wallet # system. # # Note that there are some addresses on the chain whose histories exceed 7.5 @@ -722,7 +791,7 @@ rpcpassword = hunter1 # excessive requests are made for such large histories (if this limit were not # in place). # -# This value may be set to any positive integer in the range: [1000, 100000000]. +# This value may be set to any positive integer in the range: [1000, 25000000]. # #max_history = 125000 @@ -740,6 +809,36 @@ rpcpassword = hunter1 #max_pending_connections = 60 +# Maximum reorg depth - 'max_reorg' - DEFAULT: 100 +# +# The maximum number of blocks we can rewind back on chain reorg. This setting +# defines how many block undo entries we store in the database. Setting this +# above value beyond the default allows for Fulcrum to support >100-block deep- +# reorgs without requiring a resynch, at the expense of some disk space. +# +# Older Fulcrum versions had this value hard-coded to 100, which is now the +# minimum value for this setting. The maximum value you can specify here is +# 500,000 which is an obscenely high value, since one normally doesn't +# anticipate switching to another chain whose most recent common ancestor block +# is >500,000 blocks deep. Note that large values here simply use up more disk +# space and may affect block synch time, but otherwise have no other negative +# effect. If you are on a test chain or are on a network where you anticipate +# reorgs larger than 100 blocks, you may wish to set this value higher than the +# default. +# +# Note: If you do set this number higher than the default, then using the same +# datadir with an older Fulcrum version may lead to wasted disk space, since +# versions of Fulcrum prior to 1.3.2 used a hard-coded value of 100 for +# max_reorg. As such, running a version of Fulcrum prior to 1.3.2 on a datadir +# set up with max_reorg > 100 may mean that the old Fulcrum version will not +# properly clean up old undo entries, thus wasting a little bit of disk space. +# (If you then run a newer Fulcrum version again, however, the situation will +# resolve itself at that time -- so it's not a huge deal; it just is worth +# mentioning here). +# +#max_reorg = 100 + + # Maximum subscriptions (global limit) - 'max_subs' - DEFAULT: 10000000 # # The maximum number of simultaneous script hash subscription that the server @@ -754,7 +853,7 @@ rpcpassword = hunter1 #max_subs = 10000000 -# Maximum subscriptions (per-IP address) - 'max_subs_per_ip' - DEFAULT: 50000 +# Maximum subscriptions (per-IP address) - 'max_subs_per_ip' - DEFAULT: 75000 # # The maximum number of script hash subscriptions per IP address. Note that IP # addresses matching 'subnets_to_exclude_from_per_ip_limits' will not be @@ -764,7 +863,7 @@ rpcpassword = hunter1 # If a client attempts to subscribe beyond this limit for all the connections # coming from their IP address, it will receive an error message. # -#max_subs_per_ip = 50000 +#max_subs_per_ip = 75000 # Peer IP uniqueness enforcement - 'peering_enforce_unique_ip' - DEFAULT: true @@ -823,7 +922,26 @@ rpcpassword = hunter1 # -# Work queue size - 'workqueue' - DEFAULT: 10000 +# Tx hash cache size MB - 'txhash_cache' - DEFAULT: 128 +# +# Specifies the amount of memory in MB to use for the txhash cache. The txhash +# cache is used to speed up processing for get_merkle, get_history, listunspent, +# and subscribe requests. +# +# On a memory-constrained system you may wish to lower this value, at the +# expense of server responsiveness (lower limit: 20 MB). On a large memory +# system, you may wish to raise this value, to increase server responsiveness +# (upper limit: 2000 MB). +# +# To view the current state of the txhash cache (which is actually divided up +# into 2 separate caches), use the FulcrumAdmin `getinfo` command. The caches +# appear under "storage_stats" -> "caches" and are labelled with the string +# "TxHash" appearing somewhere in their names. +# +#txhash_cache = 128 + + +# Work queue size - 'workqueue' - DEFAULT: 15000 # # The maximum size of the work queue. Requests from clients that require further # processing (such as get_merkle, get_history, listunspent, etc) all end up @@ -835,7 +953,7 @@ rpcpassword = hunter1 # # It is an error to set this parameter to less than 10. # -#workqueue = 10000 +#workqueue = 15000 # Work queue threads - 'worker_threads' - DEFAULT: 0 (= autodetect # of CPUs) |