ハッカソン感想
概要
ハッカソンに初めて出たのでその感想
アジェンダ
1日目
ワークショップ・ハンズオンいろいろ&チームビルディング
2日目
ワーク
合間にワークショップ
3日目
ワーク
発表&審査&結果発表
1日目
ワーク系
ハンズオンでetheriumのスマコン実装の基礎を学べた
フロントエンド大事
開発に有用なツールについてもハンズオンがあった
結構Linuxベースとしている(=Linuxでしか動かせない)コードが多かったのでWindows環境での限界を感じる
テストネットのETHを所有していることが参加条件
みんな参加しよう!!!!
チームビルディング
募集がデザイナー/ビジネス/エンジニアの3区分での募集だった(私はエンジニア参加)
そもそも結構ブロックチェーンバリバリという人が多かった
etheriumが大半、Hyperledgerが少々、NEMが少々という割合
初心者で参加してバリバリの人に教わりながら参加する、という甘いシナリオ
そんな邪魔者はチームには不要なのでチームに入れない
コミュ障にはきつい
ビジネスの人もブロックチェーンに対する理解、ビジネスモデルへの知識量が半端ない感じでエンジニアでない人のレベルもそもそも高い感じ
→ハッカソンは個人で出るもんじゃない
チームビルド結果
合計4人
大学教授…リーダー
機械学習やブロックチェーンの論文を書いている
Microsoft社員
もともとアカデミック系の人
システムアーキテクト
Azule上のBCサービスの経験
学生
2年生?
スタートアップ企業の機械学習エンジニア
私
https://gyazo.com/b2826baf5b1ad63b4bf5d93c35f48468
1.5日(2日目開催までの期間)
Slackで活動
作成するプロダクト案についてはリーダーの書いてた論文の内容をベースにそれを実現してい感じ(詳細は発表資料で)
まず論文書きあげていただいた
機械学習の部分をリーダーがpythonで実装→コントラクトでの実装への書き換えを学生さんに
そもそものシステムアーキテクトを考えないといけない
コントラクトの実装についてもエンティティの整理が必要
Slack上だとうまく伝わらない/理解できない
そもそも機械学習/bcの論文が高度すぎて理解できない
そもそもsolidityをかける、Dapp作れる人がチームにいない
やばい
とりあえずアーキテクトやエンティティの整理、設計は2日目ワークの時に対面でやろう
その時に何でも実装できるようにDappをある程度作れるようにしよう
とりあえず勉強してた
1月末出版のこの本のコードですらもう動かなかった
solidity早すぎ
でもシステム設計、エンティティの考え方、アーキテクト・設計、テスト、セキュリティに至るまで幅広くかつ有用な内容だった
結構今後も新しい本が続々出るらしい
いろいろやってコントラクトのsolidity実装、フロントエンドとの連携を実施できるようになった、はず
2日目~3日目 ワーク
朝8時集合⇒早い!!!
6時起きで出発
誰もいない
別に時間きっかり来る必要がないことを知る
ハッカソン自由
学生さんが熱で参加できず、3日目の参加も絶望的
\(^o^)/
結局Dappのコントラクトとフロント、基礎的な実装はすべて私で実装
機械学習のところを教授にやっていただく
Microsoftの人はプレゼン資料作成
まずシステムアーキテクトの整理、および実装が必要な機能の一覧とエンティティを整理
紙でさっくり書くのがおすすめ
アジャイル的なアプローチが有用
結果
Dappの基本実装はできた
機械学習のところでpythonのコードを元にsolidityで実装しようとする。
くっそむずい
そもそも言語仕様として浮動小数点型がないっぽい(固定小数点型のみ?)
確率数理計算できない
浮動小数点型の実装をする?
OSSコントリビューターになるか?
pythonのコードをフロントから実行する
無理でした
\(^o^)/
とりあえずコントラクトの出来ている部分を発表することに
発表
他のチームの内容も聞いてた
今回の内容だと、「チェーンに書き込む段階でのデータの正当性をどのように確保するか」というのが大きなテーマになっていた
他のチームでは第三者機関に担保してもらうスキームが多かった
そういう規格も出てきてるらしい(ERC725)
審査結果
1次審査追加!!!!
さらには審査委員長の副賞もGet!!!!!!
審査委員長がご飯おごってくれる権利をいただきました
全体所感雑記
ハッカソン編
コミュニケーション力がいる。陰キャにはきつい。
それでも知り合いができたのは嬉しかった
というかやる気なくても許してくれる優しい人で良かった
チームビルディングはなかなか難しい
スキルないやつは当然チームビルディングに加えられない
気心知れている・スキルもわかっているチームであれば分担もしやすい
研究会で出られるようになればいいね!
結構実装力は二の次
結局興味深い提案が出せるかどうか
実現性をシステムで担保できればなおよし
まぁでもフロントとかプレゼンの見た目も大事
審査委員長にフロント雑魚いと怒られる
法的観点とかビジネス観点とかで分業する必要もあり
全員実装する必要はないので研究会もビジネスとふっちゃっても良いのでは
技術でないからと言っても参加者のビジネスへの理解度はハンパなかった
実装編
結構実装できるようになった
あとは普通に見た目をどうにかするスキルがほしい
react?vuejs?
Reactにします
TypeScriptで型安全に書くのもおすすめらしい
見た目のセンスも
割と開発環境構築がだるい(特にwindows)ので標準化したほうがいい
システム設計とかもちゃんとする必要がある
gasの管理・設定がよくわからん
開発環境がよくわからん
アーキテクトとかの設計も
一旦は書籍とかで体系的に勉強すべき
いずれにせよ正解がわからないのがつらい
勉強会とか狭いコミュニティに参加して詳しい人に話聞いたほうがいい