1. TOP
  2. ブロックチェーン開発
  3. ERC223で独自トークンの発行や作り方

ERC223で独自トークンの発行や作り方

ERC223で独自トークンを作成する方法

Ethereumの独自トークンは大半がERC20ですが、最近は改良が進んだERC223が出てきており、注目を集めています。

特徴としては、コントラクアドレスに間違って送信された場合にエラーになり持ち主に返却するように設計されています。

また、tokenFallback関数が使われており、逆にTransferFrom、approve、allowanceなどが無くなることで、コードをシンプルにして余分なGasの消費を抑えています。そのため、コントラクトアドレスへの送金手数料はERC20に比べるとは半額程度になるようです。

ERC223はとてもメリットがあるように感じますが、デメリットもあります。

何よりも、Ethereum財団が正式に勧告した訳ではありません。現段階では議論が進んでいる状況です。*2018年上旬現在

取引所によってはERC223やERC721で設計されたトークンの上場や取り扱いを断る所もあります。ERC223はtransferFrom,approve関数がないため、この関数を利用するDEX取引所などには対応できません。

例えば、BancorなどEthereumトークン同士で取引や交換ができる取引所です。

また、世界的に見てもERC20設計が標準的です。国内ではERC223が上位互換だけに注目が集まり、高値が付きやすいようです。

実際にはERC20もERC223も性能は大差がある訳でなく同じです。

Ethereumのアドレスには通常のウォレットアドレスとスマートコントラクアドレスがあります。

ERC223はスマートコントラクアドレスに間違って送金した場合に返却されます。

なお、Ethereumを失う大半はウォレット自体を紛失したり、間違ったウォレットアドレスに送金して失うケースが大半であり、ERC223で全てが解決された訳ではありません。

また、送金手数料が単純に半額になるかは、トランザクションの混み具合やコード設計にもよります。単純にERC20の送金がガス価格2wei:リミットが54000程度でできたとして、ERC223が1wei:54000でできるかと言われれば困難です。但し、ガスリミットの消費は2,3割は削減できます。

いずれはEthereumのRaiden機能が実装されればトークン全体も送金手数料は僅かになります。

また、ERC223のTransferイベント(送金完了通知)をetherscan側で正しく把握できないため送金履歴が記録されません。

もしも、独自トークンを発行するのであれば、正式なERC20が良いと思いますが、イメージ的にERC223の方が高性能と思われているので検討してください。

この記事ではERC223の独自トークンを作成する方法を解説します。

ERC223のトークン

ERC223のトークンの有名な銘柄には、「NANJCoin」や「eDogecoin」があります。

どちらも高性能で完成れたコードです。特にNANJCoinはAirDorp機能やアドレスのロックアップや凍結、発行量を増やすMintや減らすBurnなど機能が多彩です。

技術のある人が運営チームにいると思います。

これらのコインはEtherscanでコードが公開されています。

NANJCoin

eDogecoin

ERC223の作り方を学ぶのに参考になると思います。

ERC223の作り方

ERC223トークンはGithub上に標準的なタイプが有志の方により、公開されています。

これを使えば簡単に作成できます。

今回練習用として、サンプルERC223を作成してみました。

Githubに公開しているので参考にしてください。

使い方としてはフォルダ内にある「erc223」を開くとERC223のコードがあります。

これをbrowser-solidityに貼り付けるだけです。

browser-solidityの詳しい使い方は過去の記事に掲載しています。参考にしてください。

コードは改変する部分があります。以下の部分を修正してください。

この部分を好きなように変えていきます。

次のようになりました。

  • トークン名:TESTCoin
  • シンボル:TEST
  • 小数点:8桁
  • 発行枚数:1000000000

browser-solidityではコントラクト名の「ERC223Token」を選択します。

「create」をクリックすればトークンは発行されます。

ERC223トークンのコントラクト名

ERC223のまとめ

ERC223トークンはこれから標準的になっていくかは分かりませんが、作成方法を覚えておくと便利だと思います。

いずれにしても、イーサリアムのトークンは殆どが同じようなものだと思ってもらえれば良いかと・・そもそもEthereum上で動いているだけです。

独自トークンはXCPやWaves、NEMでも作れますが、やはりEthereumが一番良いと思います。

今後、RaidenやPlasma機能が実装されれば、Ethereumは送金手数料や速度、スケーラビリティが解消されて、トークン全体も価値が上がると思います。