你已经成功启动了节点,并且掌握了如何与它通信。现在,让我们来完成一套比特币在 regtest 环境下的基本操作,这将极大地加深你的理解。
目标:创建一个钱包,挖一些币,然后查看余额。
第1步:创建一个钱包
节点启动时默认不加载任何钱包。我们需要创建一个。
Generated bash
# 使用 bitcoin-cli 创建一个名为 "mywallet" 的钱包
./bitcoin-cli -regtest createwallet "mywallet"
content_copydownload
Use code with caution.Bash
你会收到一个 JSON 回应,里面包含钱包的名字和一些警告信息。
第2步:为新钱包生成一个收款地址
我们需要一个地址来接收挖矿所得的奖励。
Generated bash
# -rpcwallet=mywallet 告诉 cli 你想操作哪个钱包
# 这在多钱包场景下是必须的
./bitcoin-cli -regtest -rpcwallet=mywallet getnewaddress "MyFirstAddress"
content_copydownload
Use code with caution.Bash
这会返回一个 bcrt1... 开头的 Regtest 地址。请复制这个地址。
第3步:挖矿!
在 regtest 模式下,我们可以瞬间"挖"出新的区块。generatetoaddress 命令会挖矿并将区块奖励发送到你指定的地址。
重要提示: 比特币协议规定,Coinbase 交易(即区块奖励)需要经过 100 个区块的"成熟期"后才能花费。所以我们需要挖至少 101 个块,才能让第一个区块的奖励变为可用。
Generated bash
# 将 <你生成的地址> 替换成上一步你复制的地址
./bitcoin-cli -regtest generatetoaddress 101 <你生成的地址>
content_copydownload
Use code with caution.Bash
这个命令会返回一个包含 101 个新区块哈希值的列表。
第4步:查看你的余额
现在,第一个区块的奖励已经成熟可用了。让我们来查看钱包的余额。
Generated bash
./bitcoin-cli -regtest -rpcwallet=mywallet getbalance
content_copydownload
Use code with caution.Bash
如果一切顺利,你应该会看到 50.00000000。这是因为在 regtest 模式下,每个区块的初始奖励是 50 BTC。
恭喜! 你刚刚在自己的私有比特币网络上完成了从零到有的全过程。通过这几个步骤,你实践了:
-
节点管理 (启动 node)
-
RPC 通信 (使用 bitcoin-cli)
-
钱包管理 (createwallet, getnewaddress)
-
核心共识交互 (generatetoaddress 模拟挖矿和 coinbase 成熟期)
-
状态查询 (getbalance)
现在,你可以继续尝试更多的 RPC 命令,比如 listunspent (查看可用的币),sendtoaddress (发送一些币到另一个地址),等等。你对整个系统的理解会越来越深入。
其他常见比特币网络(补充说明)
-
主网(Mainnet):真实的比特币网络,使用具有实际价值的BTC。
-
测试网(Testnet):公开的测试网络,模拟主网环境,币可免费获取(无价值)。
-
Signet(Signed Testnet):需签名区块的测试网,更稳定,适合应用测试。
-
RegTest(Regression Test)网络:这是一个本地的私有测试网络,专为开发者设计。
-
特点:
-
需要手动创建区块(通过
generatetoaddress
等命令),完全由用户控制。 -
无外部节点连接,适合调试、单元测试或学习比特币核心功能。
-
与主网、测试网隔离,币无实际价值。
-