SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

開発者のためのブロックチェーン活用ガイド

最近流行りのNFTとは? NFTからブロックチェーンの仕組みを理解する

開発者のためのブロックチェーン活用ガイド 第1回

トークンとスマートコントラクトの実験方法

 ここまで、トークンとスマートコントラクトを一般論として解説しましたが、より理解を深めるためには、ぜひ実際に自分でトークンのコードを書いて、ブロックチェーン上で動かしてみてください。以下、やり方のひとつを手短にご紹介します。

 ブロックチェーンを実装したプロダクトはさまざまありますが、現在、スマートコントラクトの実行プラットフォームとして一般に広く使え、かつ主流なのはEthereumです。前述したようにトークンの機能は一般化(生成、所有、転送の機能といったように)できるので、Ethereumの開発コミュニティーではトークンの共通インターフェース仕様を策定しており、仕様に則ったトークンを開発するのが通常です。具体的には、FTの仕様としてERC20、NFTの仕様としてERC721、さらに最近では、FTとNFTのハイブリッド仕様としてERC1155があります(表2)。

表2 Ethereumでのトークン標準仕様の一覧
トークンタイプ 仕様 仕様書の参照先
FT ERC-20 EIP-20: Token Standard
NFT ERC-721 EIP-721: Non-Fungible Token Standard
ハイブリッド ERC-1155 EIP-1155: Multi Token Standard

 トークンの実装はゼロから行うこともできますが、実績のあるオープンソースライブラリのひな形から始めるのが早道です。そのようなライブラリのひとつにOpenZeppelinがあります。OpenZeppelin のドキュメントには、ライブラリを使ったトークンの作り方が解説されていますので、これを参考しながら自分のトークンを作ることができます。

 トークンのスマートコントラクトが作れたら、次はEthereumを動かしてテスト用のブロックチェーンを作り、トークンをそのブロックチェーンにデプロイして実験してみる番です。例えば、オープンソースのGO-Ethereumなどが利用できます。GO-Ethereumは公式サイトからインストーラーをダウンロードでき、公式ドキュメントをはじめとして、ちょっと動かしてみるときに参考となる情報がWeb上に多数あります。

 より本格的に実験するには、無料で自由に使えるEthereumのテスト用ブロックチェーンネットワークを利用することもできます。テストネットワークにはいくつか種類があり、それらはEthereumの公式サイトに記載があります。なお、テスト用途であれば、どのネットワークを選択しても問題ないはずです。

まとめ

 ここ最近、NFTとブロックチェーンが盛り上がっています。NFTはトークンと呼ばれるデジタル世界で何らかの価値を表現する仕組みの一種です。NFTはNon-Fungible Token(=NFT:代替不可能なトークン)の略称で、分類上、対となるトークンにFungible Token (=FT:代替可能なトークン)があります。FTとNFTの具体例として、お金やポイントカードのポイントなどの数量や単位で表されるようなものはFT、美術品や土地といった一点もので替わりがないものはNFTにそれぞれ対応します。

 トークンを使うと、ブロックチェーン上で価値交換のサービスを実現することができます。トークンをはじめとしたブロックチェーン上のサービスは、スマートコントラクトによって実現します。スマートコントラクトの実体は、サービスのロジックをプログラムコードとして書き記したものです。スマートコントラクトを実行するプラットフォームがブロックチェーンであり、スマートコントラクトが提供するサービスを従来型システムのサービスと差別化するポイントは、ブロックチェーンの特徴から生み出されます。

 現在主流のブロックチェーンプロダクトであるEthereumはスマートコントラクトの機能を持っており、オープンソースのライブラリなどを利用して、個人でもトークンのスマートコントラクトを作ることができます。Ethereumでは、トークンのスマートコントラクトの標準仕様が策定されており、FTの仕様はERC-20、NFTの仕様はERC-721、FTとNFTのハイブリッド仕様はERC-1155です。Ethereum上でのトークンは、これらの仕様に従って開発します。

 次回は、従来型システムと比較したときの差別化ポイントとなる、スマートコントラクトの実行プラットフォームとしてのブロックチェーンの特徴を解説する予定です。

この記事は参考になりましたか?

連載通知を行うには会員登録(無料)が必要です。
既に会員の方はを行ってください。
開発者のためのブロックチェーン活用ガイド連載記事一覧

もっと読む

この記事の著者

木下 学(NTTデータ先端技術株式会社)(キノシタ マナブ)

 ソフトウェアソリューション事業本部 デジタルソリューション事業部 データエンジニアリング担当 2014年入社。2017年からブロックチェーンを担当。 現在、NTTデータグループにおける全世界横断のブロックチェーンチームの一員として、ブロックチェーンを用いたシステム開発や技術検証を中心に、教育プログ...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/15420 2022/01/14 11:00

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー