貢献者:Script Money
全スタックエンジニアで、Web3 開発エコシステムに精通し、いくつかの技術チュートリアルを執筆しました。
この記事は、CryptoChasers が制作した Web3 の優れた教育リソースの推奨第 2 弾であり、Solidity の初級編です。Solidity は、イーサリアムスマートコントラクトを記述するための専用のプログラミング言語であり、この記事は Solidity の基礎を学びたいプログラマー向けです。プログラミング初心者の場合は、「優れた教育リソースの推奨 - プログラミング基礎編」を読むことをお勧めします(https://xlog.app/post/cryptochasers/best-tutorial-01-code-basic)。すべてのチュートリアルは無料でアクセスできます。
主要な開発ツール#
開発ツールは、コントラクトのコンパイル、テスト、デプロイに使用されます。異なるチュートリアルでは、使用される開発ツールが異なりますが、それらは 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 セクションの高度な内容が好きです。最近、経験ポイント、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 を学び、優れたスマートコントラクト開発者になることを願っています!