「【ZeppelinとDev共催】OSSを学ぼう / DAppsハンズオンワークショップ」に参加してきました


5月20日に渋谷Neutrnioで開催されたセミナー
【ZeppelinとDev共催】OSSを学ぼう / DAppsハンズオンワークショップ」に参加して来ました。

その中のコンテンツ「OpenZeppelinの概要とDAppsハンズオンワークショップ」が、昨日書いたqiitaたまたまお題が被っていたので、少し補完を込めて記念レポートです。

OSSを学ぼう / DAppsハンズオンワークショップ

20名を超えるエンジニアの方々が集まっていました。
講義内容は2本。私の本命はDAppsでしたが、OSS(Dev Token)のお話が興味深かったです。

講義1:OSSを学ぼう

aggre氏が講師をされ、OSSの概要、github、マネタイズ方法について学びました。またaggre氏が現在開発中の、githubのダウンロード数に応じて開発者にトークンを配布する事でOSSマネタイズを支援するプロダクト「Dev Repository Token」についての説明がとても興味深かったです。続報お待ちしております。

講義2:OpenZeppelinの概要とDAppsハンズオンワークショップ

Zeppelin製品をリードする Ramon Recuero 氏が講師をされ、DAppsを開発する3つの理由(自らがコントロール出来る事・プライバシー・お金)、デプロイされたコントラクトは永続性=バグを出してはいけない事、しかしZepKitを使う事でアップグレード可能なコントラクトを簡単にデプロイする事が出来る=バグ出しても何とかなる事、Solidityのホットリロードにも対応しているのでテスト環境でガンガンバグが潰せる点、それらの実演ワークショップが主な講義内容でした。

ワークショップ内容は、昨日書いたqiitaで紹介した記事「Solidity Hot Reloading Using ZepKit」の内容とほぼ同様の流れでしたが、 Ramon Recuero 氏の説明のお蔭で個人的には更に理解が進んで良かったです。

ちなみに「Solidity Hot Reloading Using ZepKit」を書いた Igor Yalovoy 氏は、Zeppelin社のブロックチェーン・フルスタック・エンジニアだそうです。なるほど、Ramon 氏の同僚なのね。

内容補完としては、

例えば、ホットリローディングを適用するコントラクトには、

Counter.sol
    :
contract Counter is Initializable {
    :

上記の様に「Initializable 」を継承したコントラクトを「zos Add Counter」で登録する事で、ホットリロードが使える様になります。これはとても簡単に使えそうですね。ホットリロードは主に開発環境で活躍しますが、テストネット(kovanやropsten)でも活躍するのではないでしょうか。

また、コントラクトのアップデートで気になるのは「Storage Layout」。
ここもどうやらうまくホットリロードする仕組みが動作する様ですが、解説図を見る限り、メンバ変数の定義順が重要だった様な・・・。ここは通訳入らなかったので、英語が聞き取れなかった私は詳しく分かりませんでしたorz

このハンズオンで使われた資料って、配布されないんですかね~?(欲しい)

懇親会

なんだかピザを食い逃すくらい喋りすぎてた気がします(^q^)
OpenZeppelinのリードエンジニアから直接講義を受ける機会はそんなにないのではないでしょうか。
とても有意義な時間を過ごさせて頂きました。
あと、OpenZeppelinのステッカー貰ってきました。

日本ではNeutrnioでしか手に入らないそうです(たしか)。
後日もある様な気がする(?)ので、欲しい方は、レッツ・Neutrino!