这是我最近写的一个近乎于完整的模拟比特币的代码实现,实际上还不够完整,不过已经能实现打包交易进入区块,然后挖矿了。这个程序是只有一个节点在挖矿,所以暂时也不涉及分布式系统的东西,还算比较简单容易理解。这个程序就是整个网络中一个节点的视角。分享出来希望对大家有所帮助。
部署过程就是把代码统统贴过去,要注意的就是代码中有两个文件的路径,要手动改一下,代码中有两个文件的路径,要手动改一下,代码中有两个文件的路径,要手动改一下,重要的事情说三遍,然后就可以运行,观察比特币挖矿过程啦!有问题欢迎提问。
Blockchain.h这个没什么说的,创建一个区块链类
Blockchain.cpp修改难度值在这里修改Blockchain的构造函数中的nDifficulty就可以了。
Block.h这里是声明区块类
Block.cpp
玩转比特币:比特币挖矿新手入门教程
sha256.h 这是一个哈希算法,没什么说的,网上抄的,这个东西我到现在也没看懂,太深奥了。但是只要知道功能就行了。
sha256.cpp
user.h创建一个用户类
user.cpp这里是实现用户的打包交易,通过默克尔树的方式将若干条交易打包。其中300TXdata.txt后面我会贴上,一定注意文件的路径问题,不然可能运行不了。(大神当我没说)。
TestforBitcoin.cpp这就是测试程序了,我是假设100个用户中某个用户挖矿成功了,然后来挖矿。实际上不是这样的过程,而是先挖矿才知道是哪个用户挖矿成功,不过对于一个用户来说,都无所谓了,只是为了模拟的逼真一点,加了个随机数。
300dataTX.txt这里包含了300条交易,用户A->用户B的转账,以及金额,这个东西我是用一个程序模拟生成的,如果需要这个这个程序我之后再发出来。
以上就是比特币C++代码实现的详细内容,更多关于比特币代码实现的资料请关注掘金网其它相关文章!
详细描述什么是比特币私钥、账户与钱包
原创文章,作者:菜鸡,如若转载,请注明出处:https://www.20on.com/212440.html