ETH测试网全节点和BTC测试网全节点(搭建)

ETH测试链

前置条件

Geth下载: https://geth.ethereum.org/downloads
在上面网站中找到符合对应服务器的geth

wget https://gethstore.blob.core.windows.net/builds/geth-linux-amd64-1.14.7-aa55f5ea.tar.gz

测试链(sepolia)

现在开发测试环境用的是sepolia链,所以同步的时候选择sepolia

最低配置(Minimum):

  • CPU with 2+ cores
  • 4GB RAM
  • 1TB free storage space to sync the Mainnet
  • 8 MBit/sec download Internet service

建议配置(Recommended):

  • Fast CPU with 4+ cores
  • 16GB+ RAM
  • High-performance SSD with at least 1TB of free space
  • 25+ MBit/sec download Internet service

启动节点

mkdir -p ~/eth/full-node/ ~/eth/prysm/consensus ~/eth/prysm/execution   ~/eth/data

cd  ~/eth/prysm/consensus

// install Prysm
curl https://raw.githubusercontent.com/prysmaticlabs/prysm/master/prysm.sh --output prysm.sh && chmod +x prysm.sh

//这里会生成 jwt.hex 文件
./prysm.sh beacon-chain generate-auth-secret

mv jwt.hex ../jwt.hex

cd ~/eth/full-node/

//checksum(md5) 4b989aebe144f6e12cc7a4e9c9c487df
wget https://gethstore.blob.core.windows.net/builds/geth-linux-amd64-1.14.7-aa55f5ea.tar.gz

tar -zxvf geth-linux-amd64-1.14.7-aa55f5ea.tar.gz

cd geth-linux-amd64-1.14.7-aa55f5ea

//启动执行客户端 建议使用nohup 或者 开一个screen 来运行节点
./geth --sepolia --syncmode snap --datadir ~/eth/data  --http  --http.port "26685"  --http.addr "0.0.0.0"  --http.api "db,eth,net,web3,personal" 
--authrpc.jwtsecret=~/eth/prysm/jwt.hex --cache "1024"

//启动共识客户端
cd ~/eth/prysm/consensus

./prysm.sh beacon-chain --execution-endpoint=http://localhost:8551 --sepolia --jwt-secret=~/eth/prysm/jwt.hex  --checkpoint-sync-url=https://sepolia.beaconstate.info --genesis-beacon-api-url=https://sepolia.beaconstate.info

BTC测试链

说明

启动节点是通过加载 bitcoin.conf文件的方式来启动,bitcoin.conf默认的加载路径是
 $HOME/.bitcoin/bitcoin.conf

测试链(testnet)

服务器配置

最低配置(Minimum):

  • CPU with 2+ cores
  • 4GB RAM
  • 500GB free storage space

建议配置(Recommended):

  • CPU with 4+ cores
  • 8GB+ RAM
  • 500GB free storage space

bitcoin.conf 配置文件

testnet=1
# Options for testnet
[test]
discover=0
//todo 这里的 rpcuser和 rpcpassword需要修改
rpcuser=user 
rpcpassword=password 
rpcport=8332 
rpcallowip=0.0.0.0/0
txindex=1
server=1
whitelistforcerelay=1
whitelist=0.0.0.0/0
daemon=1
  datadir=/home/app/btc/data

启动节点

mkdir -p ~/btc/full-node    ~/btc/data

cd ~/btc/full-node 

//具体可根据服务器从 https://bitcoincore.org/bin/bitcoin-core-27.1 中选择
wget https://bitcoincore.org/bin/bitcoin-core-27.1/bitcoin-27.1-x86_64-linux-gnu.tar.gz

tar -zxvf bitcoin-27.1-x86_64-linux-gnu.tar.gz

cd  bitcoin-27.1-x86_64-linux-gnu/bin

// bitcoin.conf 如果是在$HOME/.bitcoin/bitcoin.conf,那么启动命令的 --conf 可以不加, -daemon 表示以守护线程的方式启动节点
./bitcoind --conf=/home/app/bitcoin.conf  -daemon

Bitcoin.conf解释说明

##
## bitcoin.conf configuration file.
## Generated by contrib/devtools/gen-bitcoin-conf.sh.
##
## Lines beginning with # are comments.
## All possible configuration options are provided. To use, copy this file
## to your data directory (default or specified by -datadir), uncomment
## options you would like to change, and save the file.
##


### Options


# Execute command when an alert is raised (%s in cmd is replaced by
# message)
#alertnotify=<cmd>

# For backwards compatibility, treat an unused bitcoin.conf file in the
# datadir as a warning, not an error.
#allowignoredconf=1

# If this block is in the chain assume that it and its ancestors are valid
# and potentially skip their script verification (0 to verify all,
# default:
# 00000000000000000001a0a448d6cf2546b06801389cc030b2b18c6491266815,
# testnet:
# 0000000000000093bcb68c03a9a168ae252572d348a2eaeba2cdf9231d73206f,
# signet:
# 0000013d778ba3f914530f11f6b69869c9fab54acff85acd7b8201d111f19b7f)
#assumevalid=<hex>

# Maintain an index of compact filters by block (default: 0, values:
# basic). If <type> is not supplied or if <type> = 1, indexes for
# all known types are enabled.
#blockfilterindex=<type>

