ブロックチェーンにHellowWorldを書き込み内容を読み込む（ブロックチェーン入門１）

# 概要
ブロックチェーン（Ethereum testnet (Ropsten)）に、textを書き込むコントラクトを作成
作成したコントラクトにHellow Worldを書き込むまでを投稿します。

なお、私もブロックチェーン初学者なので、内容に誤り等ありましたらご指摘いただけると幸いです。


## 開発手順
### コントラクト実装
１．remixでコントラクトを実装
　　http://remix.ethereum.org

２．作成したコントラクトをコンパイル

３．コンパイルしたコントラクトをデプロイ（Ropstenネットワーク）

４．HellowWorldの書き込み

５．書き込みを確認

## 準備
MetaMask
「Metamask」で検索し、使えるようしておいてください。

## コントラクト実装

### １．remixでコントラクトを実装

こちらの内容をコピペ

<pre>
pragma solidity ^0.4.25;

contract SetMessage {
    string public message;

    function setMessage(string _message) public {
        message = _message;
    }
}
</pre>

git 上のソース
https://github.com/wadanobuya/set-message-dapps/tree/master/contracts

### 2.作成したコントラクトをコンパイル
pragma solidity ^0.4.25;　最初の行に記述しているバージョンでコンパイル

コンパイルバージョンの選択
<img width="769" alt="スクリーンショット 2018-11-21 22.47.23.png" src="https://qiita-image-store.s3.amazonaws.com/0/108760/e22f0161-f344-ff25-262d-045e14950d4b.png">


コンパイル完了すると緑の枠ないに表示される。
![無題のプレゼンテーション (1).jpg](https://qiita-image-store.s3.amazonaws.com/0/108760/728ec8e6-9a95-c210-2a37-61c7dfc78c86.jpeg)


### ３．コンパイルしたコントラクトをデプロイ（Ropstenネットワーク）
RUNタブを選択肢EnvironmentをRopstenに変更

<img width="772" alt="スクリーンショット 2018-11-21 22.52.47.png" src="https://qiita-image-store.s3.amazonaws.com/0/108760/b5e0fef8-b122-5a33-2b80-cca0be596a08.png">

※Accountが空白の場合MetaMaskにログインできていないのでログインする。

デプロイを実行
<img width="772" alt="スクリーンショット 2018-11-21 22.54.55.png" src="https://qiita-image-store.s3.amazonaws.com/0/108760/43eee863-b477-a244-5579-886f315d401a.png">

GASを求めらるので確認を押下

<img width="996" alt="スクリーンショット 2018-11-21 22.12.08.png" src="https://qiita-image-store.s3.amazonaws.com/0/108760/8cae8794-9816-aac3-e5af-b0ebf5b4494d.png">

※RopstenのETHがない場合は「振込」から、Faucetをテストの「Ether」を押下して
 テストの[MetaMask Ether Faucet]を表示が表示されるので、
 「request 1 ether from faucet」を押下し、しばらくするとetherを貰える
※確認後Ropstenネットワークで、トランザクションを処理するため完了まで時間がかかります。

### ４．HellowWorldの書き込み

デプロイ完了後、デプロイしたコントラクト名が表示される。
コントラクト名を押下


<img width="654" alt="スクリーンショット 2019-01-06 17.31.08.png" src="https://qiita-image-store.s3.amazonaws.com/0/108760/ac54a601-9499-3a28-b446-93c0d861c1e7.png">

押下するとinput フォームが表示させるので、フォーム右の詳細を押下。

<img width="697" alt="スクリーンショット 2019-01-06 17.31.14.png" src="https://qiita-image-store.s3.amazonaws.com/0/108760/229dda7d-f217-29ae-56ab-e040d35a1687.png">

詳細を表示し、text入力欄にtextを入力

<img width="691" alt="スクリーンショット 2019-01-06 17.31.22.png" src="https://qiita-image-store.s3.amazonaws.com/0/108760/a6769a2e-c108-5263-6364-0e0627705323.png">

書き込むtextを入力し「transcat」を押下

<img width="697" alt="スクリーンショット 2019-01-06 17.31.29.png" src="https://qiita-image-store.s3.amazonaws.com/0/108760/2385740b-ca00-6b89-7828-37345da5ba73.png">

textをデプロイするためにgasを求められる。
「確認」を押下

<img width="350" alt="スクリーンショット 2019-01-06 17.31.38.png" src="https://qiita-image-store.s3.amazonaws.com/0/108760/275f4e9f-72d9-b9d9-026b-dfb314c076dd.png">

### ５．書き込みを確認

テキストデプロイ完了後、履歴に下記のようなメッセージが表示されデプロイが完了
<img width="714" alt="スクリーンショット 2019-01-06 17.31.46.png" src="https://qiita-image-store.s3.amazonaws.com/0/108760/e5e820e7-c45b-5da5-372c-f091c37911dd.png">

「message」を押下すると、書き込んだ"Hellow Worid!"が表示されているのを確認ください。
これでRopstenネットワークにテキストを書き込めました！

※書き込んだメッセージは書き換えることができないので、個人情報、恥ずかしい内容など
書き込むとネットワーク上に残りつ続けますのでご注意ください。

<img width="715" alt="スクリーンショット 2019-01-06 17.31.55.png" src="https://qiita-image-store.s3.amazonaws.com/0/108760/711522b9-4020-116e-3def-35f5f4946396.png">

## まとめ

Ropstenネットワーク（ブロックチェーン）にメッセージを書き込むコントラクトの実装と確認が
できました。

次回、webアプリから確認を投稿できたらと思います、、、


## 参照にしたサイト
https://qiita.com/nrslib/items/be90cc19fa3122266fd7