跳转到正文
buybitcoinsmart

术语表 /节点与软件

Regtest

又称回归测试模式、比特币回归测试网络、本地测试网络。

Regtest 是什么?
Regtest 是运行在您自己机器上的比特币私有网络,您可以按您的指令挖出区块,而无需等待任何其他人产生区块。

这里的一切都不与任何人共享。区块链从它自己的创世区块开始,挖矿难度处于软件允许的最低值,一条命令就能在不到一秒内产生一百个区块。钱包软件、支付处理程序和闪电网络的各种实现,都在接触资金之前于此进行测试。

运作方式

使用 regtest 选项启动 bitcoind,会创建一条没有对等节点、没有历史记录的区块链。

该网络没有 DNS 种子,也没有可供连接的默认节点,因此除非您再启动一个实例并手动连接,否则您就是自己区块链上的唯一节点。该守护进程在端口18444上监听对等节点,在18443上接收 RPC 调用,数据保存在单独的 regtest 目录中,生成的地址以 bcrt1 开头,因此不可能与任何有价值的地址混淆。

区块在您提出要求时才会出现。generatetoaddress 命令会向您指定的地址挖矿,通常的第一步是挖101个区块而不是1个,因为币基输出必须在其上再有100个区块之后才能花费。只有第101个区块出现之后,您才拥有可花费的币,用来完成其余的测试。

另有两个参数与主网刻意不同。Regtest 起初的区块补贴同样是50 BTC,但每150个区块减半一次,而不是每210,000个区块,因此挖出几千个区块的一次会话就会把奖励降到零,使您无法再为任何新操作提供资金。同时,由于难度下限极低,重组区块链可以随意制造:invalidateblock 会从您选定的任意区块回滚区块链,reconsiderblock 则将其恢复,这是观察六个区块的重组对钱包余额有何影响的唯一实用方法。

在哪里会遇到它

Regtest 是比特币自身测试套件所运行的网络。

Bitcoin Core 的功能测试会启动 regtest 节点,让它们依次运行各种场景,再将其关闭,软件的改动就是这样在发布前得到检验的。Core Lightning 和 LND 对通道逻辑也是如此,Polar 则为这一工作流程提供了图形界面,让您只需点击几下,就能在笔记本电脑上创建一个小型闪电网络。BTCPay Server 出于同样的原因提供了 regtest 开发环境:任何人都不应该在客户付款时才发现结账环节的缺陷。

如果您正在为网站接入比特币支付,最初的一百笔支付应当在这里完成。您可以精确控制确认时间,可以模拟卡住的交易或手续费上调而无需为此付费,还可以预演那种否则一年才会遇到一次的重组。

对于购买或持有比特币的人来说,您不会主动连接 regtest,但了解这个名称仍有价值。以 bcrt1 开头的地址不是比特币地址,任何向您显示这种地址的钱包,都已被指向一条只存在于您眼前这台机器上的私有区块链。

请勿混淆

常见问题

为什么 regtest 教程总是挖101个区块?

因为币基输出需要100次确认才能花费。挖101个区块会使第一个区块的奖励变为可花费,这是让您拥有可用币的最小数量。

regtest 的币有可能值钱吗?

不能。这条区块链只存在于您自己的机器上,有自己的创世区块,与比特币没有任何共同的历史。其地址以 bcrt1 开头,任何真实的钱包或交易所都不会接受。

相关术语

节点与软件中的更多术语

阅读本页英文版