Technical Crypto OS第2段階 · スマートコントラクト開発
ステージ二の案内
Smart Contract Engineering。EVM と Solana で、使えるコントラクトを書き、テストし、デプロイする。
このステージで考える問題
コントラクトと通常のバックエンドコードには、三つの根本的な違いがあります。このステージは、その三つを中心に進みます。
- 公開されている:誰でも入口を呼べるため、すべての public 関数が攻撃対象になります。
- 変更できない:アップグレード経路を先に設計しなければ、デプロイ後は変えられません。その経路自体も、新しいリスクになります。
- 高価である:保存領域は限られ、一回の書き込みが一回の計算の百倍の費用になることもあります。
六つの章
T7Solidity の基礎
コントラクトをチェーンにデプロイすると、どのような形になるか?
State VariableFunctionModifierEventMapping
T8EVM を深く理解する
同じ代入文なのに、ガス代が 100 倍も違うのはなぜか?
MemoryStorageCalldataABIDelegatecall
T9ERC Standards
標準は実際にどんな問題を解決するのか?
ERC20ERC721ERC1155PermitApprove
T10Solana Program
コントラクトの保存領域がなければ、プログラムは状態をどう覚えるか?
RustAnchorPDACPIAccount Validation
T11Token Program
Solana 上のトークンが独立したコントラクトではない理由
SPL TokenToken-2022MintATATransfer Hook
T12Testing & Deployment
実際のお金を使う前に問題をどう見つけるか?
Unit TestIntegration TestForkFuzzingDeployment Script
このステージを終えると
完全なテストを備え、テストネットにデプロイし、ソースコードを検証したコントラクトを提出できます。
ステージの成果物:完全なテスト付きの Token コントラクト。
学習のヒント
- T12 のメインネット Fork テストは、このステージで最も重要な技能です。実際の資金を使う前に、実際の状態でコードを検証できます。
- テストは、失敗するケースから書いてください。コントラクトでは、正しく実行すること以上に、正しく拒否することが重要です。
- このステージではメインネットにデプロイしません。最終プロジェクトで、安全のステージを通過してから行います。