
你的节点,你的策略
使用自己的 DATUM 网关时,由你的节点构建你的区块:挑选交易、设定最低手续费、决定区块大小。矿池只负责分配收益。
适用于通过我们的 DATUM 一键包 脚本安装的网关。如果你的网关是手动搭建的,同样的选项可以写入节点的 bitcoin.conf。
这条链之所以存在,是因为少数大型矿工持续打包大多数节点拒绝转发的交易。当每个矿工都用自己的节点构建区块时,就不再存在可以被施压的单一对象。运行自己的网关,你就是其中的一份子。
策略不是共识
共识是链上所有节点都认可的有效区块规则,任何人都无法通过配置文件改变它。策略是你的节点愿意转发、愿意打包进你的区块的内容。策略只能在共识范围内生效:你可以比链的要求更严格,但不能更宽松。被你的节点拒绝的交易仍可能被别人打包,只是不会由你来打包。
你的节点现在的设置
以下是安装脚本所部署节点的默认值,数据来自节点自身的帮助信息。
| 选项 | 默认值 | 作用 |
|---|---|---|
| blockmintxfee | 0.00001 | 交易进入你的区块所需的最低费率(BTC/kvB)。 |
| minrelaytxfee | 0.00001 | 你的节点转发并保留在内存池中的最低费率。 |
| blockmaxweight | 1200000 | 你的节点构建的区块的最大权重。 |
| blockmaxsize | 300000 | 你的节点构建的区块的最大字节数。 |
| datacarriersize | 83 | 单笔交易中允许携带的任意数据的最大字节数。设为 0 则全部拒绝。 |
| rejectparasites | 1 | 拒绝转发或打包寄生型叠加协议的交易。 |
| rejecttokens | 1 | 拒绝转发或打包涉及非比特币代币的交易。 |
| permitbaremultisig | 0 | 裸多签输出,一种向链上塞入数据的老办法。 |
| maxmempool | 200 | 用于未确认交易的内存大小,单位 MB(由安装脚本设置)。 |
总共约四十个选项。你的节点可以列出每个选项的说明和默认值:
datum-policy options # all of them datum-policy options fee # only the ones that mention "fee"
修改策略:datum-policy
Linux 安装脚本会在机器上安装一个命令。查看当前设置:
datum-policy
设置某个选项,或恢复默认值:
sudo datum-policy set blockmintxfee=0.00002 sudo datum-policy unset blockmintxfee
也可以直接打开配置文件(常用选项已作为注释示例写在其中),一次修改多项:
sudo datum-policy edit
想撤销:
sudo datum-policy undo
你的设置保存在 /var/lib/knots/policy.conf。安装脚本只会创建一次该文件,之后绝不覆盖,因此更新不会影响你的策略。
应用时会发生什么
- 每一行都会对照你的节点进行检查。节点不认识的选项、不属于策略的设置(该工具不会让你破坏 RPC 连接或修剪设置)、或重复设置的选项,都会在做任何改动之前被拒绝。
- 节点会重启,期间你的矿机不会收到新任务。在我们的测试机上大约需要十秒;内存池较大时可能需要一两分钟。
- 工具会等待节点恢复响应,然后请求它构建一个区块模板,这与你的网关发出的请求完全相同。
- 如果节点无法启动或无法构建模板,工具会自动恢复上一次可用的策略并再次重启节点。被拒绝的文件会保留下来,方便你查看问题所在。
$ sudo datum-policy set minrelaytxfee=banana Checking /var/lib/knots/policy.conf ... OK every option is one this node knows Restarting the node ... WARNING the node refused to start: Error: Invalid amount for -minrelaytxfee=<amount>: 'banana' Putting back the last policy that worked ... ERROR your change was NOT applied; the node is running with the previous policy again.
我的策略会影响收益吗?
你在每次分配中的份额取决于你提交的份额数量,而不是你区块里的内容。更严格的策略只会影响你挖出的区块:其中的手续费可能略少,而被分配的正是该区块的奖励。目前在这条链上,手续费只占奖励的极小部分。xorpool 不设定也不要求任何策略。
已经有网关了?
v1.5.0 之前的安装,无需重新运行安装脚本即可添加此命令:
curl -fsSLo datum-policy https://raw.githubusercontent.com/bitcoinxor/datum-in-a-box/v1.7.4/datum-policy sudo install -m 755 datum-policy /usr/local/bin/ && datum-policy
它是一个可读的 shell 脚本。你可以先在 GitHub 上阅读。
在 macOS 和 Windows 上,同样的 policy.conf 位于 bitcoin.conf 旁边。按文件中的说明编辑并重启节点即可;该命令目前仅支持 Linux。
还没有网关?按分步教程搭建一个。有问题?请到 Telegram 群提问。