自己动手学习如何搭建比特币私有链(三)

看过前面介绍的关于 bitcoin-core 的文章,相信小伙伴们已经等得不耐烦了。

那么我们赶快进入实际操作的篇章吧。


前文链接:

https://www.sysadm.cc/index.php/xitongyunwei/869-practicing-how-to-build-bitcoin-private-blockchain-by-myself-1

https://www.sysadm.cc/index.php/xitongyunwei/870-practicing-how-to-build-bitcoin-private-blockchain-by-myself-2


连接到 regtest

正如之前所说,我们需要各个节点连接到私有链,也就是 regtest 网络。

当配置得当,启动程序后,我们可以在菜单 窗口 > 节点窗口 > 信息 中看到,相应的 bitcoin 路径中有一个新建的 regtest 目录。

并且我们也可以确认当前的网络为 regtest ,如果是这样那么就说明我们成功创建了私有链。


同时我们也能看到,各个节点会有通讯流量,说明它们在同步。


此外,我们可以在 窗口 > 节点窗口 > 控制台 中直接输入命令来操作和管理 bitcoin-core

在这里输入并执行命令的效果和 bitcoin-cli 是一样的,只不过比较适合喜欢使用界面的小伙伴们。


在输入框中你可以输入 help 来查看所有的有效命令,不同版本命令有可能不太一样,有一些命令在新版中已经作废。

如要查看具体的命令用法,可以以 help + command 的形式查看。


好了,有了控制台我们就可以开始操作命令了,当然后续我还是用 bicoin-cli 来说明,实际是一样的。


创建钱包

用以下命令创建一个名为 xjWallet 的钱包。

bitcoin-cli -regtest createwallet xjWallet
 

也可以用图形界面来操作,点击菜单 文件 > 创建钱包... ,也很方便。


生成区块

生成 100 个区块,千万注意 generate 前面有个减号,新版就这样。

bitcoin-cli -regtest -generate 100
 


这个命令一执行不要紧,界面立马出现了变化。

总额变成了 3650 BTC ,哇哈哈,我已经这么富有了吗?

再仔细一瞧,好么,未成熟也是 3650 BTC。

啥意思?意思就是钱再多,也用不了。

这是比特币系统默认的设定,就是这样设计的,不服找中本聪去,反正到现在他的真实身份都没人知道!

哈,话说回来,系统设定为最前面的100个区块的钱是不给花的,要从第101个区块开始钱才有的拿。

好吧,反正是我们自己的测试节点,再生成一个区块不就得了,走起!

bitcoin-cli -regtest -generate 1
 

嘿嘿,终于有了真正属于我们的、可以消费的 50 个 BTC 了!


其他节点

前面都是在主节点也就是头一个节点上操作的,同时创建了一个钱包并搞定了101个区块获得了50个BTC。

那么其他节点怎么整呢?

其实很简单,因为除了头一个节点有那么一点服务端的影子外,其他节点都是平等的,连接到上一个节点就可以了。

在配置文件中加入 connect=x.x.x.x 的参数描述,或直接在命令行中指定 -connect=x.x.x.x 参数即可连接到节点 x.x.x.x 上。

其中你在写入配置文件的时候要小心,应该将参数写在 [regtest] 子区域中,写在其他地方都是无效的,新版就这样,可别写错了哦!


完事后就是连接,然后再创建各自的钱包,再然后就是后续的比如挖矿转账之类的日常操作了。


创建名称为 xjWallet 的钱包。

bitcoin-wallet -chain=regtest -wallet=xjWallet create
 


查看名称为 xjWallet 的钱包

bitcoin-wallet -regtest -wallet=xjWallet info
 


简单交易演示

有的小伙伴们可能会问,怎么我的钱包里没钱啊?

其实我看是你们想钱想疯了吧,你想想你手里的人民币是哪里来的?

对嘛,不是别人给的,就是老板发工资给你的嘛,自己怎么可能变出钱来嘛!

所以说,我们要先去找发钱的那个机构,想办法从那里搞钱过来,有了一定数量的货币,然后这个钱就会在市面上流通开来,这样大家就都有钱了。

OK,我们来试试从第一个节点那儿搞点钱花花。


首先我们要知道,第一个节点我们通过挖矿有了50个BTC可以消费。

另外我们还要知道,钱需要打在哪里去,也就是收款人的地址。

好,我们先去一个子节点上获取收款地址。


点击 bitcoin-qt 界面上的 接收 选项卡,点击 新建收款地址(C) ,系统自动创建了一个收款地址。

有两个东东,一个是 URI ,还有一个是地址,其实两个都能用。


URI 或地址复制出来后,发送给付款方。

付款方将地址粘贴至地址栏处,并输入付款金额,点击左下角的发送按钮。


期间有可能会弹出手续费估计失败的错误提示。


手续费要给多少,说实话我也不懂,但是交易总是要交手续费的,这也是比特币的一个特性,用来激励用户。

我们自定义一个手续费,好像这样就可以发送付款了。


发送成功后,我们可以在付款方和收款方看到产生了一条交易记录。


从收款方的余额来看,的确到账了10个BTC,但是还不能取出花,这是因为完成交易是需要网络上的网工推动的。

这个行为的确非常令人迷惑,起初我也是搞不懂,后来有点明白了,意思就是比特币所有的货币流动都是需要大量用户(矿工)共同参与共同互动的。


如果实在等不及,那就手动在第一个节点那儿再生成一个区块。

bitcoin-cli -regtest -generate 1
 

这时就可以看到交易完成了,收款方获得了10个可用于消费的BTC了。


写在最后

我对比特币知之甚少,目前只学到了一些皮毛,还有非常庞大的知识体系不甚了解,总结为以上这些基础内容,希望能给小伙伴们入门起到抛砖引玉的作用。

关于区块链还有很多很多复杂晦涩难懂的概念和术语,作为小白的确让人望而却步。

不过据说在不久的将来,以比特币为代表的区块链技术将会进一步深入到世界的各个领域。

特别是对孩子们,学习和了解这些技术知识显得尤为重要。

其重要性不再是只教给孩子们如何使用虚拟货币,有可能将来的孩子们不仅需要学习了解虚拟货币技术的实现,更需要能达到定制设计并发行自己虚拟货币的高度。

这是大势所趋,因此我们更加应该对这项给人类带来革命性的技术给予更多高度的关注。


扫码关注@网管小贾,阅读更多

网管小贾的博客 / www.sysadm.cc



提交评论

安全码
刷新

© 2020-present 网管小贾 | 微信公众号 @网管小贾
许可协议:CC-BY-NC 4.0 | 转载文章请注明作者出处及相关链接