# Execute command when the best block changes (%s in cmd is replaced by
# block hash)
#blocknotify=<cmd>

# Extra transactions to keep in memory for compact block reconstructions
# (default: 100)
#blockreconstructionextratxn=<n>

# Specify directory to hold blocks subdirectory for *.dat files (default:
# <datadir>)
#blocksdir=<dir>

# Whether to reject transactions from network peers. Automatic broadcast
# and rebroadcast of any transactions from inbound peers is
# disabled, unless the peer has the 'forcerelay' permission. RPC
# transactions are not affected. (default: 0)
#blocksonly=1

# Maintain coinstats index used by the gettxoutsetinfo RPC (default: 0)
#coinstatsindex=1

# Specify path to read-only configuration file. Relative paths will be
# prefixed by datadir location (only useable from command line, not
# configuration file) (default: bitcoin.conf)
#conf=<file>

# Run in the background as a daemon and accept commands (default: 0)
#daemon=1

# Wait for initialization to be finished before exiting. This implies
# -daemon (default: 0)
#daemonwait=1

# Specify data directory
#datadir=<dir>

# Maximum database cache size <n> MiB (4 to 16384, default: 450). In
# addition, unused mempool memory is shared for this cache (see
# -maxmempool).
#dbcache=<n>

# Specify location of debug log file (default: debug.log). Relative paths
# will be prefixed by a net-specific datadir location. Pass
# -nodebuglogfile to disable writing the log to a file.
#debuglogfile=<file>

# Specify additional configuration file, relative to the -datadir path
# (only useable from configuration file, not command line)
#includeconf=<file>

# Imports blocks from external file on startup
#loadblock=<file>

# Keep the transaction memory pool below <n> megabytes (default: 300)
#maxmempool=<n>

# Keep at most <n> unconnectable transactions in memory (default: 100)
#maxorphantx=<n>

# Do not keep transactions in the mempool longer than <n> hours (default:
# 336)
#mempoolexpiry=<n>

# Set the number of script verification threads (0 = auto, up to 15, <0 =
# leave that many cores free, default: 0)
#par=<n>

# Whether to save the mempool on shutdown and load on restart (default: 1)
#persistmempool=1

# Specify pid file. Relative paths will be prefixed by a net-specific
# datadir location. (default: bitcoind.pid)
#pid=<file>

# Reduce storage requirements by enabling pruning (deleting) of old
# blocks. This allows the pruneblockchain RPC to be called to
# delete specific blocks and enables automatic pruning of old
# blocks if a target size in MiB is provided. This mode is
# incompatible with -txindex. Warning: Reverting this setting
# requires re-downloading the entire blockchain. (default: 0 =
# disable pruning blocks, 1 = allow manual pruning via RPC, >=550 =
# automatically prune block files to stay under the specified
# target size in MiB)
#prune=<n>

# If enabled, wipe chain state and block index, and rebuild them from
# blk*.dat files on disk. Also wipe and rebuild other optional
# indexes that are active. If an assumeutxo snapshot was loaded,
# its chainstate will be wiped as well. The snapshot can then be
# reloaded via RPC.
#reindex=1

# If enabled, wipe chain state, and rebuild it from blk*.dat files on
# disk. If an assumeutxo snapshot was loaded, its chainstate will
# be wiped as well. The snapshot can then be reloaded via RPC.
#reindex-chainstate=1

# Specify path to dynamic settings data file. Can be disabled with
# -nosettings. File is written at runtime and not meant to be
# edited by users (use bitcoin.conf instead for custom settings).
# Relative paths will be prefixed by datadir location. (default:
# settings.json)
#settings=<file>

# Execute command immediately before beginning shutdown. The need for
# shutdown may be urgent, so be careful not to delay it long (if
# the command doesn't require interaction with the server, consider
# having it fork into the background).
#shutdownnotify=<cmd>

# Execute command on startup.
#startupnotify=<cmd>

# Maintain a full transaction index, used by the getrawtransaction rpc
# call (default: 0)
#txindex=1

# Print version and exit
#version=1


### Connection options


# Add a node to connect to and attempt to keep the connection open (see
# the addnode RPC help for more info). This option can be specified
# multiple times to add multiple nodes; connections are limited to
# 8 at a time and are counted separately from the -maxconnections
# limit.
#addnode=<ip>

# Specify asn mapping used for bucketing of the peers (default:
# ip_asn.map). Relative paths will be prefixed by the net-specific
# datadir location.
#asmap=<file>

# Default duration (in seconds) of manually configured bans (default:
# 86400)
#bantime=<n>

# Bind to given address and always listen on it (default: 0.0.0.0). Use
# [host]:port notation for IPv6. Append =onion to tag any incoming
# connections to that address and port as incoming Tor connections
# (default: 127.0.0.1:8334=onion, testnet: 127.0.0.1:18334=onion,
# signet: 127.0.0.1:38334=onion, regtest: 127.0.0.1:18445=onion)
#bind=<addr>[:<port>][=onion]

# If set, then this host is configured for CJDNS (connecting to fc00::/8
# addresses would lead us to the CJDNS network, see doc/cjdns.md)
# (default: 0)
#cjdnsreachable=1

# Connect only to the specified node; -noconnect disables automatic
# connections (the rules for this peer are the same as for
# -addnode). This option can be specified multiple times to connect
# to multiple nodes.
#connect=<ip>

