たのしい工学

プログラミングを学んで、モノをつくりたいひと、効率的に仕事をしたい人のための硬派なブログになりました

【Ethereum開発】Remixエディタをつかってみる

   

コードエディタRemixで開発

Remixとよばれるオンラインのコードエディタを使用します。remixはsolidityコントラクトの作成とテストのために作られています。(solidityって何?ってひとはこちらを読むとわかりますよ)

くどいかもしれませんが、ようは、Remixはブロックチェーンを構成するスマートコントラクトを記述する言語であるsolidityを書くためのエディタです。

Remixコードエディタはこちらからアクセスできます。
Remix - Solidity IDE

RemixでSolidityを書いてみよう


pragma solidity ^0.4.17;

contract Inbox{
string public message;

constructor (string initialMessage)public{
    message = initialMessage;
}

function setMessage(string newMessage) public {
    message = newMessage;
}

function getMessage() public view returns(string){
    return message;
}

}


string public messageの説明
メッセージの値を変更するたびに、メッセージに割り当てる値はブロックチェーン上に自動的に保存されます。ですので、コントラクトをブロックチェーンから引き出して、この messageの値を調べることができます。

これはローカル変数とは対照的な性質です。ローカル変数は、コントラクトが実行されたときに作成されるもので、最後に破棄されます。そして、ほとんどの場合、ブロックチェーン上に永続化されることはありません。

最新版のsolidityでは、コンストラクタはconstructorとして宣言し、contract名と同様のものを関数として宣言しないようになっているようです。DRY(Don't Repeat Yourself)の原則からすると、こちらのほうがたしかにスマートな書き方と言えます。

https://gyazo.com/4ac44eb880cf2570cb83b0d9bcbcf998

contractがブロックチェーン上に展開されると、

まず、
constructor
で定義した内容が呼び出されます。

その後、
他の関数(function)
がcontractで呼び出せるようになります。

今日はここらへんで。

じぶんで開発を学んでいきたいひとは、
世界最大級のオンライン学習サイトUdemyから「Ethereum and Solidity: The Complete Developer's Guide」を探してみてください。

続きは随時アップしていく予定です

ではでは!

 - BlockChain, テクノロジー