스마트 컨트랙트 개발하기

GIWA에서 스마트 컨트랙트를 개발하고 싶으신가요?

아래 가이드를 따라 스마트 컨트랙트 개발 환경을 구축하고, GIWA 세폴리아(Sepolia) 테스트넷에서 직접 컨트랙트를 개발하고 배포하는 방법을 배울 수 있어요.


스마트 컨트랙트 개발

GIWA 체인은 Ethereum과 동일하게 EVM(Ethereum Virtual Machine) 위에서 스마트 컨트랙트를 실행해요. 이 EVM은 일반적인 컴퓨터와 동일하게 Opcode라고 불리는 명령어들을 수행할 수 있어요.

스마트 컨트랙트를 개발한다는 건, 우리가 원하는 프로그램을 EVM에서 실행할 수 있게 Opcode들의 묶음을 만들고, 이를 Bytes로 변환해서 바이트코드(Bytecode)를 체인 상에 저장하고 실행하는 것을 의미해요.

하지만, 이런 저수준의 Opcode는 사용하기 어렵기 때문에, 스마트 컨트랙트를 개발할 땐 Solidity Vyper 같은 고수준 언어를 주로 사용해요. Solidity는 JavaScript/TypeScript와 유사한 문법 체계를 가지고 있고 대부분의 Ethereum 개발자들이 사용하고 있는 언어이고, Vyper는 Python과 유사한 문법 체계를 가지고 있다는 특징이 있어요.

이번 예제들에서는 개발자들이 주로 사용하는 Solidity를 통해서 스마트 컨트랙트를 만들어볼 거예요.


개발 환경 구축하기

Solidity 언어를 통해 스마트 컨트랙트를 개발하려면 개발 환경과 개발 툴(Tool)이 필요해요.

다음과 같은 툴을 사용해 개발할 수 있어요.

  • Foundry

  • Hardhat

  • Remix IDE

아래 문서를 통해 각 툴을 활용한 개발 방법을 확인할 수 있어요.

Foundry로 개발하기Hardhat으로 개발하기Remix IDE로 개발하기

Last updated