bitcoin所有参数除 -datadir 和 -conf之外,其它参数都可以通过配置文件来配置
bitcoind 命令格式
bitcoind [选项]
bitcoind [选项] <命令> [参数] 将命令发送到 -server 或 bitcoind
bitcoind [选项] help 列出命令
bitcoind [选项] help <命令> 获取该命令的帮助
#选项
#通用配置选项
-conf=<file> #指定配置文件,默认~/.bitcoin/bitcoin.conf
-pid=<文件名> #指定 pid (进程 ID)文件(默认:bitcoind.pid)
-datadir=<dir> #数据保存目录,建议500G以上
-daemon #运行为守护进程
-dbcache=<n> #设置数据缓存大小,单位百万字节,范围4 - 16384,默认450
-debuglogfile=<file> #指定debug级别日志保存的位置。
-includeconf=<file> #指定额外配置文件路径。只能用于配置文件,不能用于命令行。
-loadblock=<file> #启动时从外部的名为blk000??.dat加载数据块
-reindex #从磁盘上的blk*.dat文件重建链状态和块索引
-reindex-chainstate #从当前索引的块重建链状态
-version #查看当前程序版本并退出
-txindex #默认情况下,比特币核心只创建与使用者钱包相关的交易索引,如果需要维护全部交易的索引,需要设置该选项。默认0
-maxmempool=<n> #将事务内存保持在<n> mb以下(default: 300)
-maxorphantx=<n> #在内存中最多保存<n>不可连接事务(default: 100)
-mempoolexpiry=<n> #在内存池中保存事务的时间不要超过<n>小时(default:336)
-keypool=<n> #将密钥池大小设置为<n>
-prune #剪枝留存数量,超过此数量的历史区块将从内存中删除
#网络选项
-addnode=<ip> #添加种子节点,可以添加多个,格式:addnode=10.0.0.2:8333
-banscore=<n> #断开行为异常的节点,默认100
-bantime=<n> #阻止行为异常节点重新连接的时间,默认86400秒
-bind=<addr> #本地连接节点,监听地址,格式[host]:port
-port=<port> #监听端口,默认8332或testnet 18332
-whitebind=<addr> #本地白名单
-connect=<ip> #连接节点地址,使用-noconnect失效该功能
-listen #是否进入监听模式,默认进入(default:1)除非设置了-proxy or -connect
-maxconnections=<n> #入站/出站最大连接数
-onion=<ip:port> #使用单独的SOCKS5代理通过Tor(he Onion Router,即洋葱路由)隐藏服务到达peer,设置-noonion禁用(默认:-proxy)
addnode与connect的区别:
假设您使用了 addnode=4.2.2.4 参数,那么 addnode 便会与您的节点连接,并且告知您的节点所有与它相连接的其它节点。另外它还会将您的节点信息告知与其相连接的其它节点,这样它们也可以连接到您的节点。
connect 在您的节点“连接”到它的时候并不会做上述工作。仅它会与您连接,而其它节点不会。
因此如果您位于防火墙后,或者因为其它原因无法找到节点,则使用“addnode”添加一些节点。
如果您想保证隐私,使用“connect”连接到那些您可以“信任” 的节点。
如果您在一个局域网内运行了多个节点,您不需要让它们建立许多连接。您只需要使用“connect”让它们统一连接到一个已端口转发并拥有多个连接的节点。
#RPC配置选项
-server #接受命令行和JSON-RPC命令
-rest #接收公共REST请求
-rpcuser=<user> #JSON-RPC连接时使用的用户名
-rpcpassword=<pw> #JSON-RPC连接时使用的密码
-rpcport=<port> #JSON-RPC连接监听的端口,默认8332或testnet 18332
-rpcallowip=<ip> #允许JSON-RPC连接从外部连接。可以是一个单独IP(e.g. 1.2.3.4)、网络地址/掩码(e.g.1.2.3.4/255.255.255.0)或网络地址/掩码长度(e.g. 1.2.3.4/24)。该选项可指定多次。
-rpcbind=<addr>[:port] #JSON-RPC连接的服务监听地址和端口。不指定-rpcallowip参数时,该参数无效。端口参数可选,若指定,则覆盖-rpcport选项。使用[host]:port标识ipv6地址。地址格式与-rpcallowip相同。
#钱包配置选项
-addresstype #使用什么类型的地址("legacy", "p2sh-segwit", or "bech32",default: "p2sh-segwit")
-disablewallet #不加载钱包并禁用钱包RPC调用
-discardfee=<amt> #费率(以BTC/kB表示)
-fallbackfee=<amt> #收费比率(以BTC/kB为单位),当收费估计数据不足时,会使用该比率(默认值:0.0002)
-mintxfee=<amt> #如果费用(以BTC/kB为单位)小于此值,则认为创建事务的费用为零(默认值为0.00001)。
-paytxfee=<amt> #向您发送的交易中添加的费用(以BTC/kB为单位)(默认值:0.00)
-rescan #重新扫描在启动时丢失的钱包事务的块链
-salvagewallet #尝试在启动时从损坏的钱包中恢复私钥
-wallet=<path> #指定钱包数据库路径,可以指定多次加载多个钱包。如果路径不是绝对的,则相对于<walletdir>;如果路径不存在,则创建路径(作为包含wallet.dat文件和日志文件的目录)。为了向后兼容,它还将接受<walletdir>中现有数据文件的名称。)
-walletdir=<dir> #指定保存钱包的目录(默认:<datadir>/wallets,如该目录不存在,则使用<datadir>)
-walletnotify=<cmd> #当钱包事务发生更改时执行的命令
bitcoind配置文件实例:
# 数据存储目录
datadir=/data/bitcoin/bitcoin-data
dbcache=10240
txindex=1
# 后台执行
daemon=1
# 告知 Bitcoin-Qt 和 bitcoind 接受JSON-RPC命令
server=1
# 接收REST请求
rest=1
# 监听 RPC 链接,默认端口8333
rpcbind=0.0.0.0:8332
rpcallowip=0.0.0.0/0
rpcuser=bitcoin
rpcpassword=bitcoin
#添加连接节点
addnode=119.23.67.156
addnode=47.224.175.1
addnode=39.105.39.182
addnode=120.24.70.214
addnode=39.100.228.213
addnode=43.226.37.242
addnode=121.18.238.39
addnode=42.59.56.174
bitcoin-cli命令选项
命令格式:
bitcoin-cli [options] <command> [params]
bitcoin-cli [options] -named <command> [name=value]...
bitcoin-cli [options] help #获取命令帮助
bitcoin-cli [options] help <command> #获取command的命令帮助
选项:
-conf=<file> #指定配置文件路径。相对路径将以datadir位置作为前缀。默认文件名:bitcoin.conf
-datadir=<dir> #指定数据存储位置
-getinfo #从远程服务器获取一般信息。与服务器端RPC调用不同,-getinfo的结果是多个非原子请求的结果。结果中的一些条目可能表示来自不同状态的结果(例如,钱包余额可能来自报告的链状态的不同块)
-named #传递指定的参数而不是位置参数
-rpcclienttimeout=<n> #HTTP请求超时(以秒为单位),0表示没有超时。默认900
-rpcconnect=<ip> #向指定IP的节点发送命令,默认127.0.0.1
-rpccookiefile=<loc> #认证cookie的路径,相对路径以datadir地址为前缀。默认:data dir
-rpcpassword=<pw> #JSON-RPC连接的密码
-rpcport=<port> #JSON-RPC连接的端口
-rpcuser=<user> #JSON-RPC连接时使用的用户名
-rpcwait #等待RPC服务器启动
-rpcwallet=<walletname> #向非默认RPC服务器发起RPC连接。需要精确匹配传递给bitcoin-cli的参数
-stdin #从标准输入读取额外的参数,每行一个,直到EOF/Ctrl-D结束(推荐用于敏感信息,如密码)。当与-stdinrpcpass结合使用时,使用标准输入的第一行作为RPC密码。
-stdinrpcpass #读取标准输入第一行作为RPC密码。当与-stdin结合使用时,标准输入第一行作为RP