Programming The Blockchain in C#をJSでやる
3564 ワード
Programming The Blockchain in C# とは
ブロックチェーン(主にbitcoin)をC#で学べる、無料で読める本です。
クリエイティブ・コモンズにのっとってオープンに作成されています。
https://programmingblockchain.gitbooks.io/programmingblockchain-japanese/
個人的にC#を触ったことがない&ブロックチェーン開発はJSの方が主流なように見受けられるので、JSで最後まで進められるのか把握していませんが、今回はJSでやっていこうと思います。
library
bitpay社が提供しているbitcoreを用います。
https://github.com/bitpay/bitcore
npm install bitcore
ライブラリのAPI等はこちらに載っています。
https://bitcore.io/api/lib
ビットコインアドレス
var bitcore = require('bitcore-lib');
var privateKey = new bitcore.PrivateKey(); // ランダムな秘密鍵を生成
var publicKey = privateKey.toPublicKey(); //秘密鍵から公開鍵を作成
console.log(publicKey); //<PublicKey: 028f1f9fdbe95b653b36652e8b4189ec05c328015cd08ef801c865426c4808418b>
console.log(publicKey.toAddress('mainnet')); //<Address: 17SzkBJ8qkn76a8eDMYH4vHtsUKgMG7xVH, type: pubkeyhash, network: livenet>
console.log(publicKey.toAddress('testnet')); //<Address: mmxx3EP7enDMsgcFvvWetqWDjTvPJitAWa, type: pubkeyhash, network: testnet>
var bitcore = require('bitcore-lib');
var privateKey = new bitcore.PrivateKey(); // ランダムな秘密鍵を生成
var publicKey = privateKey.toPublicKey(); //秘密鍵から公開鍵を作成
console.log(publicKey); //<PublicKey: 028f1f9fdbe95b653b36652e8b4189ec05c328015cd08ef801c865426c4808418b>
console.log(publicKey.toAddress('mainnet')); //<Address: 17SzkBJ8qkn76a8eDMYH4vHtsUKgMG7xVH, type: pubkeyhash, network: livenet>
console.log(publicKey.toAddress('testnet')); //<Address: mmxx3EP7enDMsgcFvvWetqWDjTvPJitAWa, type: pubkeyhash, network: testnet>
ビットコインのアドレスはメインネットとテストネットでプレフィックスが異なるので、その様子が分かりますね。アドレスは、Base58Checkにエンコードされたものです。
https://en.bitcoin.it/wiki/List_of_address_prefixes
参考
Author And Source
この問題について(Programming The Blockchain in C#をJSでやる), 我々は、より多くの情報をここで見つけました https://qiita.com/rndstone/items/908da1458e6eb8404497著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .