開発日報

窓際エンジニアの開発備忘。日報は嘘です。

ブロックチェーン

【忘備】ブロックチェーン基礎 ~ブロックチェーンのトランザクション~

ブロックチェーンのトランザクション まず、トランザクションがあって そのトランザクションが一連の手順を踏んで最終的にブロックチェーンに格納される。 ブロックをネットワーク全体にブロードキャスト 各ノードは受け取ったブロックを検証する [Q.] なぜ…

【忘備】イーサリアム基礎 ~Web3 (js) とは何か~

Web3とは何か web3 : イーサリアムをリモートまたはローカルで操作するJSライブラリ。Dappとブロックチェーンをやり取りするためのAPIを提供する。 イーサリアムブロックチェーンとスマートコントラクトの橋渡しをする(JSON-RPC) フロントエンド、Web3、ブ…

ブロックチェーン基礎 ~ ブロックチェーンの構造 ~

ブロックチェーンとは ブロックチェーン:ブロックがチェーンのようにつながったデータ構造 ここでのブロックは、単一トランザクションあるいは1つにつながった複数トランザクションを意味する。 ハッシュポインタ:データブロック自体のハッシュ値。前伊の…

【忘備】イーサリアム基礎 ~ イーサリアム仮想マシンとコード実行 ② -コントラクト実行詳細- ~

スマートコントラクト作成から利用まで 動作フロー (Solidityなどで)スマートコントラクトを書く スマートコントラクトをEVMバイトコードにコンパイルする EVMバイトコードでネットワークにコントラクト作成トランザクションを送る 動作結果 デプロイされ…

【忘備】イーサリアム基礎 ~ イーサリアム仮想マシンとコード実行 ① -概要説明- ~

イーサリアム イーサリアムはプログラム可能なブロックチェーンであり、ユーザーが任意の独自性のある複雑な処理を作成することができる。 EVM EVMはスマートコントラクトのランタイム環境として既往するイーサリアムの実行エンジンである。 全ノードがEV…

【忘備】イーサリアム基礎 ~コントラクト作成トランザクション~

イーサリアム上で実行されるトランザクションには複数種類あるが、今回はコントラクト作成トランザクションについて解説する。 初期化 まずは、すべての種類のアカウントが持つ4つの領域を初期化する * 「ナンス」は最初は0 * 「(アカウント)残高」は送信…

【忘備】イーサリアム基礎 ~イーサリアムのスマートコントラクト~

概要 ただの暗号資産であるビットコインとは異なり、イーサリアムはスマートコントラクトを活用することで多彩な処理が実行可能。 スマートコントラクトの特徴は大まかに以下の通り。 スマートコントラクトはブロックチェーンの中に置かれる スマートコント…

【忘備】イーサリアム基礎 ~ガスとトランザクションコスト~

はじめに イーサリアムブロックチェーン上でトランザクションを実行するためには、トランザクションに伴うコストを実行者が負担しなければならない。 この「コスト」の概念が何を意味するか、またコストの算出・支払いの仕組みについて以下の本文で説明する…

NodeJsでイーサリアム触ってみる

概要 こちらの公式サイトが参考になります。 ドキュメントやチュートリアルも豊富です。 ある程度ブロックチェーンの仕組みがわかっているとよいです。 今回のサンプル完成品はこちら。 準備 infuraサービス登録 今回Infuraというサービスを利用します。 開…

Kotlinで簡易的なブロックチェーンサービス(ビットコイン的)を作ってみた

以下、ReadMeのそのまま貼り付けで。。 こちらがリポジトリ 参考 : 現役シリコンバレーエンジニアが教えるPythonで始めるスクラッチからのブロックチェーン開発入門 解説 TODO 起動 # 起動 $ docker-compose up # 停止 $ docker-compose down http://localho…