Monad는 상하이 포크를 기준으로 모든 지원되는 옵코드와 프리컴파일을 포함한 완전한 EVM 바이트코드 호환성을 갖추고 있습니다. 또한 Monad는 표준 이더리움 JSON-RPC 인터페이스를 유지합니다.
따라서 이더리움 메인넷에서의 대부분의 개발 리소스는 Monad에서의 개발에 적용됩니다.
이 페이지는 이더리움을 위한 탈중앙화 앱을 구축하기 위한 시작점으로서의 최소한의 리소스를 제안합니다. 하위 페이지에서는 추가적인 세부 정보나 옵션을 제공합니다.
Solidity가 이더리움 스마트 컨트렉트에서 가장 인기 있는 언어이므로, 이 페이지의 리소스는 Solidity에 중점을 둡니다. 대안으로 Vyper 또는 Huff에 대한 리소스를 참조할 수도 있습니다. 스마트 컨트렉트가 합성 가능하므로, 처음에 한 언어로 작성된 컨트렉트 여전히 다른 언어로 작성된 컨트렉트에 호출을 할 수 있습니다.
IDEs
- Remix: 상호 작용하는 Solidity IDE로, 별도의 도구 설치 없이 Solidity 스마트 컨트렉트를 코딩하고 컴파일하는 가장 쉽고 빠른 방법입니다.
- **VSCode + Solidity 익스텐션**: VSCode와 Solidity 확장을 사용하여 Solidity 스마트 컨트렉트를 개발할 수 있습니다.
초급 Solidity
- CryptoZombies는 EVM에 dApp을 구축하는 데 있어 훌륭한 엔드 투 엔드 인스트럭션입니다. 이것은 코딩 경험이 전혀 없는 사람부터 다른 분야에서 경험이 풍부한 개발자까지 모두를 대상으로 리소스와 레슨을 제공합니다.
- Solidity by Example은 단순한 예제를 통해 개념을 순차적으로 소개합니다. 다른 언어에 기본 경험이 있는 개발자를 대상으로 가장 적합합니다.
중급 Solidity
- Solidity 언어 공식 문서는 EVM 환경을 중심으로 한 스마트 계약과 블록체인 기본 사항에 대한 종합적인 설명입니다. Solidity 언어 문서뿐만 아니라 코드를 EVM에 배포하기 위한 기본 사항과 EVM에 스마트 계약을 배포하는 데 관련된 기본 구성 요소도 다룹니다.
- Solidity Patterns 리포지터리는 코드 템플릿 및 사용법 설명을 제공하는 라이브러리입니다.
- The Uniswap V2 계약은 전문적이면서도 이해하기 쉬운 스마트 계약으로, 운영 중인 Solidity dApp에 대한 훌륭한 개요를 제공합니다. 계약에 대한 안내서는 여기에서 찾을 수 있습니다.
- Cookbook.dev는 라이브 편집, 원 클릭 배포 및 코드 질문에 도움을 주기 위한 AI 채팅 통합을 포함하는 대화형 예제 템플릿 계약 세트를 제공합니다.
- OpenZeppelin은 ERC20, ERC712 및 ERC1155와 같은 일반적인 이더리움 토큰 배포를 위한 사용자 정의 가능한 템플릿 계약 라이브러리를 제공합니다. 참고로, 이들은 가스 최적화되지 않았습니다.
고급 Solidity
- Solmate 리포지터리와 Solady 리포지터리는 Solidity 또는 Yul을 활용한 가스 최적화된 계약을 제공합니다.
- Yul는 일반적으로 EVM을 위한 인라인 어셈블리로 생각할 수 있는 Solidity의 중간 언어입니다. 이는 순수 어셈블리는 아니지만 제어 흐름 구조를 제공하고 개발자에게 원시 메모리 백엔드를 노출하면서 스택의 내부 작동을 추상화합니다. Yul은 고성능 가스 최적화 EVM 코드를 구축하기 위해 EVM의 원시 메모리 백엔드에 노출이 필요한 개발자를 대상으로 합니다.
- Huff는 EVM 어셈블리로 가장 잘 설명됩니다. Yul과는 달리 Huff는 제어 흐름 구조를 제공하거나 프로그램 스택의 내부 작동을 추상화하지 않습니다. Huff는 대부분 성능에 민감한 응용 프로그램에서만 이점을 취하지만, EVM이 명령을 해석하는 방법을 학습하는 데 훌륭한 교육 도구입니다.
로컬 노드