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 香港イベント8.25

経済発展著しい香港で初のBlockchain EXE開催 高層ビルが立ち並び、アジアで存在感を発揮するほど経済発展を遂げている香港。今回のBlockchain EXEは香港だけでなく、グローバルで実績 …

ビットコインの未来はどうなる!?国別の仮想通貨への法律見解2017

はじめに 仮想通貨の法的な取り扱いは国によって大きく違います。また、試行錯誤しながら急激なスピードで法整備が進んでいます。 主要な国々の仮想通貨の法整備はどうなっているのか見ていきましょう。 世界の仮 …

【Blockchain EXE Legal #2イベント】IPFSとは何か?データの所有権を個人に取り戻す

【IPFSサーバーとは何か】 西村 祥一 | コンプス情報技術研究社代表取締役 自然言語処理・機械学習などの学術系案件の開発・コンサルティングを行うと共に、ブロックチェーン技術を用いた開発に取り組んで …

初の海外開催!ConsenSys & Blockchain EXE 「スマートホームとスマートコントラクトの現状と可能性」

初の海外開催!Blockchain EXE × Consensys in New York 2017年5月に発足し、これまで7回のミートアップを行ってきたBlockchain EXEが、初の海外ミート …

広告・マーケティングへのブロックチェーン活用最前線!~分散型インターネットの実現を目指すBLOCKSTACKとは~

博報堂DYホールディングス マーケティング・テクノロジー・センター 上席研究員伊藤佑介 BLOCKSTACKとは? BLOCKSTACKは、ブロックチェーン技術を使った新たなウェブブラウザです。 ユー …

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