オープンソースのブロックチェーンを試す(3) - Ethereum(イーサリアム)用プログラム作成

前回記事にてEthereumを使う準備が整いました。

Ethereum環境については、本番環境ではなくプライベート・ネットワーク(テスト用)を使います。

またネットワークに接続するコンピュータの数を0に設定し、自分一人がローカルで動作するモードとします。

プログラムの準備

スマート・コントラクトは、契約の自動化を目的としたものではありますが、プログラムの実行環境でもあります。

今回はデータを保存処理を組み込んでいきます。

データを保存するプログラムは以下の通りです。

プログラムはSolidityというEthereumの独自言語です。

[ソース savedata.sol]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
pragma solidity ^0.8.4;

contract SingleNumRegister {

uint storedData;

function set(uint x) public{
storedData = x;
}

function get() public view returns (uint retVal) {
return storedData;
}

}

Solidityコンパイラの準備

ソースをビルドするためには、solcコマンドが必要なのでインストールします。

[コマンド]

1
2
sudo apt-get install solc
solc --version

[結果]
solcバージョン確認結果

プログラムのビルド

solcコンパイラが準備できたので、準備したプログラム(savedata.sol)を下記コマンドでビルドします。

[コマンド]

1
solc -o savedata --abi --bin savedata.sol

正常にビルドできると次のような2ファイルが生成されます。

  • savedata/SingleNumRegister.abi

    SingleNumRegister.abi
  • savedata/SingleNumRegister.bin

    SingleNumRegister.bin

次回は、Ethereum環境の起動を行います。