概要
7/12(金)に行われるblockchain.nagoyaのイベント「ERC20トークン ハンズオン」の資料です。
Rinkbyネットワークへのスマートコントラクトのデプロイ, ERC20トークンの送金を行います。
開発環境
- Google Chromeのみ
セットアップ
-
solidityの総合開発環境(IDE)であるremixを開く
-
ETHのウォレットであるメタマスクをインストールする
-
メタマスクのセットアップ方法のページの「Metamaskのウォレット作成方法」の項目をそのままする。
-
ネットワークを「Rinkebyテストネットワーク」に設定する
- rinkeby testnet faucetのページでRinkebyネットワークのETHを調達する。
URLをfaucetのページに貼り付けてGive me Etherします

スマートコントラクトの作成
openzeppelin-solidityというライブラリがERC20トークンのスマートコントラクトを書いてくれているので, それらを継承する形で使います
こちらが今回使用するSampleTokenコントラクトになります
(ハンズオンで解説します!)
pragma solidity ^0.5.0;
import "github.com/OpenZeppelin/openzeppelin-solidity/contracts/token/ERC20/ERC20.sol";
import "github.com/OpenZeppelin/openzeppelin-solidity/contracts/token/ERC20/ERC20Detailed.sol";
contract SampleToken is ERC20, ERC20Detailed {
constructor(
string memory name,
string memory symbol,
uint8 decimals,
uint256 initSupply
) ERC20Detailed(name, symbol, decimals)
public
{
_mint(msg.sender, initSupply);
}
}
Remixを開いてファイルを作成します
+ボタンを押して、
SampleToken.solという名前でファイルを作成します

スマートコントラクトのコンパイル
まずコントラクトをコンパイルする機能とデプロイする機能を使用可能にします。
左端のバーにあるプラグのマークをクリックします。

Deploy & Run TransactionsとSolidity CompilerをActivateしましょう

左のバーでSolidity Compilerを選択して、Compile SimpleToken.solのボタンをクリックします。

スマートコントラクトのデプロイ
次にスマートコントラクトをデプロイします。
EnvironmentをInjected Web3に設定します。
Deployのところにconstructerの引数を入力します。
"NagoyaCoin", "NC", 18, 10000000000
ERC20トークンを送金する
現在、発行されたトークンはスマートコントラクトをデプロイしたアカウントが全て持っています。
そのアカウントから別のアカウントにトークンを送金してみましょう。
では送金しましょう。
Deployed Contractsにあるタブを開くと関数が実行できます。
transfer の横に先ほどコピーした2つめのアカウントのアドレスと、送る量を入力します
"2つめのアカウントのアドレス", 1000
メタマスクが開くので確認を押しましょう。
うまくいくと下のように表示されます。
2つめのアカウントのアドレスを入力してbalanceOf関数を実行すると、
1000トークンが送られていることが確認できます。

終わりに
お疲れ様です!
Rinkebyネットワークへのスマートコントラクトのデプロイ、トークンの送金ができました!
時間があれば、他の人にETHアドレスを教えてもらって送金するなどしてみてください!







