一ヶ月ちょっとブロックチェーンを勉強したのですが
全然進んでる気がしないので参考にしたサイトをまとめながら
何を学習してきたか振り返りたいと思います。
ブログ系
ブロックチェーンを勉強する計画の参考程度に読みました。
本読んでプロトタイプ作るという流れです。
・ブロックチェーンを知るところからdApps開発までの学び方|田中 康平|note
・これからEthereumでDApps開発する人にオススメサイト
・DApps開発学習開始して2ヶ月経過したのでやったことまとめ
サイト系
コントラクトの勉強
・クリプトゾンビ
スマートコントラクトを書くためのSolidityという言語をゲーム形式に学べます。
Progateのブロックチェーン版みたい感じでした
簡単に作ってみる
コントラクトの作成の仕方がわかったら実際にそこコントラクトをフロントエンドと繋ぐ必要があります。
ここがかなり難しい部分だと思います。
「truffle tutorial」は、truffleのツール?みたいなのを使えるのでチュートリアル通りにやれば動くものは作れます。
実際に動いた時は純粋に嬉しかったです。
・DApps開発ギルドでデプロイしたアプリを1から作ってみる
・truffle tutorial
Reactを使ったフロント
上記二つはHTMLとJSでフロントエンドを作っていたのですが
Reactを使ってやりたいのでReactで作っているものを探してみました。
・Build React Blockchain App - Ethereum/React Todo List
・Build A Simple And Unstoppable Decentralized Web Application (DAPP)
・Step by Step Approach to create DAPP—using Ethereum, ReactJS & IPFS — Part 1
dapp UniversityはGregoryさんという方がdappsの基礎から開発までかなり詳しく説明してくださているます。
これに紹介されているReactのアプリをこれから参考にして勉強いていきたいと思います。
一ヶ月を終えて
バージョン管理が大事
Ethereumを利用したdapps開発では簡単なアプリケーションでもtruffle, solidity, web3.js, Reactなどといった様々な言語を必要とします。また、solidityやweb3.jsは頻繁にアップデートが行われ、それによる仕様の変更もかなり大きいです。
昨日まで動かせていたのに、今日は動かないみたいなことはよく起こりました、、
それぞれの言語のバージョンはpackage.jsonなどでしっかり管理することが必要と感じました。
フロントエンドとブロックチェーン上のコントラクトとの関連が難しい
Railsを少しかじった私にとっては難しい部分がありました。
Railsはノリでいけていて、コントラクトがどういう設計になっていて、フロントとどう繋げるかといった、一巻の流れで考えることはなかったので、、
今後
dappsのプロトタイプをいくつか作っていこうと思います
おまけ:Vueを使ったフロント
・Dappsをフロントエンドまで作ろう!【Truffle】【Infura】【Metamask】【Vue.js】【npm】
・VueとReactの違い:I created the exact same app in React and Vue. Here are the differences.
Vueでの開発もありました。
コントラクトの表示、メタマスクのアドレスの表示、コントラクトの値の更新を行なっています。