貢献者:Script Money
全スタックエンジニアで、Web3 開発エコシステムに精通し、いくつかの技術チュートリアルを執筆しました。
この記事は、CryptoChasers が制作した Web3 の優れた教育リソースの推薦第 2 弾であり、Solidity の初級編です。Solidity は、イーサリアムスマートコントラクトを書くための専用のプログラミング言語であり、この記事は Solidity の基礎を学びたいプログラマー向けです。プログラミング初心者の場合は、「優れた教育リソースの推薦 - コーディング基礎編」をおすすめします。すべてのチュートリアルは無料でアクセスできます。
主要な開発ツール#
開発ツールは、コントラクトのコンパイル、テスト、デプロイに使用されます。異なるチュートリアルで使用される開発ツールは異なりますが、Solidity 自体にも劣らない重要な役割を果たしています。そのため、まず Remix、Hardhat、Foundry の 3 つの主要な開発ツールとそれぞれの適用範囲について紹介します。
Remix、Hardhat、Foundry は現在最も主要な Solidity スマートコントラクト開発ツールです:
- Remix https://remix.ethereum.org/ はウェブベースのエディタで、インストール不要で使用できます。Solidity の基礎を学ぶための知識ポイントを素早く実装、テスト、デプロイするのに適しています。
- Hardhat https://hardhat.org/ はローカルにインストールする必要があり、JavaScript でテストやタスクを実行するための多くのプラグインがあり、幅広い用途に適しています。
- Foundry https://book.getfoundry.sh/ はローカルにインストールする必要があり、Solidity でテストやタスクを実行し、高い実行効率を持っています。現在、多くのコントラクトライブラリが Foundry で作成されています。
学習のニーズから考えると、
- 他の人がデプロイした Solidity コントラクトを理解するためには、ローカルでテストする必要がある場合があります。その場合はRemixで十分です。
- オンラインのスマートコントラクトとバッチで対話するコードを書く必要がある場合は、Hardhatをおすすめします。
- シンプルな Web3 プロジェクトを開発することが目標であり、コントラクトの設計、テスト、フロントエンドとの対話が必要な場合は、HardhatとFoundryを選択してください。
- プロのスマートコントラクトエンジニアになりたい場合は、直接Foundryを学ぶことをおすすめします。
推薦チュートリアル#
Blockchain Developer, Smart Contract, & Solidity Course | Foundry Edition 2023#
- ウェブサイト: https://github.com/Cyfrin/foundry-full-course-f23
- ツール:Remix + Foundry
- 言語:英語
- 内容:ビデオ + テキストインデックス
システム型のチュートリアルで、ブロックチェーンの基礎知識、フロントエンド開発、監査などが含まれています。このチュートリアルをおすすめする理由は、最新のビデオであり、現在非常に人気のある Foundry に焦点を当てており、インストールから監査までの各ステップの詳細を説明していることです。また、GitHub 上でテキストインデックスの補完も提供しています。このチュートリアルは、初心者が操作を追いかけるのに適しているだけでなく、知識の補完にも使用できます。ただし、ビデオの内容が非常に長いため、合計で約 30 時間かかります。
Ethereum Developer Degree by LearnWeb3#
- ウェブサイト: https://learnweb3.io/degrees/ethereum-developer-degree/
- ツール:Remix + Hardhat
- 言語:英語
- 内容:テキスト + クイズ
システム型のチュートリアルで、LearnWeb3 DAO によって作成され、完全なプロジェクト開発に焦点を当てています。このチュートリアルをおすすめする理由は、プロジェクトの実践を重視し、難易度を段階的に上げながら、重要な知識を非常に明確に説明しており、クイズ形式でその知識を理解しているかどうかを確認しています。React、Nextjs、IPFS など、プロジェクト開発に必要なコンテンツも付属しています。特に Senior セクションの高度な内容が好きで、EVM の重要な知識を多く教えてくれます。また、最近、経験ポイント、NFT、ランキングなどの要素を備えた新しいウェブサイトが公開されました。ただし、ビデオチュートリアルは用意されていないため、一部の初心者は開発環境のインストールに苦労するかもしれません。
Ethereum Developer Bootcamp by alchemy#
- ウェブサイト: https://university.alchemy.com/overview/ethereum
- ツール:Hardhat
- 言語:英語
- 内容:ビデオ + テキスト + プロジェクトタスク
システム型のチュートリアルで、Alchemy によって作成され、Solidity 自体に焦点を当てています(彼らはプロジェクト開発に特化した Road to web3 シリーズもあります)。ウェブエディターが付属しています。複雑な内容が非常に詳しく説明されており、通常は図表も含まれており、多くの拡張コンテンツが含まれています。一部のコンテンツは難しいですが、クリアするためのプロジェクトタスクも一定の難度があります。ただし、このチュートリアルのビデオは YouTube にはないため、日本語に翻訳することはできません。学習にはある程度の英語力が必要です。
Solidity by Example#
- ウェブサイト: https://solidity-by-example.org/
- ツール:Remix
- 言語:英語 / 中国語
- 内容:テキスト
知識ポイント型のチュートリアルで、Solidity のさまざまな言語の特性、典型的なコントラクトの設計、ハッカー攻撃、DeFi モデルなどを詳細に説明しています。Remix の例を使用して説明しています。
WTF-Solidity#
- ウェブサイト: https://www.wtf.academy/wtf.academy/solidity-start/
- ツール:Remix
- 言語:中国語 / 英語
- 内容:テキスト
知識ポイント型のチュートリアルで、Solidity by Example と似ていますが、より詳細に説明しています。欠点は、内容が多すぎて細分化されすぎているため、閲覧にはあまり適していないことです。
Free Solidity Tutorial#
- ウェブサイト: https://www.rareskills.io/learn-solidity
- ツール:Remix + Foundry
- 言語:英語
- 内容:テキスト
知識ポイント型のチュートリアルで、経験豊富なプログラマー向けに設計されており、重要なポイントに焦点を当てるようにしています。プロジェクト実践のセクションと関連するビデオもあります。欠点は、初心者には適していないことです。
まとめ#
私が Solidity を学んだ当時、上記の優れたチュートリアルはまだ存在しませんでした。私は consensys bootcamp 2021 に参加して有料で NFT プロジェクトを完成させました。その後、コントラクトの監査や小規模なプロジェクト開発に参加することで、知識を補完していきました。
私の個人的な学習方法の提案は、まずシステム型のチュートリアルを完了し、プロジェクトを通じて知識を確固たるものにすることです。このプロセスでわからないことがあれば、補完的な学習を行ってください。Web3 に非常に精通している学生の場合は、知識ポイント型のチュートリアルを直接読むこともできます。
Solidity を早くマスターし、優れたスマートコントラクト開発者になることを願っています!