比特币sv节点 bitcoind 命令行参数
2020-08-03
包含了挖掘超大区块所需的最新参数。
本次使用的比特币 sv 版本为 1.0.4:bitcoin-sv
1 | bitcoind [options] # 启动比特币SV守护进程 |
本章大部分参数可以写在 bitcoin.conf 配置文件中,灵活使用。
选项
参数 | Description |
---|---|
-? | 打印此帮助信息并退出 |
-version | 打印版本并退出 |
-alertnotify=<cmd> | 当收到相关警报或我们看到一个很长的分叉时,执行命令(cmd中由消息替换 %s) |
-blocknotify=<cmd> | 当最佳区块发生变化时执行命令(cmd中的%s由区块哈希值代替) |
-assumevalid=<hex> | 如果此块在链中,则假定它及其祖先有效,并可能跳过其脚本验证 (0 表示验证所有, 默认值:00000000000000000013176bf8d7dfeab4e1db31dc93bc311b436e82ab226b90 测试网:00000000000128796ee387cf110ccb9d2f36cffaf7f73079c995377) |
-conf=<file> | 指定配置文件(默认:bitcoin.conf) |
-daemon | 以守护进程的形式在后台运行,并接受命令 |
-datadir=<dir> | 指定数据目录 |
-dbcache=<n> | 设置数据库缓存大小,单位为兆字节(4到16384,默认值:450) |
-genesisactivationheight | 设置块高度,在这个高度上应该激活genesis。(默认:620538) |
-loadblock=<file> | 启动时从外部 blk000?.dat 文件中导入块 |
-maxmempool=<n> | 将事务内存池保持在 n MB以下(默认:1000 MB) 建议设置为 6 GB 或更大 |
-mempoolexpiry=<n> | 不在 mempool 中保存交易超过 n 小时(默认:336,即 14 天) |
-maxmempoolnonfinal=<n> | 将非最终事务内存池保持在 n MB以下(默认:50 MB) |
-mempoolexpirynonfinal=<n> | 非最终事务在内存池中保存交易 n 小时以下(默认:672,即 28 天) |
-persistmempool | 是否在关机时保存 mempool,并在重启时加载(默认:1) |
-threadsperblock=<n> | 设置验证单个区块时使用的脚本验证线程数(0 到 64,0 为自动,默认:0) |
-scriptvalidatormaxbatchsize=<n> | 设置每个线程的脚本验证批处理大小(1 到 255,默认:128) |
-maxparallelblocks=<n> | 设置所有节点可并行验证的块数。如果有额外的区块到达。终止对旧块的验证。(1到100,默认值:4) |
-maxparallelblocksperpeer=<n> | 设置可以从单个 peer 并行验证的块数。如果 peer 发送另一个块,它的验证被延迟。(1 到 maxparallelblocks,默认:3) |
-pid=<file> | 指定 pid 文件(默认:bitcoind.pid) |
-preload=<n> | 如果 n 设置为 1,则区块链状态将被预加载到内存中。如果 n 为 0,则不会发生预加载。n 不允许为其他值。默认值为0。Windows 操作系统不支持此选项。 |
-prune=<n> | 通过启用旧块的修剪(删除)来减少存储需求。 这允许调用 pruneblockchain RPC 删除特定的块,并且如果提供了MiB中的目标大小,则可以自动修剪旧块。 此模式与 -txindex 和 -rescan 不兼容。 警告:还原此设置需要重新下载整个区块链。 (默认值:0 =禁用修剪块,1 =允许通过 RPC 手动修剪,> 550 =自动修剪块文件以使其保持在MiB中指定的目标大小以下) |
-reindex-chainstate | 从当前的索引块中重建链状态。 |
-reindex | 从磁盘上的 blk*.dat 文件中重建链状态和块索引。 |
-rejectmempoolrequest | 拒绝所有来自非白名单节点的 mempool 请求。 |
-sysperms | 使用系统默认权限而不是 umask 的 077 创建新文件(仅对禁用的钱包功能有效) |
-txindex | 保持一个完整的事务索引,由 getrawtransaction rpc 调用使用(默认:0) |
连接选项
参数 | 意义 |
---|---|
-addnode=<ip> | 在原有的种子节点中新增节点 |
-connect=<ip> | 只会连接到指定节点,不会连接到种子节点和其他节点。单独使用 -noconnect 或 -connect=0 来禁用自动连接 |
-banscore=<n> | 断开行为非法的节点的的阈值(默认值:100) |
-bantime=<n> | 防止行为非法的节点重新连接的秒数(默认:86400) |
-bind=<addr> | 绑定到给定的节点地址并始终监听。对IPv6使用[host]:port符号 |
-blockstallingmindownloadspeed=<n> | 在 IBD 期间,允许处于停滞状态的同级设备降至最低平均下载速度(KB / s)。 值 0 表示禁用失速检测(默认值:100Kb / s) |
-discover | 发现自己的 IP 地址(默认:监听时为 1,没有 -externalip 或 -proxy) |
-dns | 允许 -addnode、-seednode 和 -connect 进行DNS查询(默认:1) |
-dnsseed | 如果节点地址较少,通过 DNS 查找查询节点地址(默认:1,除非 -connect / -noconnect) |
-externalip=<ip> | 指定自己的 IP 地址 |
-forcednsseed | 始终通过 DNS 查找来查询节点地址(默认:1) |
-listen | 接受来自外部的连接(默认:1,如果没有 -proxy 或 -connect / -noconnect) |
-listenonion | 自动创建Tor隐藏服务(默认:1) |
-maxconnections=<n> | 最多保持 n 个节点连接(默认:125) |
-maxreceivebuffer=<n> | 每个连接的最大接收缓冲区,n*1000 字节,(默认:5000) |
-maxsendbuffer=<n> | 每个连接的最大发送缓冲区,n*1000 字节,(默认:1000) |
-factormaxsendqueuesbytes=<n> | 将与 excessiveBlockSize 相乘的系数,以限制所有发送队列中的最大字节数。 如果超过这个大小,则不会发送与块相关的P2P消息的响应。 (默认系数: 4) |
-maxtimeadjustment | 允许的最大中位数 peer 的时间偏移调整。本地时间的角度可能会受到同行向前或向后移动此数量的影响。(默认值:4200秒) |
-broadcastdelay=<n> | 设置库存(inventory)广播延迟时间,单位为毫秒(min: 0, max: 50000) |
-onion=<ip:port> | 使用单独的 SOCKS5 代理,通过 Tor 隐藏服务与节点连接(默认:-proxy) |
-onlynet=<net> | 只连接到网络 net 的节点(nodes)(ipv4、ipv6 或 onion) |
-permitbaremultisig | 是否中继非 P2SH 多协议(默认:1) |
-peerbloomfilters | 是否支持使用 bloom 过滤器过滤区块和交易(默认:1) |
-port=<port> | 监听端口上的连接(默认:8333,testnet:18333) |
-proxy=<ip:port> | 通过 SOCKS5 代理连接 |
-proxyrandomize | 随机化每个代理连接的凭证。这将启用 Tor 流隔离(默认:1) |
-seednode=<ip> | 连接到节点(node)以检索 peer 地址,并断开连接 |
-timeout=<n> | 指定连接超时时间,单位为毫秒(最小值:1,默认值:5000) |
-torcontrol=<ip>:<port> | 如果启用了 onion 监听,要使用的 Tor 控制端口(默认:127.0.0.1:9051) |
-torpassword=<pass> | Tor 控制端口密码(默认:空) |
-upnp | 使用 UPnP 映射监听端口(默认:0) |
-whitebind=<addr> | 绑定到给定的地址并将连接到该地址的 peers 列入白名单。对IPv6 使用 [host]:port 格式 |
-whitelist=<IP address or network> | 从给定IP地址(例如1.2.3.4)或 CIDR 标记网络(例如1.2.3.0/24)连接的白名单对等方。 列入白名单的对等方不能被 DoS 禁止,即使它们已经在内存池中,它们的事务也总是被中继,这对网关来说很有用。 可以多次指定 |
-whitelistforcerelay | 即使已列入白名单的 peers 违反本地中继策略,也强制进行中继处理(默认值:1) |
-maxuploadtarget=<n> | 将出站流量控制在给定的目标范围内(以每 24 小时 MiB 为单位),0=无限制(默认值:0) |
钱包选项
参数 | 意义 |
---|---|
-disablewallet | 不要加载钱包,禁用钱包RPC调用 |
-keypool=<n> | 设置密钥池大小为 n(默认:1000) |
-fallbackfee=<amt> | 当费用估算数据不足时使用的费用率(单位:BSV/kB)(默认:0.0002) |
-mintxfee=<amt> | 小于此值的费用(单位:BSV/kB)被认为是交易创建的零费用(默认:0.00001) |
-paytxfee=<amt> | 费用(单位:BSV/kB)添加到您发送的交易中(默认:0.00) |
-rescan | 在启动时重新扫描区块链,查找丢失的钱包交易 |
-salvagewallet | 试图在启动时从损坏的钱包中恢复私钥。 |
-spendzeroconfchange | 发送交易时,花费未确认的零钱(默认:1) |
-usehd | 在 BIP32 之后使用分层确定性密钥生成(HD)。 仅在钱包创建/首次启动期间有效(默认值:1) |
-upgradewallet | 启动时将钱包升级到最新格式 |
-wallet=<file> | 指定钱包文件(在数据目录内)(默认:wallet.dat) |
-walletbroadcast | 让钱包广播交易(默认:1) |
-walletnotify=<cmd> | 当钱包交易发生变化时执行命令(cmd 中的 %s 由 TxID 代替) |
-zapwallettxes=<mode> | 删除所有钱包交易,仅在启动时通过 -rescan 来恢复区块链的这些部分(1 =保留tx元数据,例如账户所有者和付款请求信息,2 =丢弃tx元数据) |
ZeroMQ 通知选项
参数 | 意义 |
---|---|
-zmqpubhashblock=<address> | 在地址中启用发布哈希块。 |
-zmqpubhashtx=<address> | 在地址中启用发布哈希事务。 |
-zmqpubrawblock=<address> | 在地址中启用发布原始块 |
-zmqpubrawtx=<address> | 在地址中启用发布原始交易 |
调试/测试选项
参数 | 意义 |
---|---|
-uacomment=<cmt> | 将注释添加到用户代理字符串中 |
-debug=<category> | 输出调试信息(默认值:0,提供<category>是可选的)。 如果未提供<category>或<category> = 1,则输出所有调试信息。 <category>可以是: net,tor,mempool,http,bench,zmq,db,rpc,addrman, selectcoins,reindex,cmpctblock, rand,prune,proxy, mempoolrej,libevent,coindb,leveldb,txnprop,txnsrc, journal,txnval |
-debugexclude=<category> | 排除类别的调试信息。 可以与 -debug = 1 结合使用,以输出除一个或多个指定类别以外的所有类别的调试日志 |
-help-debug | 显示所有调试选项(用法:–help -help-debug) |
-debugp2pthreadstalls | 记录暂停请求处理循环超过指定毫秒的 P2P 请求(默认值:禁用) |
-logips | 在调试输出中包含 IP 地址(默认:0) |
-logtimestamps | 在调试输出中加入时间戳(默认:1) |
-minrelaytxfee=<amt> | 小于此费用(BSV / kB)的中继,挖掘和交易创建费用为零(默认值:0.0000025) |
-maxtxfee=<amt> | 用于单个钱包交易或原始交易的最高总费用(以BSV为单位),将此值设置得太低可能会中止大笔交易(默认值:0.10) |
-printtoconsole | 将跟踪/调试信息发送到控制台,而不是 bitcoind.log 文件 |
-shrinkdebugfile | 在客户端启动时收缩 bitcoind.log 文件(默认:1,当没有-debug时) |
使用测试链
参数 | 意义 |
---|---|
-testnet | 使用测试链 |
-regtest | 进入回归测试模式,该模式使用一条特殊的链,在该链中可以立即求解块。 这旨在用于回归测试工具和应用程序开发。 |
-stn | 使用巨块测试网络 |
节点中继选项
参数 | 意义 |
---|---|
-excessiveblocksize=<n> | 设置可以从任何来源接受的最大块大小(以字节为单位)。 这是有效的块大小硬限制,并且是必需的参数(0 =无限)。 |
-datacarrier | 中继和挖矿数据载体交易(默认值:1) |
-datacarriersize | 中继和挖掘的数据载体交易中的最大数据量(默认:4294967295) |
-maxstackmemoryusageconsensus | 脚本在运算时允许使用的最大栈内存,如果脚本尝试使用超过参数定义值的内存量,将中止脚本的运行,导致脚本失败。脚本失败将导致交易无效,并且包含了这笔无效交易的区块也会成为无效区块。 建议设置为 100000000 # 100MB 这是一个必需的参数。(0 =无限) |
-maxstackmemoryusagepolicy | 设置在 Genesis 激活后,在单个事务中中继/挖掘的脚本验证所使用的最大堆栈内存使用量(默认值:100000000字节(100MB),0 =无限) 必须小于或等于-maxstackmemoryusageconsensus 的值 |
-maxopsperscriptpolicy=<n> | 设置 Genesis 后,为每个脚本中继/消除的非推送操作的最大数量(默认值:无限制,0 =无限制) |
-maxtxsigopscountspolicy=<n> | 设置激活 Genesis 后,在单个事务中中继/删除的签名操作的最大允许数量(默认值:无限制,0 =无限制) |
-maxstdtxvalidationduration=<n> | 设置单个标准事务验证持续时间阈值(以毫秒为单位),在此阈值之后,标准事务验证将错误终止并且不接受该事务进入内存池(最小5ms,默认值:10ms) |
-maxnonstdtxvalidationduration=<n> | 设置单个非标准事务验证持续时间阈值(以毫秒为单位),在此阈值之后,非标准事务验证将错误终止并且不接受该事务进入内存池(最小10ms,默认值:1000ms) |
-maxtxsizepolicy=<n> | 在 Genesis 激活后,设置我们中继和挖掘的最大事务大小(以字节为单位)(默认值:10000000(10M),最小值:99999,0 =无限) |
-maxscriptsizepolicy | 在激活 Genesis 之后中继/删除每个脚本的大小(以字节为单位) ,(默认值:10000(100KB),0 =无限)。 |
-maxscriptnumlengthpolicy=<n> | Genesis 激活后,在脚本中中继/挖掘的最大允许数字长度(默认值:250000(2.5MB),0 =无限) |
-maxsigcachesize | 签名缓存大小。单位为 MB。可向节点指明可在缓存中保存多少可接受的交易,通过减少对运行中重新计算签名和脚本的昂贵调用来提高性能。建议将这些设置为 250 MB 或更高。 |
-maxscriptcachesize | 脚本缓存大小。单位为 MB。建议 250 MB |
参数 | 意义 |
块创建选项
参数 | 意义 |
---|---|
-blockmaxsize=<n> | 矿工打包生成的最大区块体积(以字节为单位)。 挖出的块的大小将永远不会超过我们将接受的最大块大小(-excessiveblocksize) |
-blockprioritypercentage=<n> | 设置保留给高优先级/低费用交易的区块的最大百分比(默认:5) |
-blockmintxfee=<amt> | 设置在创建区块时包含的最低费用率(单位:BSV/kB)。(默认:0.000005) |
-invalidateblock=<hash> | 将现有块永久标记为无效,就好像它违反了共识规则(与 Invalidate-Block RPC函数相同)。 如果尚未收到指定的块标头,则从 peer 收到标头时将忽略该标头。 可以多次指定此选项 |
-banclientua=<ua> | 禁止用户代理包含指定字符串(不区分大小写)的客户端。 可以多次指定此选项。 |
-blockassembler=<type> | 设置用于挖掘的块汇编器的类型。 支持的选项为“LEGACY”或“JOURNALING”。 (默认值:LEGACY) |
RPC服务器选项
参数 | 意义 |
---|---|
-server | bitcoind 是否接受 JSON-RPC 命令,0=否,1=是 |
-rest | 是否接受公共 REST 请求,0=否,1=是(默认:0) |
-rpcbind=<addr> | 绑定到给定地址以侦听 JSON-RP C连接。可以指定多次(默认:绑定到所有接口) |
-rpccookiefile=<loc> | auth cookie 的位置(默认:data dir) |
-rpcuser=<user> | JSON-RPC 连接的用户名 |
-rpcpassword=<pw> | JSON-RPC 连接的密码 |
-rpcauth=<userpw> | JSON-RPC 连接的用户名和哈希密码。 字段<userpw>的格式为:<USER‐NAME>:<SALT> $ <HASH>。 共享/ rpcuse r中包含一个规范的 python 脚本。 然后,客户端使用 rpcuser =<USERNAME> / rpcpassword = <PASSWORD>对参数正常连接。 可以多次指定此选项 |
-rpcport=<port> | 监听端口上的 JSON-RPC 连接(默认:8332,testnet:18332) |
-rpcallowip=<ip> | 默认情况下,仅允许来自本地主机的 RPC 连接。根据需要指定 rpcallowip 以允许来自其他主机的连接,作为单个 IPv4 / IPv6 或带有子网规范。 |
-magicbytes=<hexcode> | 允许用户通过更改本参数来拆分测试网。 此选项仅在不同于主网的网络上工作。 默认值:0f0f0f0f |
-rpcthreads=<n> | 设置服务 RPC 调用的线程数(默认:4) |
-rpccorsdomain=value | 接受跨源请求的域(浏览器强制执行) |
-invalidcsinterval=<n> | 以毫秒为单位,设置从单个节点接收无效报文校验和的时间限制。 (默认:500ms) |
-invalidcsfreq=<n> | 设置在给定时间段内从单个 node 收到的无效校验和的数量限制 (默认:100) |
孤块 TXNS 选项
参数 | 意义 |
---|---|
-blockreconstructionextratxn=<n> | 额外的事务要保留在内存中,以便进行紧凑的块重构(默认:100) |
-maxorphantxsize=<n> | 在内存中最多保留 n MB的不可连接事务(默认:100 MB) |
-maxcollectedoutpoints=<n> | 在内存中最多保留 n 个收集的输出点(默认:300000) |
-maxorphantx | 指定了内存中可暂存的孤交易数量,建议 10000。 如果节点收到一条交易信息,但尚未收到这条交易的前序交易(父交易),那么节点会将本交易(子交易)暂存起来,直至发现其前序交易(父交易)或达到 20 分钟的有效期 |
Txn验证程序选项
参数 | 意义 |
---|---|
-numstdtxvalidationthreads=<n> | 设置用于验证标准 txns 的高优先级线程的数量(动态计算,默认:9) |
-numnonstdtxvalidationthreads=<n> | 设置用于验证非标准 txns 的低优先级线程的数量(动态计算,默认:3) |
-maxstdtxnsperthreadratio=<n> | 设置每个高优先级线程的标准 txns 的最大比率(默认值:1000) |
-maxnonstdtxnsperthreadratio=<n> | 设置每个低优先级线程的非标准 txns 的最大比率(默认值:1000) |
-txnvalidationasynchrunfreq=<n> | 在异步模式下设置运行频率(默认值:100ms) |
-maxtxnvalidatorasynctasksrunduration=<n> | 设置单次运行异步任务的最大验证时间(默认:10000ms) |
-maxcoinsviewcachesize=<n> | 设置硬币缓存中可接受的交易输入的最大累积大小(默认值:0,无限制) |
-txnvalidationqueuesmaxmemory=<n> | 设置事务队列的最大内存使用量,单位为 MB(默认:2048 ) |
-maxpubkeyspermultisigpolicy=<n> | 在激活 Genesis 后,设置在单个 CHECKMULTISIG(VERIFY)操作中中继/挖掘的最大允许公共密钥数量(默认值:0,0 =无限制) |
-maxgenesisgracefulperiod=<n> | 设置 Genesis 宽限期的最大允许块数(默认值:72),其中在调用节点尚未达到创世高的情况下,不会因违反创世规则而禁止节点。 设置为 0 将禁用 Genesis 宽限期。 |
Copyright (C) 2009-2020 The Bitcoin Association