主页 > imtoken官方安卓版下载教程 > 如何建立比特币测试链

如何建立比特币测试链

首先,我们将建立一个回归比特币测试链作为一个游乐场,我们可以在其中观察事物如何运作以及如何与区块链交互。 因为这条链没有任何价值,而且我们可以随时生成新区块,所以它非常适合学习而没有实际赔钱的风险。 稍后,我将展示 coinbase 交易的样子及其优势。 最后,我们将使用 Bitcoin Core 附带的命令行工具 bitcoin -tx 创建我们自己的交易。 比特币核心是比特币协议的参考实现。 图形版本称为 bitcoin-qt,它带有一个命令行工具,可以创建称为 bitcoin-tx 的交易。

先决条件:您需要有 bitcoin-qt(v0.17.1 或更高版本)。

那我们开始吧?

主网、测试网、注册测试——它们是什么意思?

比特币和大多数其他加密货币具有三种操作模式。

Mainnet(主网)是作为正式版使用的网络,具有一定的价值。 所有真实交易都发生在这个网络上,人们通过主网获得报酬。

测试网(Testnet),一个与主网规则几乎相同的网络(一些操作码在主网上是被禁止的,而在测试网上则解除了这个限制)。 它具有对等点发现功能,即它可以在类似于主网的测试网网络上找到对等点,并且它是一个运行它的点对点(p2p)网络。

比特币测试币获取_外国的比特币便宜中国的比特币贵为什么?_site163.com 比特币获取

Regtest 是一个私有区块链,具有与 testnet 相同的规则和地址格式,但没有可连接的全球 p2p 网络。

由于主网币有价值,testnet/regtest币没有价值,所以用不同的前缀来区分。 主网地址以“1”、“3”或“bc1”开头,testnet/regtest地址以“m”、“n”、“2”或“tb1”开头。 请记住,testnet/regtest 地址没有价值,因此了解其中的区别很重要! 钱包可以检测到差异,但在某些情况下,人们也会被测试网硬币愚弄!

我们将使用 regtest,因为我们可以轻松地创建我们自己的区块链,并且可以使用我将在稍后讨论的便捷命令在不使用挖掘硬件的情况下挖掘块。

图形化的 Bitcoin Core 客户端 Bitcoin-qt 还可以在视觉上区分不同的网络,以帮助您识别它们的操作模式。 当您第一次安装 bitcoin-qt 时,它将使用熟悉的橙色比特币符号在主网上运行。 Testnet 使用绿色,regtest 使用蓝色。

图 1 显示。 在运行 mainnet、testnet 和 regtest 时使用 Bitcoin-qt。

好的,但是我如何切换到 regtest?

别担心,切换到 regtest 非常容易。 你只需要编辑比特币的配置文件。 幸运的是,它可以通过 GUI 选项轻松访问。

site163.com 比特币获取_外国的比特币便宜中国的比特币贵为什么?_比特币测试币获取

比特币-qt 开始。 首次启动时如图2所示,点击设置-“选项-”打开配置文件。

图 2 显示。 访问比特币-qt 设置。

图 3 显示。 打开配置文件。

将以下行添加到配置文件中,然后保存:

注册测试=1

关闭 bitcoin-qt 并重新打开它。 您的加载屏幕应如图 3 所示。

恭喜,您现在已准备好深入研究比特币内部结构!

外国的比特币便宜中国的比特币贵为什么?_site163.com 比特币获取_比特币测试币获取

熟悉控制台

Bitcoin-qt 使得与比特币守护进程的交互变得非常容易。 可以在 GUI 中轻松访问控制台。 您可以在帮助 -> 调试窗口 -> 控制台中找到它。

图 4 显示了调试窗口中的信息页面。

如您所见,将出现一个新窗口,其中包含有关 bitcoin-qt 及其运行的网络模式的各种信息。请注意,网络名称为 regtest。 确保你的也是。

让我们单击控制台选项卡,如图 5 所示

图 5,调试窗口信息页面。

有几个命令可用于与比特币守护进程交互。 要查看它们,请在窗口底部键入 help 并按 Enter。 您可以向上滚动以查看完整的命令列表。 如果您需要有关特定命令的帮助,请键入帮助“命令名称”。

外国的比特币便宜中国的比特币贵为什么?_site163.com 比特币获取_比特币测试币获取

图 6 显示。 帮助命令的部分输出。

如果仔细观察,第三条命令称为 getblockchaininfo。 看看它能做什么? 命令帮助可以帮助你很多。 )

输入帮助获取区块链信息。 如帮助系统所述比特币测试币获取,此命令将提供有关区块链的信息。

图 7 显示。 getblockchaininfo 的帮助页面。

在控制台 (RPC) 窗口中输入 blockchaininfo 命令并检查输出。 输出采用一种奇怪的(至少对非程序员而言)格式,称为 JSON(JavaScript 对象表示法)。 这是一种计算机很容易理解的格式,只要稍微了解一下,我们也可以理解它。 help getblockchaininfo 命令描述了每个键的含义。

图 8 显示。 getblockchaininfo 的 JSON 输出。

生成我们自己的块

外国的比特币便宜中国的比特币贵为什么?_比特币测试币获取_site163.com 比特币获取

Regtest 现已设置,但还没有阻止。 什么样的区块链没有区块?

生成命令来救援!

如前所述,regtest 环境允许我们在不使用任何挖掘 asic 或专用硬件的情况下创建任意数量的块。 这使得测试比特币过程中可能发生的不同情况变得容易,我们可以随时创建区块以节省时间。

让我们生成一些块,以便稍后测试 BTC。 我们必须考虑到挖矿规则,一个人如果之前已经挖了 100 个区块,就只能花费一个区块奖励。 这意味着我们必须生成 101 个区块才能使 50 个 regtest BTC 可用。 打开控制台输入:generate 101

图 9 显示。 生成命令输出。

你会看到很多弹出窗口说“传入交易”。 等待几秒钟,直到它们消失。 奇怪的数字和字母是生成块的哈希值。

请注意图 11 中“余额”标签下方的数字。我们现在有 50 个 rBTC 可用,请记住,我们生成了 101 个区块,因此区块 1 已经成熟比特币测试币获取,可以使用奖励。

对如何使用奖励、什么是 coinbase 交易以及比特币交易如何运作感兴趣?