FC2ブログ
08«1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.»10

たまひびとらの絵本の実

読書好きな姉妹と弟と父母の読んだ本

Pythonで始めるスクラッチからのブロックチェーン開発入門 

Pythonで始めるスクラッチからのブロックチェーン開発入門
Pythonで始めるスクラッチからのブロックチェーン開発入門

このトピックに興味ある人にはおすすめ。ただしノンプログラマーにとってこの方の話・コーディングは速いね。pycharm もハードルある(複数のパイソンプログラムを同時に扱い、実行にはコンフィギュレーション設定が必要)。

ブロックチェーンでは、各ブロックの情報(そのときの時間、そのブロック時間内での取引の記録、ナンス値、前ハッシュ値)が記録される。そのブロック情報に計算をした結果が、先頭に0が続くハッシュ値になるように「ナンス値」を求めるのがマイニング。このナンス値探しはハッシュ値の性質から(ちょっとでも違うと全然違うハッシュ値が出てくるのでとにかく試すしかないという意味で)総当たり法でひたすらマシンパワーを使って行われる。まずゼロを試し、だめなら1、というように試し続け、成功する(先頭に0が並ぶ)まで続けられる。成功したときの値が、正しいナンス値としてブロック情報の1つとなる。つまりマイニングがないと、ブロックができないから、ブロックのチェーンもできない。ハッシュ値の計算も楕円曲線の取り扱いもPythonのライブラリーでできる。たとえばこんな感じ。

import hashlib
key = 'making hash'
hash = hashlib.sha256(key.encode()).hexdigest() #16進数表示
print(hash)

後半flask以後は実装できなかった。http://0.0.0.0:5000/ にアクセスできず、local IP addressを入れてやったり127.0.0.1を使ったりしたけどギブアップ。ブロックチェーンの基礎は理解できたので十分満足。

スポンサーサイト



category: プログラム

cm 0   tb 0   page top

訪問者数

カテゴリ

最新記事

最新コメント

最新トラックバック