solidityでシンプルストレージを作成する

コントラクト指向言語solidityでシンプルストレージを作成してみます。

■PC環境

Windows10

Solidity言語用Contract開発環境(IDE)「Remix-ide」(https://remix.ethereum.org/

■シンプルストレージを作成する

では、シンプルストレージを作成しますので、コードを書いていきます。

■コード

pragma solidity ^0.8.3;

contract SimpleStorage{
	string public data;
	
	function set(string memory _data) public{
		data = _data;	
	}
	
	function get() view public returns(string memory){
	    return data;
	}
}

まずは「pragma solidity」でコンパイラのバージョン指定をします。今回はバージョン0.8.3。

その後、SimpleStorageというスマートコントラクトを定義します。定義したコントラクト内で関数などを定義していきます。dataをstring(文字列)が入る状態にし、publicで呼び出させるようにする。

次にset()関数を定義し、括弧内では、string(文字列)をmemoryに保存するように設定する。このset()関数は、外部からも内部から呼び出せるpublicで、関数が呼び出された時に実行される処理は、「data = _data」とする。

定義後、get()関数を定義し、この関数は「view」でデータの閲覧のみを行い、publicで呼び出させるようにする。さらに、returnsで関数のreturnsタイプであることを示し、memoryに保存されたstring(文字列)を返す。さらに関数が呼び出された時に実行される処理は、returnでdata内の情報を返す。

■コンパイルからのデプロイ、検証

「Remix-ide」から「SOLIDITY COMPILER」を選択し、「Compile (ファイル名).sol」ボタンをクリックする。「compilerMetadata is modifyingcontracts/artifacts/SimpleStorage.json」といった出力が表示されるが一旦無視する。

コンパイル後、「DEPLOY&RUN TRANSACTIONS」を選択し、「ENVIRONMENT」が「Java Script VM」になっているかを確認する。Java Script VMは、Webブラウザ上での疑似実行モード。

その後、「Deploy」ボタンをクリックする。クリックするとデプロイが完了となり、「Deployed Contracts」の下にコンスタントが表示される。

今回定義したset()関数に、文字列を渡してみると、memoryに保存するように設定しているため、data内には、string(文字列)の「hello」が格納され、get()関数でもdata内の情報が返されることが確認できました。

 

 

コメント

タイトルとURLをコピーしました