# Discover own IP addresses (default: 1 when listening and no -externalip
# or -proxy)
#discover=1

# Allow DNS lookups for -addnode, -seednode and -connect (default: 1)
#dns=1

# Query for peer addresses via DNS lookup, if low on addresses (default: 1
# unless -connect used or -maxconnections=0)
#dnsseed=1

# Specify your own public address
#externalip=<ip>

# Allow fixed seeds if DNS seeds don't provide peers (default: 1)
#fixedseeds=1

# Always query for peer addresses via DNS lookup (default: 0)
#forcednsseed=1

# Whether to accept inbound I2P connections (default: 1). Ignored if
# -i2psam is not set. Listening for inbound I2P connections is done
# through the SAM proxy, not by binding to a local address and
# port.
#i2pacceptincoming=1

# I2P SAM proxy to reach I2P peers and accept I2P connections (default:
# none)
#i2psam=<ip:port>

# Accept connections from outside (default: 1 if no -proxy, -connect or
# -maxconnections=0)
#listen=1

# Automatically create Tor onion service (default: 1)
#listenonion=1

# Maintain at most <n> connections to peers (default: 125). This limit
# does not apply to connections manually added via -addnode or the
# addnode RPC, which have a separate limit of 8.
#maxconnections=<n>

# Maximum per-connection receive buffer, <n>*1000 bytes (default: 5000)
#maxreceivebuffer=<n>

# Maximum per-connection memory usage for the send buffer, <n>*1000 bytes
# (default: 1000)
#maxsendbuffer=<n>

# Maximum allowed median peer time offset adjustment. Local perspective of
# time may be influenced by outbound peers forward or backward by
# this amount (default: 4200 seconds).
#maxtimeadjustment=1

# Tries to keep outbound traffic under the given target per 24h. Limit
# does not apply to peers with 'download' permission or blocks
# created within past week. 0 = no limit (default: 0M). Optional
# suffix units [k|K|m|M|g|G|t|T] (default: M). Lowercase is 1000
# base while uppercase is 1024 base
#maxuploadtarget=<n>

# Use NAT-PMP to map the listening port (default: 0)
#natpmp=1

# Enable all P2P network activity (default: 1). Can be changed by the
# setnetworkactive RPC command
#networkactive=1

# Use separate SOCKS5 proxy to reach peers via Tor onion services, set
# -noonion to disable (default: -proxy)
#onion=<ip:port>

# Make automatic outbound connections only to network <net> (ipv4, ipv6,
# onion, i2p, cjdns). Inbound and manual connections are not
# affected by this option. It can be specified multiple times to
# allow multiple networks.
#onlynet=<net>

# Serve compact block filters to peers per BIP 157 (default: 0)
#peerblockfilters=1

# Support filtering of blocks and transaction with bloom filters (default:
# 0)
#peerbloomfilters=1

# Listen for connections on <port>. Nodes not using the default ports
# (default: 8333, testnet: 18333, signet: 38333, regtest: 18444)
# are unlikely to get incoming connections. Not relevant for I2P
# (see doc/i2p.md).
#port=<port>

# Connect through SOCKS5 proxy, set -noproxy to disable (default:
# disabled)
#proxy=<ip:port>

# Randomize credentials for every proxy connection. This enables Tor
# stream isolation (default: 1)
#proxyrandomize=1

# Connect to a node to retrieve peer addresses, and disconnect. This
# option can be specified multiple times to connect to multiple
# nodes.
#seednode=<ip>

# Specify socket connection timeout in milliseconds. If an initial attempt
# to connect is unsuccessful after this amount of time, drop it
# (minimum: 1, default: 5000)
#timeout=<n>

# Tor control host and port to use if onion listening enabled (default:
# 127.0.0.1:9051). If no port is specified, the default port of
# 9051 will be used.
#torcontrol=<ip>:<port>

# Tor control port password (default: empty)
#torpassword=<pass>

# Use UPnP to map the listening port (default: 1 when listening and no
# -proxy)
#upnp=1

# Support v2 transport (default: 0)
#v2transport=1

# Bind to the given address and add permission flags to the peers
# connecting to it. Use [host]:port notation for IPv6. Allowed
# permissions: bloomfilter (allow requesting BIP37 filtered blocks
# and transactions), noban (do not ban for misbehavior; implies
# download), forcerelay (relay transactions that are already in the
# mempool; implies relay), relay (relay even in -blocksonly mode,
# and unlimited transaction announcements), mempool (allow
# requesting BIP35 mempool contents), download (allow getheaders
# during IBD, no disconnect after maxuploadtarget limit), addr
# (responses to GETADDR avoid hitting the cache and contain random
# records with the most up-to-date info). Specify multiple
# permissions separated by commas (default:
# download,noban,mempool,relay). Can be specified multiple times.
#whitebind=<[permissions@]addr>

# Add permission flags to the peers connecting from the given IP address
# (e.g. 1.2.3.4) or CIDR-notated network (e.g. 1.2.3.0/24). Uses
# the same permissions as -whitebind. Can be specified multiple
# times.
#whitelist=<[permissions@]IP address or network>


### Wallet options


