티스토리 뷰
Web3OJ
국내 유일의 Solidity 문제 풀이를 위한 온라인 저지 플랫폼. 난이도가 들쭉날쭉한 Ethernaut과 비교해, 기초적인 사칙연산 구현부터 ERC20, ERC721 등 Solidity를 배움에 있어서 필수적인 요소들을 점진적으로 터득해 나갈 수 있으므로 입문자들에게 안성맞춤입니다. 다만, 현재 새로운 문제나 기능이 추가되는 업데이트는 이루어지지 않고 유지보수만 이루어지고 있다는 점이 조금 아쉬운 것 같습니다.
문제 풀이 템플릿
Foundry 프레임워크를 사용해 만들어본 문제 풀이 템플릿입니다. 입문자분들은 Remix IDE를 사용해서 문제를 푸는 것이 일반적이지만, 대세를 따라 Foundry 프레임워크를 익히면서 문제도 푸는 일석이조를 경험하고 싶다면 이 템플릿을 사용해 보시는 것도 현명한 선택이 될 것입니다. 문제 풀이 과정은 깃허브 리포지토리의 README.md 파일을 참고해 주세요.
Foundry
Foundry는 스마트 컨트랙트 개발을 위한 프레임워크입니다. 개인적인 사용감에 대해 몇 가지 적어보자면
- 빠르다.
- 러스트 기반의 프레임워크라 그런지 컴파일과 테스트 및 스크립트 실행이 굉장히 빠릅니다.
- 직관적이다.
- 테스트 및 스크립트의 실행 과정 및 결과가 콘솔에 직관적으로 출력됩니다. 어떤 함수가 어느 깊이에서 호출이 되었고, 어디에서 오류가 발생했는지 쉽게 파악할 수 있습니다.
- Solidity와 친해질 수 있다.
- 테스트와 스크립트도 모두 Solidity로 작성해야 하는 만큼, Solidity 언어를 계속해서 사용하고 익숙해지기 쉽습니다.
Foundry 이전에는 Truffle, Hardhat이 있었습니다.
Truffle은 현재 유지보수가 이루어지지 않고 아카이빙된 상태이기 때문에 사용을 안하시는 것이 좋습니다.
Hardhat의 경우는 상당히 성숙한 도구이기 때문에 여전히 많은 곳에서 사용이되고 있습니다. Javascript를 사용한다는 점에서 입문 난이도도 높지 않고 풍부한 생태계를 활용할 수 있습니다. 또한 Foundry에서는 제한된 구현(새로운 서명 알고리즘 도입 등)을 Javascript로 손쉽게 해낼 수 있죠.
저마다의 장단점이 있기 때문에 두 가지를 모두 익히는 것이 최선이기는 합니다. 실제로도 하나의 프로젝트에서 두 개의 프레임워크를 함께 사용해 부족한 부분을 보완하는 경우를 종종 봤습니다.
결론
- Web3OJ 문제 풀이 템플릿을 만들었습니다. Foundy로 만들었습니다.
- 문제 풀이 방법은 깃허브 리포지토리의 README.md를 참고해 주세요.
- Foundry 정말 좋습니다.
'Solidity > Foundry' 카테고리의 다른 글
Foundry 프로젝트에서 Hardhat 같이 사용하기 (0) | 2024.04.21 |
---|---|
[Foundry] .env 파일 사용하지 마세요 (0) | 2024.02.23 |
Inline Assembly를 사용해 ERC-20 구현하기 & Inline Assembly 활용하기 (1) | 2024.02.17 |
Foundry 테스트 작성하기 (0) | 2023.10.28 |
Foundry 프로젝트 살펴보기 (1) | 2023.10.27 |