fbpx

Ethereum イベント エンジニア セミナー ブロックチェーン

EXE Code #1:Ethereumプラットフォームでの独自トークンの実装からデプロイまで(開発者向け)

投稿日:

ブロックチェーン開発のためのイベントを開催

今回は毎月行われているBlockchain EXEからさらに焦点をエンジニアに絞り、ハンズオン形式で実装を行いました。第一回目のBlockchain EXE Codeは「ブロックチェーンを使ったアプリケーション開発」です。

Ethereumネットワーク上でのアプリケーション開発とは?

コミュニティ規模、開発ツールの充実ぶりから一番ニーズの多かった「Ethereum」ネットワークを使って、スマートコントラクトを開発しました。

一言にEthereumネットワークのアプリケーションといっても何を始めれば良いのかわからない人も多いかと思います。今回はブロックチェーンそのものを開発するのではなく、Ethereumネットワーク上で動くアプリケーション、すなわちスマートコントラクトをデプロイしてみようという試みです。

スマートコントラクトはどうやって開発するのかに関してはこの辺を参考にしていただければと思います。

Ethereumの開発本を出版している西村 祥一氏によるハンズオン

今回は以前Blockchain EXEにも登壇していただいた西村さんをお招きし、ハンズオン形式で実際にスマートコントラクトを作成し独自のトークンを作成して送金するところまでをレクチャーして頂きました。

西村 祥一 | Comps ITL Pte. Ltd. CEO / KAULA Inc. Chief Architect
日本オラクルにて DB コンサルティングに従事。その後、独立。自然言語処理・機械学習などの学術系案件の開発・コンサルティングを行うと共に、ブロックチェーン技術を用いた開発に取り組んでいる。Global Blockchain Summit 2016ではブロックチェーン技術による位置情報プラットフォームを提案し、Best Innovation Awardを受賞。著書に「はじめてのブロックチェーンアプリケーション~Ethereumによるスマートコントラクト開発入門」(2017年、翔泳社)がある。

当日の様子をスライドを交えてご覧ください。

今回のメインテーマは「独自トークンの発行」です。昨年一気に知名度をあげたICOやプレセール等でよく使われていたetherと互換性を持たせるための開発手法を実装をしながら学びました。独自トークンを実際にビジネスで活用するにはセキュリティの実装などが必要になりますが、今回のハンズオンを通じて感覚をつかむことはできます。

では、もう少し詳しく独自のトークンを発行する上でのポイントを保管しながらまとめてみましょう。

簡単に開発できるMetaMaskというツールを利用

MetaMaskはブラウザの拡張機能ツールで、インストールする事で簡単にetherの送金を行う事ができます。(※今のMetaMaskをインストールできるのはGoogle ChromeかBraveのみ)

また、MetaMaskは今回のハンズオンの様に本番ではなく、Ethereumのテストネット(今回使ったのはRopstenネットワーク)上のアドレスやデプロイしたコントラクトへ送金できるので開発環境としては非常によく使われるツールとなっています。

Ethereum開発の代表格であるERC20

Ethereumはご存知の通り、非中央集権プラットフォームであり、世界中でガバナンスについて議論がなされていて、EIP(Ethereum Improval Proposals)という改善の提案が開発者からできる仕組みになっています。

Ethereumプラットフォーム上では誰でも自由にコントラクトをデプロイできる為、これまで様々なトークンの種類を扱う上で統一化が求められていました。そこでVitalik Buterin氏とFabian Vogelsteller氏によってEthereumベースのトークンでは標準のインターフェースを使いましょうという草案が提出され、2017年9月に採用が決定されました。また、なぜ20かというと、Ethereum公式のGithub上でのissue番号が20だったからという理由だそうです。(参考)

ではなぜ、EIP20ではないのかというと、それについてもGithub上で議論され、もともとソフトウェアの開発で標準化をする上ではよく使われていた、RFC(Request for Comments)を用いて、ERC(Ethereum Request for Comments)という呼び方にしましょうという決定がされていました。(参考)

コントラクト

今回デプロイしたコードはこちらで確認できます。

コントラクトは今回Webブラウザ上で動作するSolidity用のIDE(browser-solidity)を使いました。現状Solidityの開発で活発なのはこちらのbrowser-solidityか、Consensysが提供している総合開発ツール「truffle」となっています。

ちなみに truffleを使う場合、テスト用のアカウント一括管理、blockの検索やログ管理、マイニングのカスタマイズ等ができるツール「ganache」(旧 testrpc)も併せて使うとよりSolidityを使った開発の理解が深まると思いますのでおすすめです。

Ethereumのテストネットで送金テスト

デプロイが正常に完了すると、コントラクトのアドレスがbrowser-solidity上で確認できるようになります。そのアドレスを先ほど紹介したMetaMaskに登録すると、晴れて自分のトークンをMetaMask上で誰かに送金が可能となります。

送金に関してはMyEtherWalletも有名ですが、MetaMaskには秘密鍵をインポートできる機能があるのでMyEtherWalletのウォレットにアクセスできたり、何かと便利ですね。

まとめ

今回はハンズオン形式という初めての試みでしたが、スマートコントラクトをどの様に開発できるのかがなんとなく掴めたかと思います。開発ツールも今後増えて行ったり、Cryptozombies等のオンラインチュートリアルも登場して、ますますSolidity開発が活発になってきています。

次回はHyperldger Fabric編を開催し、それ以外にも様々なゲストを迎えてのハンズオンを企画中です。キャンセル待ちの連絡が増えておりますが、こちらではキャンセル待ち予約などは設けておりません。特にBlockchain EXE Codeは少人数制で理解を深めることを目的としていますので人数枠を増やしにくいです。そのため是非Blockchain EXEのpeatixをフォローしてみてください。

イベント情報をチェック

-Ethereum, イベント, エンジニア, セミナー, ブロックチェーン

関連記事

金融街ニューヨークとブロックチェーン〜仮想通貨イベントレポート〜

はじめに Blockchain EXE × Consensysで開催したミートアップの前日に「Latest in Crypto Currency, Bitcoin and Blockchain dis …

企業向けブロックチェーン・ソリューションを考える時の6つの疑問(ConsenSysメディア)

企業向けブロックチェーン・ソリューションを考える時の6つの疑問 ※この投稿はConsenSys社の同意のもと「6 Questions to Ask When Considering Blockchai …

ビットコインバブルは崩壊するのか?政府の規制とインターネットバブルの歴史から未来展望を考えてみる

はじめに 連日、ビットコインの価格変動やICOによる巨額の資金調達のニュースが取り上げられています。 特に今年は企業側だけでなく、一般消費者に対するFintechの認知度がかなりあがったのではないでし …

EXE11イベント(3) 市場メカニズムを用いたP2P電力融通システム | 田中 謙司 東京大学特任准教授

市場メカニズムを用いたP2P電力融通システム~浦和美園プロジェクトの紹介 | 田中 謙司 東京大学特任准教授 東京大学特任准教授 田中 謙司 マッキンゼー・アンド・カンパニー、投資ファンドの日本産業パ …

AI(人工知能)はどのようにしてブロックチェーンと共創していくのか

AI(人工知能)はどのようにしてブロックチェーンと共創していくのか ブロックチェーンは非常に革新的な技術ではありますが、完璧ではありません。そこには、いくつかの課題が存在しています。 技術的なものや、 …

イベント情報をチェック
プロフィール
Blockchain EXEはブロックチェーンの動作原理・基礎・応用など技術面の共有に重きを置いたエンジニアコミュニティです。
FBコミュニティ