# What type of addresses to use ("legacy", "p2sh-segwit", "bech32", or
# "bech32m", default: "bech32")
#addresstype=1

# Group outputs by address, selecting many (possibly all) or none, instead
# of selecting on a per-output basis. Privacy is improved as
# addresses are mostly swept with fewer transactions and outputs
# are aggregated in clean change addresses. It may result in higher
# fees due to less optimal coin selection caused by this added
# limitation and possibly a larger-than-necessary number of inputs
# being used. Always enabled for wallets with "avoid_reuse"
# enabled, otherwise default: 0.
#avoidpartialspends=1

# What type of change to use ("legacy", "p2sh-segwit", "bech32", or
# "bech32m"). Default is "legacy" when -addresstype=legacy, else it
# is an implementation detail.
#changetype=1

# The maximum feerate (in BTC/kvB) at which transaction building may use
# more inputs than strictly necessary so that the wallet's UTXO
# pool can be reduced (default: 0.0001).
#consolidatefeerate=<amt>

# Do not load the wallet and disable wallet RPC calls
#disablewallet=1

# The fee rate (in BTC/kvB) that indicates your tolerance for discarding
# change by adding it to the fee (default: 0.0001). Note: An output
# is discarded if it is dust at this rate, but we will always
# discard up to the dust relay fee and a discard fee above that is
# limited by the fee estimate for the longest target
#discardfee=<amt>

# A fee rate (in BTC/kvB) that will be used when fee estimation has
# insufficient data. 0 to entirely disable the fallbackfee feature.
# (default: 0.00)
#fallbackfee=<amt>

# Set key pool size to <n> (default: 1000). Warning: Smaller sizes may
# increase the risk of losing funds when restoring from an old
# backup, if none of the addresses in the original keypool have
# been used.
#keypool=<n>

# Spend up to this amount in additional (absolute) fees (in BTC) if it
# allows the use of partial spend avoidance (default: 0.00)
#maxapsfee=<n>

# Fee rates (in BTC/kvB) smaller than this are considered zero fee for
# transaction creation (default: 0.00001)
#mintxfee=<amt>

# Fee rate (in BTC/kvB) to add to transactions you send (default: 0.00)
#paytxfee=<amt>

# External signing tool, see doc/external-signer.md
#signer=<cmd>

# Spend unconfirmed change when sending transactions (default: 1)
#spendzeroconfchange=1

# If paytxfee is not set, include enough fee so transactions begin
# confirmation on average within n blocks (default: 6)
#txconfirmtarget=<n>

# Specify wallet path to load at startup. Can be used multiple times to
# load multiple wallets. Path is to a directory containing wallet
# data and log files. If the path is not absolute, it is
# interpreted relative to <walletdir>. This only loads existing
# wallets and does not create new ones. For backwards compatibility
# this also accepts names of existing top-level data files in
# <walletdir>.
#wallet=<path>

# Make the wallet broadcast transactions (default: 1)
#walletbroadcast=1

# Specify directory to hold wallets (default: <datadir>/wallets if it
# exists, otherwise <datadir>)
#walletdir=<dir>

# Execute command when a wallet transaction changes. %s in cmd is replaced
# by TxID, %w is replaced by wallet name, %b is replaced by the
# hash of the block including the transaction (set to 'unconfirmed'
# if the transaction is not included) and %h is replaced by the
# block height (-1 if not included). %w is not currently
# implemented on windows. On systems where %w is supported, it
# should NOT be quoted because this would break shell escaping used
# to invoke the command.
#walletnotify=<cmd>

# Send transactions with full-RBF opt-in enabled (RPC only, default: 1)
#walletrbf=1


### ZeroMQ notification options


# Enable publish hash block in <address>
#zmqpubhashblock=<address>

# Set publish hash block outbound message high water mark (default: 1000)
#zmqpubhashblockhwm=<n>

# Enable publish hash transaction in <address>
#zmqpubhashtx=<address>

# Set publish hash transaction outbound message high water mark (default:
# 1000)
#zmqpubhashtxhwm=<n>

# Enable publish raw block in <address>
#zmqpubrawblock=<address>

# Set publish raw block outbound message high water mark (default: 1000)
#zmqpubrawblockhwm=<n>

# Enable publish raw transaction in <address>
#zmqpubrawtx=<address>

# Set publish raw transaction outbound message high water mark (default:
# 1000)
#zmqpubrawtxhwm=<n>

# Enable publish hash block and tx sequence in <address>
#zmqpubsequence=<address>

# Set publish hash sequence message high water mark (default: 1000)
#zmqpubsequencehwm=<n>


### Debugging/Testing options


# Output debug and trace logging (default: -nodebug, supplying <category>
# is optional). If <category> is not supplied or if <category> = 1,
# output all debug and trace logging. <category> can be: addrman,
# bench, blockstorage, cmpctblock, coindb, estimatefee, http, i2p,
# ipc, leveldb, libevent, mempool, mempoolrej, net, proxy, prune,
# qt, rand, reindex, rpc, scan, selectcoins, tor, txpackages,
# txreconciliation, util, validation, walletdb, zmq. This option
# can be specified multiple times to output multiple categories.
#debug=<category>

# Exclude debug and trace logging for a category. Can be used in
# conjunction with -debug=1 to output debug and trace logging for
# all categories except the specified category. This option can be
# specified multiple times to exclude multiple categories.
#debugexclude=<category>

# Print help message with debugging options and exit
#help-debug=1

# Include IP addresses in debug output (default: 0)
#logips=1

# Prepend debug output with name of the originating source location
# (source file, line number and function name) (default: 0)
#logsourcelocations=1

# Prepend debug output with name of the originating thread (only available
# on platforms supporting thread_local) (default: 0)
#logthreadnames=1

# Prepend debug output with timestamp (default: 1)
#logtimestamps=1

# Maximum total fees (in BTC) to use in a single wallet transaction;
# setting this too low may abort large transactions (default: 0.10)
#maxtxfee=<amt>

# Send trace/debug info to console (default: 1 when no -daemon. To disable
# logging to file, set -nodebuglogfile)
#printtoconsole=1

# Shrink debug.log file on client startup (default: 1 when no -debug)
#shrinkdebugfile=1

# Append comment to the user agent string
#uacomment=<cmt>


### Chain selection options


# Use the chain <chain> (default: main). Allowed values: main, test,
# signet, regtest
#chain=<chain>

# Use the signet chain. Equivalent to -chain=signet. Note that the network
# is defined by the -signetchallenge parameter
#signet=1

# Blocks must satisfy the given script to be considered valid (only for
# signet networks; defaults to the global default signet test
# network challenge)
#signetchallenge=1

# Specify a seed node for the signet network, in the hostname[:port]
# format, e.g. sig.net:1234 (may be used multiple times to specify
# multiple seed nodes; defaults to the global default signet test
# network seed node(s))
#signetseednode=1

# Use the test chain. Equivalent to -chain=test.
#testnet=1


### Node relay options


# Equivalent bytes per sigop in transactions for relay and mining
# (default: 20)
#bytespersigop=1

# Relay and mine data carrier transactions (default: 1)
#datacarrier=1

# Relay and mine transactions whose data-carrying raw scriptPubKey is of
# this size or less (default: 83)
#datacarriersize=1

# Accept transaction replace-by-fee without requiring replaceability
# signaling (default: 0)
#mempoolfullrbf=1

# Fees (in BTC/kvB) smaller than this are considered zero fee for
# relaying, mining and transaction creation (default: 0.00001)
#minrelaytxfee=<amt>

# Relay non-P2SH multisig (default: 1)
#permitbaremultisig=1

# Add 'forcerelay' permission to whitelisted inbound peers with default
# permissions. This will relay transactions even if the
# transactions were already in the mempool. (default: 0)
#whitelistforcerelay=1

# Add 'relay' permission to whitelisted inbound peers with default
# permissions. This will accept relayed transactions even when not
# relaying transactions (default: 1)
#whitelistrelay=1


### Block creation options


# Set maximum BIP141 block weight (default: 3996000)
#blockmaxweight=<n>

# Set lowest fee rate (in BTC/kvB) for transactions to be included in
# block creation. (default: 0.00001)
#blockmintxfee=<amt>


### RPC server options


# Accept public REST requests (default: 0)
#rest=1

# Allow JSON-RPC connections from specified source. Valid values for <ip>
# are a single IP (e.g. 1.2.3.4), a network/netmask (e.g.
# 1.2.3.4/255.255.255.0), a network/CIDR (e.g. 1.2.3.4/24), all
# ipv4 (0.0.0.0/0), or all ipv6 (::/0). This option can be
# specified multiple times
#rpcallowip=<ip>

# Username and HMAC-SHA-256 hashed password for JSON-RPC connections. The
# field <userpw> comes in the format: <USERNAME>:<SALT>$<HASH>. A
# canonical python script is included in share/rpcauth. The client
# then connects normally using the
# rpcuser=<USERNAME>/rpcpassword=<PASSWORD> pair of arguments. This
# option can be specified multiple times
#rpcauth=<userpw>

# Bind to given address to listen for JSON-RPC connections. Do not expose
# the RPC server to untrusted networks such as the public internet!
# This option is ignored unless -rpcallowip is also passed. Port is
# optional and overrides -rpcport. Use [host]:port notation for
# IPv6. This option can be specified multiple times (default:
# 127.0.0.1 and ::1 i.e., localhost)
#rpcbind=<addr>[:port]

# Location of the auth cookie. Relative paths will be prefixed by a
# net-specific datadir location. (default: data dir)
#rpccookiefile=<loc>

# Password for JSON-RPC connections
#rpcpassword=<pw>

# Listen for JSON-RPC connections on <port> (default: 8332, testnet:
# 18332, signet: 38332, regtest: 18443)
#rpcport=<port>

# Sets the serialization of raw transaction or block hex returned in
# non-verbose mode, non-segwit(0) (DEPRECATED) or segwit(1)
# (default: 1)
#rpcserialversion=1

# Set the number of threads to service RPC calls (default: 4)
#rpcthreads=<n>

# Username for JSON-RPC connections
#rpcuser=<user>

# Set a whitelist to filter incoming RPC calls for a specific user. The
# field <whitelist> comes in the format: <USERNAME>:<rpc 1>,<rpc
# 2>,...,<rpc n>. If multiple whitelists are set for a given user,
# they are set-intersected. See -rpcwhitelistdefault documentation
# for information on default whitelist behavior.
#rpcwhitelist=<whitelist>

# Sets default behavior for rpc whitelisting. Unless rpcwhitelistdefault
# is set to 0, if any -rpcwhitelist is set, the rpc server acts as
# if all rpc users are subject to empty-unless-otherwise-specified
# whitelists. If rpcwhitelistdefault is set to 1 and no
# -rpcwhitelist is set, rpc server acts as if all rpc users are
# subject to empty whitelists.
#rpcwhitelistdefault=1

# Accept command line and JSON-RPC commands
#server=1


# [Sections]
# Most options will apply to all networks. To confine an option to a specific
# network, add it under the relevant section below.
#
# Note: If not specified under a network section, the options addnode, connect,
# port, bind, rpcport, rpcbind, and wallet will only apply to mainnet.

# Options for mainnet
[main]

# Options for testnet
[test]

# Options for signet
[signet]

# Options for regtest
[regtest]





比特币核心守护程序版本v0.17.1
用法:bitcoind [options]启动比特币核心守护进程
选项:
   - ?
       打印此帮助信息并退出
  -alertnotify = <CMD>
       收到相关警报或我们真的看到时执行命令
       long fork(cmd中的%s被消息替换)
  -assumevalid = <六角>
       如果该块在链中,则认为它及其祖先是有效的
       并可能跳过他们的脚本验证(0来验证所有,
       默认:
       0000000000000000002e63058c023a9a1de233554f28c7b21380b6c9003f36a8,
       testnet:
       0000000000000037a8cd3e06cd5edbfe9dd1dbcc5dacab279376ef7cfc2b4c75)
  -blocknotify = <CMD>
       最佳块更改时执行命令(cmd中的%s替换为
       块哈希)
  -blockreconstructionextratxn = <N>
       为紧凑块重建保留在内存中的额外事务
       (默认值:100)
  -blocksdir = <DIR>
       指定块目录(默认值:<datadir> / blocks)
  -conf = <文件>
       指定配置文件。相对路径将以datadir为前缀
       地点。 (默认:bitcoin.conf)
  -datadir = <DIR>
       指定数据目录
  -dbcache = <N>
       设置数据库缓存大小(以兆字节为单位)(4到16384,默认值:450)
  -debuglogfile = <文件>
       指定调试日志文件的位置。相对路径将以a为前缀
       特定于网络的数据库位置。 (-nodebuglogfile禁用;
       默认值:debug.log)
  -includeconf = <文件>
       指定相对于-datadir路径的其他配置文件
       (仅可从配置文件使用,不能使用命令行)
  -loadblock = <文件>
       在启动时从外部blk000 ??。dat文件导入块
  -maxmempool = <N>
       将事务内存池保持在<n>兆字节以下(默认值:300)
  -maxorphantx = <N>
       在内存中保留最多<n>个不可连接的事务(默认值:100)
  -mempoolexpiry = <N>
       不要在mempool中保留超过<n>小时的事务(默认值:
       336)
  -par = <N>
       设置脚本验证线程数(-4到16,0 = auto,<0 =
       保留许多核心免费,默认:0)
  -persistmempool
       是否在关机时保存mempool并在重启时加载(默认值:1)
  -prune = <N>
       通过启用旧的修剪(删除)来降低存储要求
       块。这允许调用pruneblockchain RPC
       删除特定块,并启用旧的自动修剪
       如果提供MiB中的目标大小,则阻止。这种模式是
       与-txindex和-rescan不兼容。警告:还原它
       设置需要重新下载整个区块链。 (默认:
       0 =禁用修剪块,1 =允许通过RPC手动修剪,
       > = 550 =自动修剪块文件以保持在
       MiB中指定的目标尺寸)
  -reindex
       从磁盘上的blk * .dat文件重建链状态和块索引
  -reindex-chainstate
       从当前索引的块重建链状态
  -txindex
       维护getrawtransaction rpc使用的完整事务索引
       通话(默认:0)
  -版
       打印版本并退出
连接选项:
  -addnode = <IP>
       添加要连接的节点并尝试保持连接打开(请参阅
       `addnode` RPC命令帮助获取更多信息)。这个选项可以
       多次指定添加多个节点。
  -banscore = <N>
       断开行为不端的对等体的阈值(默认值:100)
  -bantime = <N>
       让行为不端的同伴重新连接的秒数(默认值:
       86400)
  -bind = <地址>
       绑定到给定地址并始终听取它。使用[host]:端口表示法
       对于IPv6
  -connect = <IP>
       仅连接到指定的节点; -noconnect禁用自动
       连接(此对等体的规则与for相同
       -addnode)。可以多次指定此选项进行连接
       到多个节点。
  -发现
       发现自己的IP地址(默认:收听时为1,没有--externalip
       或者 - 代理)
  -dns
       允许DNS查找-addnode,-seednode和-connect(默认值:1)
  -dnsseed
       如果地址较低,则通过DNS查询查询对等地址(默认值:1
       除非使用-connect)
  -enablebip61
       按BIP61发送拒绝消息(默认值:1)
  -externalip = <IP>
       指定您自己的公共地址
  -forcednsseed
       始终通过DNS查找查询对等地址(默认值:0)
  -听
       接受来自外部的连接(默认值:如果没有-proxy或-connect,则为1)
  -listenonion
       自动创建Tor隐藏服务(默认值:1)
  -maxconnections = <N>
       最多保持与同伴的<n>连接(默认值:125)
  -maxreceivebuffer = <N>
       最大每连接接收缓冲区,<n> * 1000字节(默认值:5000)
  -maxsendbuffer = <N>
       最大每连接发送缓冲区,<n> * 1000字节(默认值:1000)
  -maxtimeadjustment
      
