前回のサンプルアプリ作成ではReact/Reduxとスマートコントラクトの連携をさせて匿名掲示板のサンプルアプリを作成しました。
DApps学習を開始して早2ヶ月・・書籍を読んだりコードリーディングをして簡単なサンプルアプリを実装してみたりと色々行ってきました。
なので、そろそろ振り返りがてらやったことまとめてみようかと思います。
Contents
やったこと
だいたい以下がまとめになります。ある程度実施した順に書いてますが、必ずしも上から順に実施したわけではないです。
- 書籍を2冊読む
- smmart-contract-best-practicesを読む
- Truffle Boxesのコードリーディング
- Ethreum Advent Calendar全記事読む
- CryptZombiesでオンラインレッスン
- サンプルアプリ作成
書籍を2冊読む
最初に書籍は2冊読みました。
どちらも他のDApps学習されている方のブログとかを見るとだいたいお勧めされている本ですね。
ブロックチェーンの仕組みからSolidityの基本文法やgeth等の開発において必要なツールの利用方法など体系的に学べ他のが良かったです。
ブロックチェーンアプリケーション開発の教科書 堅牢なスマートコントラクト開発のためのブロックチェーン
smart-contract-best-practicesを読む
Solidityで書くコードのセキュリティの基礎が学べます。
スマートコントラクトは通貨を扱うためセキュリティの脆弱性を悪意のあるコードを外部から実行されると危険なため、必ず読んでおくべき内容かなと思います。
Truffle Boxesのコードリーディング
Truffle Boxesには多くのサンプルアプリがありますが、最初にtutorialtokenのコードを見てからサンプルアプリを実装。
他にもReactやReduxも同時に学習したかったので多くのサンプルのコードを追ってみました。
以下に追ったアプリをまとめてみました。
コードを追うことでフロントエンドでのスマートコントラクト連携方法を学ぶことができました。
どれも複雑な処理はしておらず初心者向けなので読みやすいかと思います。
Ethereum Advent Calendar 2017の全記事を読む
初歩的なプライベートのブロックチェーン環境をGUIで操作できるGanacheの利用方法から、RaidenのICOについてとコアな内容まで幅広く記事が書かれているので参考にさせてもらいました。
CryptZombiesでオンラインレッスン
無料で学べるオンラインサイトです。こちらもかなりお勧め。
ブラウザ上で、解説を見つつ実際にコードを書いて進めるため今まで学んだことの復習のような感じで進めることができました。
コードの最適化やセキュリティについても学べるのも良い。
サンプルアプリ作成
主にスマートコントラクトをRailsで連携させるか、Reactから行うかの2パターンを試してみました。
やはり実際にコードを書くことも大事で、色々な箇所ではまることによってブロックチェーンの仕組みの理解がより深まった気がします。
記事を読んだり書籍を読んで写経するだけだとどうしても知った気になって終わってしまいます。
以上がやったことの全てになります。他にも参考にしたQiitaの記事など沢山ありますが、割愛させて頂きます。
各記事の中で参考にした記事として取り上げています。
次やること
ここまでである程度基礎は身についたのではないかなという印象です。
なので次はサンプルアプリではなくもう少し実用的なアプリを作って見たいと考えています。例えばオークションアプリのような。
もしくはイーサエモンユーザなのでイーサエモンの簡略化したコピーアプリとかでも良いかもしれないですね。
そこまで出来れば仕事として受けれるレベルまでかなり近づくのではないか・・?
あとはテストコードをまだ一切書いてないのでこの辺りも学んでおきたいです。また、少し迷っているのはNEMを使ったアプリも作れるようになりたいなと。
ReactやReduxも覚えておきたいし、学びたいこと沢山ある
まとめ
2ヶ月取り組んできた内容としてはどれも実施して意味があったかなと。書籍やコードを読んで知識を入れつつ実際にコードを書いて理解を深めていくというオーソドックスな順番で進めてきました。
現状ではブロックチェーン関連の仕事はまだまだ少ないだろうけど必ず需要は増えます。1年ほど前から仮想通貨のニュースを追っていますが日に日に世界で浸透・実用化が進んでいます。
であれば今のうちにしっかり覚えておけば他のエンジニアより一歩抜きん出るはず。ということでまだまだDApps開発学習は進めていきたいと思います。
2冊読んでみたけど、1冊どちらかだけで良かったかなー