いうことを想定してます。XXXXXXXXとかを、お財布的なものの識別コードと思えば、イメージできるんじゃないでしょうか。それを受け取り、新しいトランザクションを生成する。これは、以下のメソッドで対応しています。new_transaction単純に、上記の入力・出力をうけとり、トランザクションとして扱うデータ構造(辞書)に格納して返すだけです。前のブロックのハッシュを取得する、ただ、最初のブロックは固定値になる。コードでは以下の部分です。"747bc42088cf0b3915982af289189e8f14d3325a7d594bc2d30a7014a536cb13"ブロックチェインが既に存在する場合は、前のブロックのトランザクションハッシュを取得し、無い場合(一番最初のブロック)は、仕方ないので計算済の適当なハッシュ値を初期値にします。ブロックの構成を以下のようにするので、上記のような取得の仕方になります。トランザクション本体}トランザクションに前のブロックのハッシュを加えて、新たなハッシュを計算する。ハッシュを、ひとつ前のブロックで計算したハッシュ値を加えて計算します。ハッシュを計算する部分です。今回は簡易化のため、トランザクション全体をJSONフォーマットに変換して、それをもとにハッシュを計算する仕様にしました。ハッシュ値を計算する。ここで求めたハッシュ文字列に、前のブロックのハッシュを連結して、さらにハッシュを計算して、該当ブロックのハッシュコードとします。ビットコイン等だと1ブロックに複数(それこそ1000とか2000とか)のトランザクションを含むことがあって、トランザクション単位でハッシュを求めて(ルートトランザクション)、それを前に計算したハッシュと連結して、さらにハッシュを求める・・みたいに、複雑な計算をしているらしいので、それっぽくしてみただけですが(笑)でも、こうすることで、ブロックのトランザクションデータを改ざんしても、ハッシュ値があわなくなりますし、なんとか一つのブロック内で帳尻をあわせても、次のブロックで不整合がおきることになります。こんな風に、ブロック同士が密に結合するようにして、改ざんをしづらくする仕組みになっているようです。トランザクション・計算済ハッシュなどを使って新しいブロックを生成・追加する。new_transaction,}self.chain.append(new_block)シンプルに仕様通りの構造にした辞書データをセットしてから、chainに連結しているだけです。上記クラスは、とりあえず初期化状態から「ブロックチェイン」らしきデータ構造を生成できるだけで、保存も読み込みもできません。そのへんを拡張するのは次回以降に、ぼちぼちするとして・・。いくつかのトランザクションを作って、ブロックを追加してみます。out2)bc.dump()実行した結果は以下です。}]いちおう、意図したようにはできているようです。最後に、自分がブロックチェーンの勉強のために読んで、一番わかりやすくて役に立ったと思っている本をご紹介だけしておきます。今回は、こんなところで。検索スポンサーリンク最近のアクセスTOP5ブクマ数TOP3IT的なTIPS・ノウハウイベントログから抽出したログオン・オフ時刻を見やすいように整形するEXCELのVBAマクロなど。Google検索は利用するけど、アクティビティを保存させたくない時もある文字コードで悩まされるなんて久しぶり/JIS7(ISO-2022-JP)とJIS8の話もっと見る作業時によく参照する「まとめ」djangoテンプレート内でforループで回す時の整理とデフォルト辞書利用時の注意など。djangoテンプレート内ので条件分岐(IF文)で注意することなどをまとめておくdjangoテンプレート/変数の値の参照の仕方が、Pythonと違う所があるので整理しておく。service」とサーバーレスコンピューティング関係をまとめてみる。PWA・SPA・・など「最近のWEBアプリケーションの種類」をざっくりまとめる。文系的まとめディープラーニング(ニューラルネットワーク)の「学習」の肝は「微分」らしいよ。Consoleもっと見るディープラーニングのデモをやってみるWord2Vecで「単語の足し算・引き算の結果(単語)を取得する」デモをやってみる。API」で入力文の疑わしい部分をAIが指摘するデモを作る。classで事前学習済のVGG16モデルを使った画像識別クラス/tensorflow2.0(tf.keras)ランダムフォレストで回帰してみる/気象情報と電力データその2もっと見るPythonでWebアプリやってみるviews.py(python)からデータを渡して、Chart.jsでRaderチャートを描く/Chart.js+djangoWEBブラウザ上にドラッグ&ドロップした画像ファイルをBase64に変換して表示するWEBブラウザで手描きしたイメージをJPEG・PNG変換後Base64エンコードするもっと見るPythonで自動化やってみるWebアプリケーションで自動的に値を参照、スクロール他Tips/Selenium&pythonWebアプリケーションで自動的に何かをクリックするTips/Selenium&pythonWebアプリケーションへの自動入力・選択のTipsあれこれ/Selenium&pythonもっと見るPythonで数学・グラフィックスやってみるモンティ・ホール問題で、ちょっと暇つぶし。最近、台風が怖すぎる!!!生産性向上しろと言いながら、片方で足をひっぱるなんて・・と呆れてます。/軽減税率のニュースを見てもっと見るBOKU62歳の文系SE”BOKU”です。<arakan_no_boku@yahoo.co.jp>興味の向いたものを、つまみ食い的に勉強してます。自分が消化した内容を、頭の整理と備忘を兼ねてブログに書いてます。IT系・・特に機械学習・プログラムネタが中心ですが、IT以外のネタになる時もあります。(43)スポンサーリンクはてなブログをはじめよう!arakan_no_bokuさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。