允许的最大中值对等时间偏移调整。地方视角
       时间可能受到同伴向前或向后的影响
       量。 (默认:4200秒)
  -maxuploadtarget = <N>
       试图保持给定目标下的出站流量(每24小时MiB),
       0 =无限制(默认值:0)
  -onion = <IP:端口>
       使用单独的SOCKS5代理通过Tor隐藏服务设置到达对等体
       -noonion禁用(默认值:-proxy)
  -onlynet = <净>
       仅通过网络<net>(ipv4,ipv6或.net)建立传出连接
       洋葱)。传入连接不受此选项的影响。
       可以多次指定此选项以允许多个
       网络。
  -peerbloomfilters
       支持使用bloom过滤器过滤块和事务(默认值:
       1)
  -permitbaremultisig
       中继非P2SH multisig(默认值:1)
  -port = <端口>
       侦听<port>上的连接(默认值:8333或testnet:18333)
  -proxy = <IP:端口>
       通过SOCKS5代理连接,将-noproxy设置为禁用(默认值:
       禁用)
  -proxyrandomize
       随机化每个代理连接的凭据。这使Tor成为可能
       流隔离(默认值:1)
  -seednode = <IP>
       连接到节点以检索对等地址,并断开连接。这个
       可以多次指定选项以连接到多个
       节点。
  -timeout = <N>
       以毫秒为单位指定连接超时(最小值:1,默认值:5000)
  -torcontrol = <IP>:<端口>
       如果启用了洋葱侦听,则使用Tor控制端口(默认值:
       127.0.0.1:9051)
  -torpassword = <传递>
       Tor控制端口密码(默认值:空)
  -upnp
       使用UPnP映射侦听端口(默认值:0)
  -whitebind = <地址>
       绑定到给定地址并将连接到它的白名单列入白名单。使用
       [host]:IPv6的端口表示法
  -whitelist = <IP地址或网络>
       从给定IP地址连接的白名单对等体(例如1.2.3.4)或
       CIDR标记网络(例如1.2.3.0/24)。可以指定多个
       倍。白名单同行不能被DoS禁止和他们的
       交易总是被转发,即使它们已经在交易中
       mempool,有用的例如用于网关
钱包选项:
  -地址类型
       要使用哪种类型的地址(“legacy”,“p2sh-segwit”或“bech32”,
       默认值:“p2sh-segwit”)
  -avoidpartialspends
       按地址分组输出,选择全部或全部,而不是选择开
       每个输出的基础。隐私得到改善,因为地址是唯一的
       使用一次(除非有人在花钱后发给它),
       但由于次优硬币可能导致费用略高
       选择可能由于添加的限制而导致(默认值:0)
  -changetype
       使用什么类型的更改(“遗留”,“p2sh-segwit”或“bech32”)。
       默认值与-addresstype相同,除非
       -addresstype = p2sh-segwit使用本机segwit输出时
       发送到本地segwit地址)
  -disablewallet
       不要加载钱包并禁用钱包RPC调用
  -discardfee = <AMT>
       费率(BTC / kB)表示您对丢弃的容忍度
       通过将其添加到费用来更改(默认值:0.0001)。注意:输出
       如果它是以这个速度的灰尘被丢弃,但我们将永远
       丢弃灰尘接力费和高于此的丢弃费
       受最长目标的费用估算限制
  -fallbackfee = <AMT>
       费用估算时将使用的费率(BTC / kB)
       数据不足(默认值:0.0002)
  -keypool = <N>
       将密钥池大小设置为<n>(默认值:1000)
  -mintxfee = <AMT>
       小于此的费用(BTC / kB)被视为零费用
       事务创建(默认值:0.00001)
  -paytxfee = <AMT>
       费用(以BTC / kB为单位)添加到您发送的交易中(默认值:0.00)
  -rescan
       在启动时重新扫描块链以查找丢失的钱包事务
  -salvagewallet
       尝试在启动时从损坏的钱包中恢复私钥
  -spendzeroconfchange
       发送事务时花费未经证实的更改(默认值:1)
  -txconfirmtarget = <N>
       如果未设置paytxfee,请包含足够的费用以便开始交易
       n块内平均确认(默认值:6)
  -upgradewallet
       在启动时将钱包升级到最新格式
  -wallet = <路径>
       指定钱包数据库路径。可以多次指定加载
       多个钱包。路径是相对于<walletdir> if解释的
       它不是绝对的,如果它不存在将被创建(如
       包含wallet.dat文件和日志文件的目录。对于
       向后兼容性这也将接受现有的名称
       <walletdir>中的数据文件。)
  -walletbroadcast
       制作钱包广播交易(默认值:1)
  -walletdir = <DIR>
       指定保存钱包的目录(默认值:<datadir> / wallets,如果它
       存在,否则<datadir>)
