# bitcoin_gpu_miner **Repository Path**: fly1029/bitcoin_gpu_miner ## Basic Information - **Project Name**: bitcoin_gpu_miner - **Description**: 比特币GPU独立挖矿节点 - **Primary Language**: C++ - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 1 - **Created**: 2020-11-06 - **Last Updated**: 2024-01-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## bitcoin gpu miner(比特币GPU独立挖矿节点) #### 语言 c++14 #### 预想是两个阶段 第一阶段: 收块,收TX,GPU挖矿,打包。与BitcoinCore建立的连接,在RegNet模式下测试通过。 第二阶段: 替换比特币的ScriptVM为类似于以太坊新一代VM ewasm(自实现), 排档期中... #### 当前此项目状态,第一阶段完成 使用了部分比特币源码,主要有序列化,Script VM等,key的管理。 已实现的主要功能: 区块的IBD(Headers-First), 接收,校验,TX的接收,校验,挖矿,打包,发布新块。 支持隔离见证。 未实现的主要功能: Bloom Filter。 校验并没做的很全,像隔离见证的Coinbase Commitment的校验 区块时间要 > 过去11个区块的中位时间 < 未来2小时等等。 实现了以下p2p协议,部分是单向实现 VERSION VERACK INV GETDATA PING TX HEADERS BLOCK #### 关于新块接收 1. 最长链接收测试过了,可以正常跑。 2. 孤块,分叉块处理,代码目前还没有正式测试,但处理逻辑的原理应该是没有问题的。 #### 关于secp256k1 本项目使用的椭圆加密算法实现是比特币使用的secp256k1的静态库 此库的编译选项,可参考本项目中secp256k1内的ru_configure.sh。 #### 关于此项目 此项目因为是纯学习用,所以代码中可优化的地方很多,也有bug,但以学习为目的,应该已可以达到一定的效果了 区块链的大原理,比较好理解,和弄明白。但做为一个真实产品系统来说,其实现时需要注意和严谨的地方真的是非常多 比特币,因其去中心化的特性,不信任任何人,所以代码中存在很多特别严谨的Check,有些实现可以说是奇淫巧计 但对于区块链的升级来说,只能用无奈来形容了。 #### 关于GPU挖矿代码说明 https://www.jianshu.com/p/dc0999184a07