比特币节点启动参数速查:从 datadir 到 txindex 的取舍 图 1
比特币节点启动参数速查:从 datadir 到 txindex 的取舍 · 图 1

一份参数表解决八成节点疑问

Bitcoin Core 的选项很多,多数部署其实只关心十几个。以下这份速查按场景给方向,数值与默认值以对应版本文档为准,这里只讲每个选项改变什么。

启动形态

-daemon 让守护进程后台运行,配合 -pid 文件可脚本化管理;-server 开启 RPC 服务,不显式写、只要调用 RPC 也会自动进入服务模式;-datadir 指定数据目录,多实例并存或换盘的第一选择;-conf 指定配置文件。Windows 与非默认数据目录的组合最容易出错:改目录后钱包“消失”,九成是没带 -datadir,节点在默认位置找到了另一套。

磁盘预算

-prune 设置保留数据的目标体积(单位 MiB,最低允许五百五十),低于目标的旧区块文件会被回收;剪枝节点不能提供历史区块给他人,也不便事后全量扫描。-txindex=1 为全网交易建索引,磁盘代价可观且必须从头建索引(已有节点需 -reindex),换来的是按交易 ID 直接查询历史的能力。钱包侧对应的省磁盘手段是描述符加扫描(scanblocks、rescanblockchain),而不是索引一切。

网络与连接

-bind 与 -whitebind 控制监听地址与端口(默认 P2P 端口主网八三三三,RPC 八三三二);-fallbackfee 等属于钱包费策略。对外可达是传播质量的加分项:UPnP 或端口映射成功时日志会出现相关记录,失败也不影响出块参与,只影响被连入概率。-onlynet、-proxy(配合 -onion)则把节点约束进 IPv4 或 Tor 的世界。隐私敏感用户常提的两个:-listen 打开接受入站,-uacomment 给节点加注释标签,注意后者会出现在用户代理里,本身就是可关联信息。

同步与信任边界

-assumevalid 默认指向内置检查点块,新节点跳过该块之前的完整签名验证以加速首刷;-checkblocks、-checklevel 控制启动抽检强度;剪枝与快照同步相关选项(loadtxoutset 等)在更高版本中提供 UTXO 快照起步的路径。这些选项改变的是“验证的时间分布”,而非验证的有无,选择时用你的硬件窗口安排。-persistmempool 决定重启是否保留未确认交易池;-persistmempool=0 每次冷启动的钱包对账压力更大,配合 -rescan 或描述符扫描补齐。

钱包与调试

-wallet 指定钱包文件;-fallbackfee 与 -paytxfee 区分“兜底费率”与“固定费率”,新手常见事故是把 paytxfee 设成天价常量后忘了改,钱包从此每笔都按常量付费。调试期用 -debug=类别(net、mempool、rpc、wallet 等)定向加日志,配合 debug.log 定位问题;问题定位后回到默认,避免日志与性能负担。

多实例与测试环境

同一台机器跑多个节点是最常见的高级场景:每个实例用不同的 -datadir 隔离数据、不同的 -rpcport 与 P2P 端口避免抢占、必要时用 -pid 与 -conf 区分各自的进程与配置。测试网络方向,-signet、-testnet4、-regtest 选择网络,各链数据自动落在数据目录的子目录里;测试网币没有任何价值,配置错网络的典型症状是同步高度与浏览器严重对不上。需要脚本化管理时,-rpcbind 与 -rpcauth 提供多用户鉴权,RPC 凭据文件 cookie 则默认放在数据目录,重启后内容会变化,脚本里不要缓存旧值。最后提醒一句:任何改变数据目录或网络类型的选项组合,第一次运行时都应先在 debug.log 首段确认“正在打开哪个目录、哪条链”,再离开键盘——多数“我的币没了”事故,其实只是节点在另一条链、另一个目录里安静同步。

常见误区

“参数越多节点越专业”——多数默认值是全网长期磨合的结果,改动要能说出收益。“开了 txindex 就能查任何地址历史”——txindex 查的是交易,不是地址余额索引,地址聚合仍要扫描。“改配置不需要重启”——多数选项只在启动时读取,改完请重启并复看 debug.log 首段生效参数回显。

风险提示

选项行为以你所用版本的官方文档为准(bitcoincore.org 的选项说明页保持维护)。错误配置可能让节点失联或钱包对账耗时,重要操作前先备份数据目录。