-walletnotify = <CMD>
       钱包交易发生变化时执行命令(替换cmd中的%s)
       通过TxID)
  -walletrbf
       使用全RBF选择加入发送事务(仅限RPC,默认值:0)
  -zapwallettxes = <模式>
       删除所有钱包交易,只恢复那些部分
       在启动时通过-rescan进行区块链(1 =保留tx元数据,例如
       帐户所有者和付款请求信息,2 = drop tx meta
       数据)
ZeroMQ通知选项:
  -zmqpubhashblock = <地址>
       在<address>中启用发布哈希块
  -zmqpubhashtx = <地址>
       在<address>中启用发布哈希事务
  -zmqpubrawblock = <地址>
       在<address>中启用发布原始块
  -zmqpubrawtx = <地址>
       在<address>中启用发布原始事务
调试/测试选项:
  -debug = <类别>
       输出调试信息(默认值:-nodebug,提供<category>是
       可选的)。如果未提供<category>或<category> = 1,
       输出所有调试信息。 <category>可以是:net,tor,
       mempool,http,bench,zmq,db,rpc,estimatefee,addrman,
       selectcoins,reindex,cmpctblock,rand,prune,proxy,mempoolrej,
       libevent,coindb,qt,leveldb。
  -debugexclude = <类别>
       排除类别的调试信息。可以结合使用
       使用-debug = 1输出除一个以外的所有类别的调试日志
       或更多指定的类别。
  -help调试
       显示所有调试选项(用法: -  help -help-debug)
  -logips
       在调试输出中包含IP地址(默认值:0)
  -logtimestamps
       使用时间戳预先调试输出(默认值:1)
  -maxtxfee = <AMT>
       在单个钱包交易或原始交易中使用的最大总费用(以BTC计)
       交易;将此设置得太低可能会中止大型事务
       (默认值:0.10)
  -printtoconsole
       将跟踪/调试信息发送到控制台(默认值:1,当没有-daemon时。禁用
       记录到文件,设置-nodebuglogfile)
  -shrinkdebugfile
       在客户端启动时收缩debug.log文件(默认值:1,没有-debug时)
  -uacomment = <CMT>
       将注释附加到用户代理字符串
连锁选择:
  -testnet
       使用测试链
节点中继选项:
  -bytespersigop
       中继和挖掘事务中每个sigop的等效字节数
       (默认值:20)
  -datacarrier
       中继和我的数据载体交易(默认值:1)
  -datacarriersize
       我们中继和挖掘的数据载体交易中的最大数据大小
       (默认:83)
  -mempoolreplacement
       在内存池中启用事务替换(默认值:1)
  -minrelaytxfee = <AMT>
       小于此的费用(BTC / kB)被认为是中继的零费用,
       挖掘和创建事务(默认值:0.00001)
  -whitelistforcerelay
       即使违反了白名单同伴的交易强制中继也是如此
       本地中继政策(默认:1)
  -whitelistrelay
       接受从列入白名单的同行收到的中继交易,即使是
       不转发交易(默认:1)
块创建选项:
  -blockmaxweight = <N>
       设置最大BIP141块重量(默认值:3996000)
  -blockmintxfee = <AMT>
       为要包含在块中的交易设置最低费率(BTC / kB)
       创建。 (默认值:0.00001)
RPC服务器选项:
  -rest
       接受公共REST请求(默认值:0)
  -rpcallowip = <IP>
       允许来自指定源的JSON-RPC连接。适用于<ip>的是
       单个IP(例如1.2.3.4),网络/网络掩码(例如,
       1.2.3.4/255.255.255.0)或网络/ CIDR(例如1.2.3.4/24)。这个
       选项可以多次指定
  -rpcauth = <userpw>
       JSON-RPC连接的用户名和散列密码。场
       <userpw>的格式为:<USERNAME>:<SALT> $ <HASH>。一个
       canonical python脚本包含在share / rpcauth中。客户端
       然后通常使用
       rpcuser = <USERNAME> / rpcpassword = <PASSWORD>参数对。这个
       选项可以多次指定
  -rpcbind = <地址> [:端口]
       绑定到给定地址以侦听JSON-RPC连接。这个选项是
       除非-rpcallowip也被传递,否则将被忽略。端口是可选的
       覆盖-rpcport。使用[host]:IPv6的端口表示法。这个
       可以多次指定选项(默认值:127.0.0.1和
       :: 1即localhost,或者如果指定了-rpcallowip,
       0.0.0.0和::即所有地址)
  -rpccookiefile = <LOC>
       身份验证cookie的位置。相对路径将以a为前缀
       特定于网络的数据库位置。 (默认:数据目录)
  -rpcpassword = <PW>
       JSON-RPC连接的密码
  -rpcport = <端口>
       在<port>上侦听JSON-RPC连接(默认值:8332或testnet:
       18332)
  -rpcserialversion
       设置返回的原始事务或块十六进制的序列化
       非详细模式,非segwit(0)或segwit(1)(默认值:1)
-rpcthreads=<N>
        设置服务RPC调用的线程数(默认值:4)
  -rpcuser= <用户>
        JSON-RPC连接的用户名
  -server
        接受命令行和JSON-RPC命令

转载于:https://my.oschina.net/feistel/blog/3005964
 

 

posted @ 2024-08-12 18:03  SoyWang  阅读(277)  评论(0编辑  收藏  举报