ビットコインエクスプローラー(1)
ペイメントアドレスの構築
0 - プライベートECDSAキーを用意する。
18e14a7b6a307f426a94f8114701e7c8e774e7f9a47e2c2035db29a206321725
1. ECDSAに対応する公開鍵を作成する。(65バイト:1バイト<0x04> + X軸32バイト + Y軸32バイト )
bx ec-to-public -u 18e14a7b6a307f426a94f8114701e7c8e774e7f9a47e2c2035db29a206321725
0450863ad64a87ae8a2fe83c1af1a8403cb53f53e486d8511dad8a04887e5b23522cd470243453a299fa9e77237716103abc11a1df38855ed6f2ee187e9c582ba6
2. 公開鍵をSHA256ハッシュ化
bx sha256 0450863ad64a87ae8a2fe83c1af1a8403cb53f53e486d8511dad8a04887e5b23522cd470243453a299fa9e77237716103abc11a1df38855ed6f2ee187e9c582ba6
600ffe422b4e00731a59557a5cca46cc183944191006324a447bdb2d98d4b408
3. RIPEMD-160で変換
bx ripemd160 600ffe422b4e00731a59557a5cca46cc183944191006324a447bdb2d98d4b408
010966776006953d5567439e5e39f86a0d273bee
4. version Code(1バイト:mainnet 0x00)を頭につける
00010966776006953d5567439e5e39f86a0d273bee
5. SHA256で変換する。
bx sha256 00010966776006953d5567439e5e39f86a0d273bee
445c7a8007a93d8733188288bb320a8fe2debd2ae1b47f0f50bc10bae845c094
6. SHA256でもう一度変換する。
bx sha256 445c7a8007a93d8733188288bb320a8fe2debd2ae1b47f0f50bc10bae845c094
d61967f63c7dd183914a4ae452c9f6ad5d462ce3d277798075b107615c1a8a30
7. 最初の4バイトを取り出す。チェックサムとなる。
cut -b1-4 d61967f63c7dd183914a4ae452c9f6ad5d462ce3d277798075b107615c1a8a30
d61967f6
8. 4.の結果と、7.の結果をくっつけ、25バイトの列を作成
00010966776006953d5567439e5e39f86a0d273beed61967f6
9. BASE58でエンコードする。
bx base58-encode 00010966776006953d5567439e5e39f86a0d273beed61967f6
16UwLL9Risc3QfPqBUvKofHmBQ7wMtjvM
10. 上記操作を省略する方法
bx ec-to-public -u 18e14a7b6a307f426a94f8114701e7c8e774e7f9a47e2c2035db29a206321725 | bx sha256 | bx ripemd160 | bx address-encode
16UwLL9Risc3QfPqBUvKofHmBQ7wMtjvM