動作確認環境
- Mac OS Monterey
- Windows 10
準備
テストネットGoerliのETHを入手
こちらを参照
https://qiita.com/blueplanet/items/19cf073bc205c7e497be
Remix
Remix とは、Solidity言語のコントラクトの作成・コンパイル・実行をwebブラウザ上できる開発環境。
ローカルと同期 (ここは無くてもトークンは作れる)
webブラウザで開発できるが、一応ローカルのファイルと連動するパッケージをインストールする。(開発するファイルのある場所のローカルのパスに移動してから以下のコマンド)
詳細は公式のこちら
https://remix-ide.readthedocs.io/en/latest/remixd.html#update-to-the-latest-remixd
$ npm install -g @remix-project/remixd
permission denied エラーが出たら、sudo をつける。
または、1度アンインスールしてから再度実行する。
$ npm uninstall -g remixd
$ npm install -g @remix-project/remixd
Remix にアクセス
https://remix.ethereum.org
Remix と ローカル を同期するコマンドを実行
$ remixd -s <ローカルの絶対パス> --remix-ide https://remix.ethereum.org
(例) remixd -s /Users/tatsuya1970/projects/ERC20-TEST --remix-ide https://remix.ethereum.org
[WARN] latest version of remixd is 0.5.7, you are using 0.5.1
[WARN] please update using the following command:
[WARN] npm install @remix-project/remixd -g
[WARN] You may now only use IDE at https://remix.ethereum.org to connect to that instance
[WARN] Any application that runs on your computer can potentially read from and write to all files in the directory.
[WARN] Symbolic links are not forwarded to Remix IDE
[INFO] Sun Apr 10 2022 10:49:12 GMT+0900 (日本標準時) remixd is listening on 127.0.0.1:XXXXX
[INFO] Sun Apr 10 2022 10:49:12 GMT+0900 (日本標準時) slither is listening on 127.0.0.1:YYYYY
remixd is listening on ・・・
slither is listening on ・・・
とメッセージが出たら成功
ここはこのままにして、Remix での開発に入る。
開発
Remix で フォルダ「contracts」内に新規ファイル作成
以下のリンク先にあるサンプルコードを少し変えて
https://docs.openzeppelin.com/contracts/4.x/erc20
私の名前TatsuyaにあやかったTatsuトークン(TAT)を発行するコントラクト
// contracts/TatsuToken.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
import "@openzeppelin/contracts/token/ERC20/ERC20.sol";
contract TatsuToken is ERC20 {
constructor(uint256 initialSupply) ERC20("Tatsu", "TAT") {
_mint(msg.sender, initialSupply);
}
}
SOLIDITY COMPILER に移動し
コンパイラーのバージョンを合わす
DEPLOY & RUN TRANSACTION に移動
1, ENVIRONMENT : Injected Web3
MetaMAsk が立ち上がります。
2, CONTRACT : TatsuToken - TatsuToken.sol
3, デプロイしたいトークン量
4、 Deploy をクリック
MetaMask が立ち上がり、以下のような画面になるので「確認」をクリック
残高照会
Remix
さきほどのとことの
1,[balanceof] に先ほどトークンを送ったアドレスを入力し、call
2, unit256 の横にある数字が残高
MetaMask
MetaMask を起動
残高が表示される。
ちなみに、Metamask では18桁分の1が表示される。
(なんでか、よく分かってない)
送金
Remix
他のアドレスにトークンを送るには
transfer で 送信先アドレスと量を入力し「transact」をクリック
MetaMask
以上。