2021-07-01から1ヶ月間の記事一覧

ERC20 トークンを試す(その2)

今度はERC20のもう一つのプリセット,ERC20PresetMinterPauser.json を試してみる. > tkn = await ERC20PresetMinterPauser.new("My Token", "MTK") これは名前の通り,トークンの追加と送金停止が可能である.トークンの供給量を増やすことをミント(鋳造…

ERC20 トークンを試す(その1)

イーサリアムのトークン標準規格であるERC20に準拠したトークンを試作する.今回はLinuxを使う. まずnode.jsをインストールする.バージョンは以下のとおり. $ sudo apt-get install nodejs, npm $ nodejs -v v10.19.0 $ npm -v 7.18.1 続いて truffle を…

簡単なブロックチェーンをつくる(その10 ブロックチェーンの検証)

最後にブロックチェーンの検証のコードを加えて,一応の完成とする.verify_blockchain関数は各ブロックのハッシュ値を再計算し,ブロックに記録されいているものと一致するか調べる.この関数はsync関数のなかでブロックチェーンをコピーするときに使ってい…

簡単なブロックチェーンをつくる(その9 ノードの同期)

各ノードのブロックチェーンは /block により別々にブロックが生成される.そこで同期をとる時点で一番長いブロックをもつブロックチェーンを「真の」ブロックチェーンをみなすことにする.その他のノードのブロックチェーンは一番長いブロックチェーンに置…

簡単なブロックチェーンをつくる(その8 複数ノード)

ブロックチェーンを複数のノードでつくらせる.各ノードの名前は localhost:5000, localhost:5001 などのようにドメイン名とポート番号にする. # ノードの所有者 node_owner = sys.argv[2] print("node owner=", node_owner) @app.route('/nodes/add', meth…

簡単なブロックチェーンをつくる(その7 マイニング)

ジェネシスブロック以外のすべてのブロックもマイニングによって生成する.どのブロックにもトランザクションリストの先頭にコインベーストランザクションをつくる.コインの送り先はとりあえずジェネシスブロックと同様にSatoとするが,あとで複数ノードに…