目标:创建一个钱包,挖一些币,然后查看余额

你已经成功启动了节点,并且掌握了如何与它通信。现在,让我们来完成一套比特币在 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等命令),完全由用户控制。

    • 无外部节点连接,适合调试、单元测试或学习比特币核心功能。

    • 与主网、测试网隔离,币无实际价值。