首先,我们将建立一个返回到比特币测试链的游乐场,在这里我们可以观察事物的工作方式以及与区块链的交互方式。由于该链没有价值,因此我们可以随时生成新的块,因此它是学习的理想选择,而没有冒实际损失的风险。稍后,我将展示coinbase交易的外观及其优势。最后,我们将使用Bitcoin Core随附的命令行工具Bitcoin-tx创建自己的交易。比特币核心是比特币协议的参考实现。图形版本称为bitcoin-qt,它带有一个命令行工具,该工具可以创建称为bitcoin-tx的交易。先决条件:您必须具有bitcoin-qt(v0.17.1或更高版本)。我们可以开始了吗? Mainnet,testnet,regtest-它们是什么意思?比特币和大多数其他加密货币具有三种操作模式。 Mainnet是用作正式版本的网络,它具有一定的价值。所有真实交易都在该网络上进行,人们通过主网获得报酬。 Testnet(testnet),具有与主网几乎相同的规则的网络(主网上禁止某些操作码,并且该限制在Testnet上已删除)。它具有对等点发现功能,即可以在testnet网络上找到类似于主网的对等点,并且它在对等(p2p)网络上运行。 Regtest是一个私有区块链,具有与testnet相同的规则和地址格式,但是没有可连接的全球p2p网络。由于mainnet代币具有价值,而testnet / regtest代币没有价值,因此可以通过不同的前缀来区分它们。主网地址以“ 1”,“ 3”开头。或测试网/ regtest地址以“ m”,“ n”,“ 2”开头。或“ tb1”。请记住,testnet / regtest地址没有任何价值,因此了解它们之间的区别很重要!钱包可以检测出差异,但是在某些情况下,使用testnet硬币会骗人!我们将使用regtest,因为我们可以轻松创建自己的区块链,并且可以使用方便的命令来挖掘区块而无需挖掘硬件,这将在稍后讨论。图形化的比特币核心客户端Bitcoin-qt还可以在视觉上区分不同的网络,以帮助您确定操作模式。首次安装Bitcoin -qt时,它将使用熟悉的橙色Bitcoin符号在主网上运行。 Testnet使用绿色,而regtest使用蓝色。如图1所示。在运行mainnet,testnet和regtest时使用Bitcoin-qt。好的,但是我该如何切换到regtest?不用担心,切换到regtest非常容易。您只需要编辑比特币配置文件。幸运的是,可以通过GUI选项轻松访问它。 Bitcoin-qt开始了。首次启动时,它将如图2所示。打开配置文件。如图2所示。访问bitcoin-qt设置。如图3所示。打开配置文件。将以下行添加到配置文件,然后保存:regtest = 1关闭bitcoin-qt并重新打开它。您的加载屏幕应该如图3所示。恭喜,您现在可以学习比特币的内部原理了!熟悉控制台Bitcoin-qt使得与Bitcoin守护程序进行交互变得非常容易。该控制台可在GUI中轻松访问。您可以在“帮助”-“调试窗口”-中找到它。安慰。图4显示了调试窗口中的信息页面。如您所见,将出现一个新窗口,其中包含有关bitcoin-qt及其运行的网络模式的各种信息。请注意,网络名称为regtest。确保你也是。让我们单击“控制台”选项卡,如图5所示,即“调试窗口”信息页面。有几个命令可用于与比特币守护程序进行交互。要查看它们,请在窗口底部键入帮助,然后按Enter。您可以向上滚动以查看命令的完整列表。如果您需要有关特定命令的帮助,请输入帮助“命令名称”。如图6所示。help命令的部分输出。如果仔细观察,第三个命令称为getblockchaininfo。看到它能做什么?命令帮助可以为您提供很多帮助。 )输入帮助getblockchain信息。如帮助系统中所述,此命令将提供有关区块链的信息。如图7所示。getblockchaininfo的帮助页面。在控制台(RPC)窗口中输入blockchaininfo命令,然后检查输出。输出采用奇怪的格式(至少对于非程序员而言),称为JSON(JavaScript对象表示法)格式。这是计算机可以轻松理解的格式,我们只有通过了解相关知识才能理解它。 help getblockchaininfo命令描述每个密钥的含义。如图8所示。getblockchaininfo的JSON输出。生成我们自己的块Regtest现在已设置,但是还没有块。什么样的区块链