前置き
僕は社会人1年目のWebエンジニアです。ブロックチェーン関係の会社に就職したため、徐々にブロックチェーンへの興味が強くなり、半年前くらいから本格的に学習を始めました。
この記事の目的は、良かった教材を皆さんにシェアすることと、学習仲間を増やすことです。DApp開発者はかなり希少で情報も少ないので、コミュニティ内でお互い情報共有し、良かった情報を公開したら役に立つのではないかなと思います。
コミュニティの紹介
CryptoCocoAというコミュニティで主に活動しているので、まだ立ち上げたばかりですが、もし良かったらご参加ください!
https://discord.gg/NVHsJdbdCc
コンセプトは、「恐れるな!」です。新領域はまだまだ未開拓で、皆知らないことばかりです。なんでも質問して、誰でも答えて、間違いがあれば気づいた人が教えてあげ、一緒にこの領域を楽しみましょう:)
コミュニティの活動内容
- 情報共有
- 質疑応答
- 勉強会・もくもく会
- 勉強&研究開発: コミュニティメンバーで開発し、そこで得た知見を外部に発信したり、サービス自体を外部に公開します。まだ開発チームはありませんが、何か勉強のために開発してみたいのがあれば、一緒に開発してみてはどうでしょうか。ウォレット開発とか!?
宣伝はこのくらいにして、僕が初期に勉強してよかったものをご紹介していきます。
ブロックチェーンの基礎を学習
マスタリング・ビットコイン(コンサイス版)
マスタリング・ビットコインの要点がまとめられている書籍です。元となるマスタリング・ビットコインはPDFで無料で読めます。マスタリングビットコインは分厚いので、他の学習をしていて、気になったら該当の章をきちんと読んでいます。
https://www.amazon.co.jp/dp/4757103751/ref=cm_sw_r_tw_dp_032WP3G7N6ZHS67S86Y1?_encoding=UTF8&psc=1
マスタリング・イーサリアム
この書籍は第5章のウォレットまで読み進めています。この章を読んで、ウォレットの実装に興味を持ったので、現在勉強しながらウォレットを自作中です(Github - blockchain-wallet)
https://www.amazon.co.jp/dp/4873118964/ref=cm_sw_r_tw_dp_E9ZRB3Z43YZ6WF00GCVH
DApp開発を学習
ブロックチェーンの基礎を学んだら、DApp開発の学習に入りました。使ったのは以下の教材です。
NFT開発
Solidityの基礎をNFT開発とともに学習できます。
https://cryptozombies.io/jp/course/
Truffle Tutorial
Truffle + web3.js + Ganacheを使用したDApp開発のチュートリアルです。
http://trufflesuite.com/tutorial/
Hardhat Tutorial
Hardhat + ethers.js + Waffleを使用したDApp開発のチュートリアルです。
https://rahulsethuram.medium.com/the-new-solidity-dev-stack-buidler-ethers-waffle-typescript-tutorial-f07917de48ae
NFTマーケットプレイス開発
実際はこのチュートリアルではなく、実務でオークション形式のNFTマーケットプレースを開発しましたが、基本は同じような内容です。
https://dev.to/dabit3/the-complete-guide-to-full-stack-ethereum-development-3j13?signin=true
NFTチケット開発(有料)
イベントへの入場チケットなどに使用されるNFTチケットを開発します。
https://egghead.io/courses/build-an-nft-based-ticketing-system-1a2f387c
コミュニティに参加
和組
開発者からビジネスサイドまで、合計4000人程のメンバーが参加していて、活発に質疑応答などが行われています。
https://twitter.com/wagumiDAO?s=20
CryptoCocoA
自分で作ったコミュニティで、主に開発者が集まっています。勉強会の開催や情報共有などを行なっています。
https://discord.gg/NVHsJdbdCc
DeFi・DAO・NFTのキャッチアップ
いろんな記事を読んだり、YoutubeをみたりでDeFi, DAO, NFT周りについて勉強しました。参考になった記事などは以下のリンクの「Blockchain Input」というテーブルにまとめてあるので、気になるものがあったら読んでみてください。
https://encouraging-cut-b5c.notion.site/Input-4552c9e4a77842e5875a8b24a4186f98
色々開発
DEXを開発
動機は忘れましたが、DEXを開発しました。AMMを実装しようと思っていますが、興味がいろんなところに移るため、いまだに開発は進んでいません。
https://github.com/show-coco/ropi-swap
NFT所有によるDiscordチャンネル制限を実装
特定のNFTを持っていたら、Discordでロールが付与されて、プライベートチャンネルに入室できるという機能です。詳細は以下の記事で書いています。
https://zenn.dev/ropitaru/articles/997b04d486830c
ブロックチェーンウォレットを開発
今はビットコインアドレスの生成までは実装できました。現在はHDウォレットを実装しようと奮闘中です。実装レイヤーとしては、楕円曲線暗号やハッシュ関数はライブラリを使用して、それより上のレイヤーを実装しています。
https://github.com/show-coco/blockchain-wallet
終わりに
現在の学習状況はこのような感じでした。僕の感覚としては、DApp開発の全体像がわかってきたという感じです。
次のステップとしてはこんな感じだと思います。
- Solidityをしっかり学習
- ブロックチェーンの細かい仕組みを理解する
- 勉強&研究開発を進めてどんどんアウトプットする
- TwitterでWeb3界隈の観察
また良い学習教材や面白い情報があれば日記にまとめていきます!Twitterではその都度参考になったものなど投稿しているので、もしよかったらフォロー宜しくお願いします🙏
Twitter: @show_clements