モノバンドルエンジニアチームの勉強会取り組み紹介
はじめに
今回は、モノバンドルのエンジニアチームが不定期で行っている勉強会について紹介します。
勉強会について
勉強会では、その時によってテーマやお題、担当が決められ、そのトピックについてエンジニアが集まって勉強しています。
テーマは担当者の興味領域でよく、それに参加するか否かは自由です。
発表者と聴講者という形ではなく、同じトピックについてそれぞれが学習し、気になった部分や議論したいところなどを適宜話していくという形になっています。
ある種、もくもく会のようなものが近いかもしれません。
ただ、その方がそれぞれが気になる部分にフォーカスして深められますし、事前準備も不要なので事前コストがかかりません。
最近の取り組みでは、Web3に関する知見を深めることにフォーカスしたものが多いです。
わかりやすいものとして、以下の2つを紹介します。
- Crypto Zombies
- Ethernaut
Crypto Zombies
Crypto Zombiesは、DAppの基本を学べるチュートリアルのような立ち位置にあり、Solidityの文法やコントラクトの概念、JavaScriptからの呼び出し方法などを学ぶことができます。
日本語にも対応していますが、言語によってサンプルコードに使用されているSolidityのバージョンに違いがあるため、注意が必要です。
英語版が最新のようなので、不安な場合は英語版を参照すると良いと思います。
初級〜中級編では、一つのゾンビゲームを題材に地続きな6つのセクションに分かれており、具体的な例に則って学習することができます。
JavaScriptが書ける前提ですが、一つ一つ丁寧に進行していくため、初心者にも安心だと思います。
それ以降の編では、スマートコントラクトのテストや、コントラクト内から外のデータへのアクセス、ブロックチェーンのエコシステムなどについて学習できます。
Ethernaut
EthernautはOpenZeppelinが提供している、Web3のCTFのようなものです。
ローカル環境に問題用のEthereumネットワークを構築し、問題ごとのスマートコントラクトがデプロイされます。
それらのスマートコントラクトをハッキングすることで、Web3/Solidityのセキュリティを学ぶことができます。
問題ごとにスマートコントラクトのソースコードが提示されるので、それを参考にブラウザの開発者ツールからJavaScript経由でコントラクトを実行します。
問題の達成条件を達成できたらそのレベルはクリアとなります。
その他
上にあげた2つはコンテンツとして成立しているものですが、他にも取り組んでいるものとしては以下があります。
- OpenZeppelinのコードリーディング
- EVM(Ethereum Virtual Machine)の仕様理解
- ライブラリコードリーディング
- ethers-io/ethers.js: Complete Ethereum library and wallet implementation in JavaScript.
- NomicFoundation/hardhat: Hardhat is a development environment to compile, deploy, test, and debug your Ethereum software. Get Solidity stack traces & console.log.
- dethcrypto/TypeChain: 🔌 TypeScript bindings for Ethereum smart contracts
- TrueFiEng/Waffle: Library for writing and testing smart contracts.
- セキュアなコードや監査レポートリーディング
宣伝
モノバンドルはマルチチェーンのNFT開発インフラ「Hokusai」を提供しています。
「デジタル上で価値を流通させたい全ての個人・事業者にとってのインフラ」としてAPIサービスを提供するEmbedded NFTサービスです。
Ethereum,Polygon,Astar,Avalanche,BNB Chain,Arbitrumの6つのチェーンに対応しています。
この記事を書いた人
Discussion