亲爱的朋友们,您好,
我正在使用GoLang编写一个程序来挖掘比特币。这是我的大学结论项目的一部分,可能不会被用来挖掘比特币,因为它不会在常规PC上运行效率(面对那些巨大的中国矿业池)。虽然它最初并不打算用于实际用途,但我的学院期望用于开发真正的比特币(并行)的完美软件。
到目前为止,我已经实现了相当广泛的代码,因此,你们可能认为我已经有了实现的方法:
- 获取待处理的交易以填充我的区块(来自https://blockchain.info)
- 在检索到的交易数据上构建merkle树
- 计算给定数据输入的sha256(我也理解这种散列函数背后的概念)
醇>
我已经在下面组织了关于这个主题的问题:
问题1)我无法准确地告诉如何构建一个将附加到块链的块头。我知道它有像我们的merkle树的根(我已经知道如何计算)或版本字段的字段,但如果我要生成块头作为字节数组,我该怎么做?我想看看如何计算构建标题所需的每个字段和我们的字节数组(代表标题)看起来如何。
任何虚拟数据都可用于此示例,我的重点仍然是理解过程和数据结构。
请注意,我已经读过这个:https://bitcoin.org/en/developer-reference#block-headers
关于比特币协议如何实现我目前的代码,我已经研究了很多,但我觉得我在网上找到的有关比特币协议内部细节的信息非常有限:
问题2)您是否有任何在线技术信息可供我阅读有关标题主题和/或比特币中的任何其他信息?保持在中间,我仍然有相当多的代码要编写,因此,我正在获取所有可以获得的信息:)
提前致谢!