当前位置: 首页 > news >正文

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

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

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

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

http://www.lqws.cn/news/445969.html

相关文章:

  • 算法导论第十八章 计算几何:算法中的空间艺术
  • 使用 mysql2/promise 模块返回以后,使用 await 返回数据总结
  • 声网对话式 AI:开启我的编程进阶之旅
  • CDH部署HDFS详细指南
  • Arduino入门教程​​​​​​​:12、WS2812B
  • 不会PLC,怎么学上位机?
  • 在 Mac 上配置 Charles,抓取 iOS 手机端接口请求
  • 写实数字人:开启教学新纪元,重塑教育生态
  • 股票心理学习篇:交易的人性弱点 - 频繁交易
  • 基于 Apache POI 实现的 Word 操作工具类
  • 目标检测之YOLOV11自定义数据使用OBB训练与验证
  • 用Java将PDF转换成GIF
  • 关于嵌入式编译工具链与游戏移植的学习
  • S32K328打断点调试进入main函数之前的准备工作
  • 如何保证MySQL与Redis数据一致性方案详解
  • 中科米堆全自动三维光学测量航空部件尺寸测量分析
  • 白热化买量竞争下,消除手游如何巧借“创意”破局?
  • OpenLayers 加载投影坐标GeoTIFF影像
  • 微信小程序canvas实现抽奖动画
  • react forwardRef和readux的connect冲突,导致ref.current获取不到值
  • Linux中的阻塞信号与信号原理
  • 主流防火墙策略绕过漏洞的修复方案与加固实践
  • MCAL(7)-AutoSar存储
  • 前端如何通过 Blob 下载 Excel 文件
  • angular 图斑点击,列表选中并滚动到中间位置
  • 网页后端开发(基础5--JDBC VS Mybatis)
  • linux路由
  • 响应式数据框架性能深度分析报告(@type-dom/signals)
  • PromptWizard:强化学习或者多Agent 优化提示词
  • SpringBoot定时监控数据库状态