1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

オリジナルトークンをイーサリアムのテストネットワーク上で作ってみた

Last updated at Posted at 2022-04-10

動作確認環境

  • 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

左側の 「default workspace」 をクリック

「connect to localhost」をクリック

 「Connect」 をクリック

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)を発行するコントラクト

TatsuToken.sol
// 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 に移動し
コンパイラーのバージョンを合わす

Image from Gyazo

「Compile」 をクリック
Image from Gyazo

DEPLOY & RUN TRANSACTION に移動

1, ENVIRONMENT : Injected Web3
MetaMAsk が立ち上がります。
2, CONTRACT : TatsuToken - TatsuToken.sol
3, デプロイしたいトークン量

4、 Deploy をクリック

Image from Gyazo

MetaMask が立ち上がり、以下のような画面になるので「確認」をクリック

残高照会

Remix

さきほどのとことの
1,[balanceof] に先ほどトークンを送ったアドレスを入力し、call
2, unit256 の横にある数字が残高

MetaMask

コントラクトアドレスを控える。

MetaMask を起動

トークンをインポート

さっき控えたコントラクトアドレスを入力

残高が表示される。
ちなみに、Metamask では18桁分の1が表示される。
(なんでか、よく分かってない)

送金

Remix

他のアドレスにトークンを送るには
transfer で 送信先アドレスと量を入力し「transact」をクリック

MetaMask

もちろんMetaMask でも送金できる。

以上。

1
2
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
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?