位元幣位址生成演算法之P2PKH

2021-10-06 16:17:45 字數 1269 閱讀 8487

功能**如下:

) //1. 用私鑰生成公鑰

privkey = secp256k1.privkeyfrombytes(rawprivkey)

//2. 計算公鑰

if iscompress else

//3. 計算公鑰的sha256雜湊值

//4. 計算上一步結果的ripemd160雜湊值

if hash160, err = ripemd160aftersha256(pubkey); err != nil

//6. 取上一步結果,計算sha256雜湊值

//7. 取上一步結果,在計算sha256雜湊值

hash256 = sha256aftersha256(hash160withprefix)

//8. 取上一步結果的前四個位元組,放在第五步結果後面,作為校驗

//9. 用base58編碼上一步結果

return base58.encode(address),nil

}下面是測試**:

func testnewp2pkh(t *testing.t)  ,

} var err error

var address string

for _, onecase := range testcases

if address != onecase.address

} })

}

工具**:

下面這個**可以看到一步一步怎麼計算得到最終結果的。btw,這**要翻牆才能看。

(全文完)

位元幣位址生成演算法之P2SH

功能 計算公鑰 if iscompress else base58check 0x05 hash160 0x00 0x14 hash160 pubkey 上面的 hash160 x ripemd160 sha256 x base58check x x sha256 sha256 x substrin...

位元幣位址生成演算法之公鑰和私鑰(上)

關於橢圓曲線部分的知識,我就不寫了,不是因為簡單,恰恰相反,因為太難了,我自己也沒搞懂。這裡我只寫一點寫 的時候需要掌握的一點點知識。首先是公鑰,我們可以把公鑰看成是乙個二維座標上的點,作為乙個二維座標上的點,它當然有x軸和y軸兩個數來共同決定。另外,這兩個數還特別大,每個數要用256bit來儲存,...

《區塊鏈寶典》位元幣默克爾根生成演算法及原理

一 默克爾樹 二 默克爾根 一 只有唯一一次鑄幣交易 只有唯一一筆coinbase交易的hash就是默克爾根的hash值 二 默克爾根的生成步驟 將每乙個葉子節點下的分支節點進行兩兩hash,之後大小端顛倒然後拼接到一起,拼接好的資料進行雜湊運算,之後在進行一次大小端顛倒 如下 package ma...