coinbase交易結構為:
位元組字段描述4
版本這筆交易參照的規則
1-9輸入計數器
包含的交易輸入數量
32交易雜湊
不引用任何乙個交易,值全部為0
4交易輸出索引
固定為0xffffffff
1-9coinbase資料長度
coinbase資料長度
不定coinbase資料
在v2版本的區塊中,除了需要以區塊高度開始外,其它資料可以任意填寫,用於extra nonce和挖礦標籤
4順序號
值全部為1,0xffffffff
1-9輸出計數器
包含的交易輸出數量8總量
用聰表示的位元幣值
1-9鎖定指令碼大小
用位元組表示的後面的鎖定指令碼長度
不定鎖定指令碼
乙個定義了支付輸出所需條件的指令碼
4鎖定時間
乙個區塊號或unix時間戳
stratum協議中coinbase構造方式
用到的資訊包括coinb1, extranonce1, extranonce2_size 以及coinb2,構造很簡單:
coinbase=coinb1 + extranonce1 + extranonce2 + coinb2
礦池在notify時已經構建了coinbase交易,系列化後在指定位置分割成coinb1和coinb2,coinb1和coinb2包含指定資訊,比如coinb1包含區塊高度,coinb2包含了礦工的收益位址和收益額等資訊,但是這些資訊對於礦工來說無關緊要,礦工挖礦的地方只是extranonce2 的4個位元組。另外extranonce1是礦池寫入區塊的指定資訊,一般來說,每個礦池會寫入自己礦池的資訊,比如礦池名字或者網域名稱,我們就是根據這個資訊統計每個礦池在全網的算力比重。
stratum協議流程
1、mining.subscribe,返回如下
魚池實測資料:mining.subscribe
sessionid=mining.notify
nonce1=00(extranonce1 )
n2size=8(extranonce2_size )
2、mining.authorize
3. 礦池分配任務,返回如下:
SQL與NoSQL MySQL與NoSQL的融合
寫這一篇內容的原因是mysql5.6.2突然推出了memcached的功能。nosql to innodb with memcached的出現,可以看出nosql對關聯式資料庫的確產生了巨大的影響,個人覺得這是乙個非常大的進步,可以讓開發人員更加方便的使用nosql和關聯式資料庫。nosql一般被認...
指標與陣列 a與 a區別
假設宣告了乙個陣列a,則 a表示陣列a的首位址,a與 a 0 表示陣列a首元素的首位址,那麼 a 1與a 1有哪些區別呢?通過下面的實驗來說明。int i 0 int a 5 int p int a 1 for i 0 i 5 i printf a 0x p,a 0x p,a 1 0x p n a,...
apache與tomcat與weblogic對比
apache,tomcat,weblogic都是常用的中介軟體,發布 等應用都離不開這些好東東。強大程度對比apache 新手容易將apache與tomcat混亂。apache與tomcat都是同乙個公司生產的,apache是輕量級的,tomcat是企業級的。apache一般與php mysql等整...