LoginSignup
6
4

More than 3 years have passed since last update.

[blockchain.nagoya] 7/12 ERC20トークン ハンズオン

Posted at

概要

7/12(金)に行われるblockchain.nagoyaのイベント「ERC20トークン ハンズオン」の資料です。
Rinkbyネットワークへのスマートコントラクトのデプロイ, ERC20トークンの送金を行います。

開発環境

  • Google Chromeのみ

セットアップ

スクリーンショット 2019-07-02 20.33.12.png

TwitterでETHアドレスをそのままコピペしてツイート
スクリーンショット 2019-07-02 20.36.41.png

そのツイートのURLをコピー
スクリーンショット 2019-07-02 20.37.04.png

URLをfaucetのページに貼り付けてGive me Etherします
スクリーンショット 2019-07-02 20.39.46.png

スマートコントラクトの作成

openzeppelin-solidityというライブラリがERC20トークンのスマートコントラクトを書いてくれているので, それらを継承する形で使います

こちらが今回使用するSampleTokenコントラクトになります
(ハンズオンで解説します!)

SampleToken.sol
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を開いてファイルを作成します

+ボタンを押して、

スクリーンショット 2019-07-02 20.50.25.png

SampleToken.solという名前でファイルを作成します
スクリーンショット 2019-07-02 20.53.52.png

上のコントラクトコードをそのままのファイルに貼り付けます
スクリーンショット 2019-07-02 20.54.42.png

スマートコントラクトのコンパイル

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

Deploy & Run TransactionsSolidity CompilerをActivateしましょう
スクリーンショット 2019-07-02 21.00.29.png

左のバーでSolidity Compilerを選択して、Compile SimpleToken.solのボタンをクリックします。
スクリーンショット 2019-07-02 21.03.44.png

スマートコントラクトのデプロイ

次にスマートコントラクトをデプロイします。
EnvironmentInjected Web3に設定します。
Deployのところにconstructerの引数を入力します。

"NagoyaCoin", "NC", 18, 10000000000

そしてDeployをクリックします。
スクリーンショット 2019-07-02 21.08.44.png

すると、メタマスクが起動するので確認を押しましょう。
スクリーンショット 2019-07-02 21.12.59.png

ERC20トークンを送金する

現在、発行されたトークンはスマートコントラクトをデプロイしたアカウントが全て持っています。
そのアカウントから別のアカウントにトークンを送金してみましょう。

メタマスクで2つめのアカウントを選択します
スクリーンショット 2019-07-02 21.18.44.png

アドレスをコピーして、再び1つめのアカウントに戻します。
スクリーンショット 2019-07-02 21.19.59.png

では送金しましょう。
Deployed Contractsにあるタブを開くと関数が実行できます。

transfer の横に先ほどコピーした2つめのアカウントのアドレスと、送る量を入力します

"2つめのアカウントのアドレス", 1000

そしてtransferをクリックします。
スクリーンショット 2019-07-02 21.22.03.png

メタマスクが開くので確認を押しましょう。
うまくいくと下のように表示されます。

スクリーンショット 2019-07-02 21.34.35.png

2つめのアカウントのアドレスを入力してbalanceOf関数を実行すると、
1000トークンが送られていることが確認できます。
スクリーンショット 2019-07-02 21.27.34.png

終わりに

お疲れ様です!
Rinkebyネットワークへのスマートコントラクトのデプロイ、トークンの送金ができました!

時間があれば、他の人にETHアドレスを教えてもらって送金するなどしてみてください!

6
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
4