Solidityカリキュラム


Solidity初心者コース

4. CryptoZombies https://cryptozombies.io
6. scaffold-eth/simple-nft-exampleでメインネットデプロイ体験 https://github.com/scaffold-eth/scaffold-eth/tree/simple-nft-example


Solidity中級者コースA = 基礎的な「ソフトウェアの複雑さのマネジメント」

  1. TypeScript + TypeChain
  1. Hardhat + Mocha
  1. ERC-20やNFTコントラクトと連携したガチャコントラクトを作ってみる(高々3つのコントラクトを扱う実習)

Solidity中級者コースB = 基礎的な「計算機資源のマネジメント」

  1. A-3で作成したコントラクトに大きなループ処理を含む関数を追加し、コントラクトサイズの限界を確認する
  1. E2Eテストを記述し、テスト実行時間がどのくらいのものか確認する

Solidity中級者コースC = 基礎的な「運用不安のマネジメント」

  1. ガチャコントラクトをPolygonメインネットにデプロイして知人に試しに購入してもらう
  1. ユーザーが100名になったとき、金額が100倍になったときのケーススタディを行う
  1. 関連する法律を学習する
  1. openzeppelin/upgradesを学ぶ

Solidity上級者コース

  1. 好きな既存産業の分散バージョンを企画し、クラス図とシーケンス図に落とし込む
  1. モノリシックなコントラクトに全ての実装を書き込み、全貌をプロトタイプする(この時点ではテストを書かない)
  1. B, Cの観点に注意してコントラクトを更新可能かつ疎結合化する
  1. 3の肌感をもとにクラス図とシーケンス図を更新する
  1. Aの知見をもとに仕様を満たすようにテストを追加する
  1. gas estimation, gasUsedをテストし、ユーザー体験やユーザー数のスケーラビリティを検討する
  1. 実運用でのバグに備えてアップグレードを実行するスクリプトのテストを記述し、試験運転を行う