Qitmeer挖矿之coinbase分析

目前多数的挖矿软件和矿池的设计,都是在coinbase上做文章,利用coinbase巧妙的设计来添加一些附加信息。coinbase是什么呢,是一笔交易,一笔特殊的交易,我们知道,区块链对矿工有挖矿打包奖励,那么这个奖励,就是通过一笔coinbase的交易发送给矿工的,这个交易,一般都是规定的,写在区块交易对的第一个,所以我们一般称之为coinbase交易,那么coinbase交易包含哪些信息呢,下面以qitmeer(测试链)为例,给大家分析下。

我们从qitmeer测试链,获取一个coinbase,数据如下:

010000000119a23da1d8b7b590b3096d4841403b877d2fbe4e6ef908c11d0f61c4ea2b238effffffffffffffff0280461c86000000001976a914e2901efe76aa8604003489a176581c669d6e88dc88ac80b2e60e000000001976a914868b9b6bc7e4a9c804ad3d3d7a2a6be27476941e88ac0000000000000000014c52089ddadac0138c72a81c736f6c6f3230313931353533323139383134383337393538333834332463626261653438622d386530392d343163642d613234632d313961643439393866616332

根据qitmeer coinbase结构,我们划分数据如下:

01000000,版本号

01,总输入数量

//第一笔输入:

19a23da1d8b7b590b3096d4841403b877d2fbe4e6ef908c11d0f61c4ea2b238e,hash(qitmeer此处用交易列的merkleroot替代零hash)
ffffffff,OutIndex
ffffffff,Sequence

02,总输出数量

80461c86000000001976a914e2901efe76aa8604003489a176581c669d6e88dc88ac,第一笔输出(tax)
80b2e60e000000001976a914868b9b6bc7e4a9c804ad3d3d7a2a6be27476941e88ac,第二笔输出(矿工奖励)

00000000,LockTime
00000000,Expire

witness:

01 4c52089ddadac0138c72a81c736f6c6f3230313931353533323139383134383337393538333834332463626261653438622d386530392d343163642d613234632d313961643439393866616332

那么,一般挖矿软件和矿池在设计的时候,就可以在witness里添加一些特别的信息,比如为矿池打广告等.

原文链接:https://github.com/5dao/docs/blob/dao/Document/content/faqs/qitmeer-pool/coinbase/_index.cn.md