Remix IDE로 개발하기

Remix는 온라인 통합 개발 환경(IDE)으로 스마트 컨트랙트를 신속하게 개발하고 배포할 수 있는 환경을 제공해요. 스마트 컨트랙트 개발이 처음이라면, 로컬 환경에 환경 구성이 필요 없이 바로 시작할 수 있는 훌륭한 도구예요.

Remix에는 계약을 신속하게 배포하고 테스트할 수 있는 블록체인 시뮬레이션도 포함되어 있어요. 이 시뮬레이션은 브라우저 내에서만 존재하므로 다른 사람과 공유하거나 외부 도구나 프론트엔드를 통해 상호작용할 수 없어요. 하지만 Remix 내에서 다양한 테스트넷에 배포할 수도 있어요. 이렇게 하면 컨트랙트를 공개하면서 다른 사람과 공유할 수 있게 돼요.


Remix 개발 환경

브라우저 창을 열고 remix.ethereum.org로 이동하세요. 여러 팁들을 확인하면서 클릭한 후에, 편집기를 살펴보세요. 익숙한 모습이 눈에 보일 거예요.

편집기 창

처음에는 Remix의 Home 화면이 로드돼요. 여기에는 Remix의 뉴스, 유용한 링크 등에 대한 내용이 담겨있어요. 홈 탭을 닫은 후, default_workspace 폴더 내 contracts 폴더에 위치한 1_Storage.sol 파일을 눌러 편집기 화면으로 넘어갈 수 있어요.

이렇게 편집기 창에서 코드를 수정할 수 있어요. 구문 및 오류 강조 표시 등 예상하는 대부분의 기능도 지원해요. 오류가 있다면 밑줄로도 표시되고, 오류가 발생한 줄 번호 왼쪽에 ❗가 표시되기도 해요.

상단에는 Compile 버튼이 있어요. 이 버튼을 통해 Solidity 코드를 컴파일 할 수 있어요. 다만, 실행되지는 않아요. 먼저 코드를 블록체인에 배포해야 실행할 수 있기 때문이에요.

왼쪽 패널

화면의 가장 왼쪽 패널에는 다른 많은 편집기와 마찬가지로, 다양한 도구와 기능 간의 전환을 가능하게 하는 수직 탭이 있어요. 현재 작업 공간의 파일을 탐색할 수도 있고, 작업 공간을 생성하거나 전환할 수 있어요. 그리고 코드를 검색하거나, 다양한 플러그인에 접근할 수도 있어요


플러그인

Remix의 대부분의 기능은 플러그인으로 구성되며, 자주 사용할 플러그인들은 기본적으로 활성화되어 있어요. 화면 왼쪽 하단의 플러그인 버튼을 클릭해서, 내가 원하는 플러그인을 추가하거나 관리할 수 있어요.

Solidity Compiler

검색 버튼 다음으로 기본으로 제공되는 플러그인이에요. 컴파일할 Solidity의 컴파일러의 버전을 선택할 수 있고 최적화 옵션들을 선택할 수 있어요. Compile 버튼을 통해 코드를 컴파일하거나, Compile and Run script 버튼을 통해 스크립트를 실행하게 할 수 있어요.

그리고 오류가 있을 경우 오류의 전체 텍스트가 표시돼요. 1_Storage.sol에 일부러 오타를 넣어서 테스트 해보세요.

Deploy & Run transactions

Deploy & run transactions 플러그인은 스마트 컨트랙트를 배포하고 상호작용하는 데 사용돼요. 사용할 VM을 선택하고 테스트 이더로 테스트용 지갑을 생성하고, 배포 및 테스트할 수 있는 메뉴가 있어요.

1_Storage.sol에 오타를 넣었다면 오류를 수정하고 주황색 Deploy 버튼을 클릭하세요. Deployed Contracts 탭에 배포한 컨트랙트가 STORAGE AT <주소>로 표시되는 걸 확인할 수 있어요.


GIWA 테스트넷에 배포해보기

Remix에서 컨트랙트를 배포하기 위해서는 MetaMask와 같은 지갑이 브라우저에 설치되어 있어야 해요.

MetaMask 같은 브라우저 지갑이 설치되어 있지 않거나, Giwa Sepolia 테스트넷이 설정되어 있지 않나요? 그렇다면 Metamask 여기 링크에서 세팅하는 법을 확인하실 수 있어요.

Testnet Ether가 없다면 테스트용 ETH 받기여기 문서를 참고해서 테스트 이더를 받을 수 있어요.

모든 준비가 완료되었다면, 이제 Storage 컨트랙트를 배포해볼 수 있어요!

환경 선택하기

Deploy & Run Transaction 탭을 열어주세요. Environment 에서 Injected Provider를 선택해주세요. MetaMask나 다른 활성화된 지갑이 보일거예요.

처음 이 작업을 수행할 때, 지갑에서 이 dApp(Remix)을 지갑에 연결할 것인지 확인을 요청할 거예요. 연결이 완료되면 환경 드롭다운 메뉴 아래에 네트워크 이름이 표시돼요.

GIWA Sepolia 테스트넷에 연결되었다면, Custom (91342) network 라고 표시되어야해요. 다른 값이 보인다면 지갑에서 활성 네트워크를 변경해주세요.

컨트랙트 배포하기

주황색의 Deploy 버튼을 누르면, 배포하는 데 가스 비용이 발생하니 거래를 검토하고 확인하라는 요청을 받게 돼요.

컨펌 버튼을 클릭한 후 Remix로 돌아가 배포될 때까지 기다리세요. 배포가 완료되었다면, 아래 표시되는 address가 여러분이 배포한 컨트랙트의 주소예요.

https://sepolia-explorer.giwa.io/ 로 접속해서 해당 주소에 컨트랙트가 잘 배포되었는지 확인할 수 있어요.


컨트랙트 코드 검증하기

리믹스(Remix)를 통해 배포된 계약과 상호작용할 수 있고, 또한 이전 가이드와 마찬가지로 Explorer 통해서도 상호작용이 가능해요. 위에서 배포한 컨트랙트 주소를 붙여넣어 스마트 컨트랙트를 찾아보세요.

이 페이지에서는 잔액, 컨트랙트 정보 및 해당 컨트랙트와 관련된 모든 트랜잭션 내역을 확인할 수 있어요.

메인 패널의 '계약(Contract)' 탭을 클릭하세요. 검증되지 않은 컨트랙트는 Verify & Publish라는 버튼이 보일거에요.

컨트랙트 검증은 함수 및 변수 이름을 컴파일된 바이트 코드에 매핑하여 사람이 읽을 수 있는 인터페이스를 만들어줘요. 이를 통해 컨트랙트와 상호작용할 수 있게 해요.

Contract License (오픈 소스 라이선스 유형) 선택란에서는 SPDX-License-Identifier로 계약서에 선택한 라이선스와 일치하는 항목을 선택하세요. Solidity 권장 관행인 UNLICENSED를 사용한 경우 'None'을 선택하세요.

Verification method (검증 방식) 선택란에서 Solidity (Single File)을 선택하세요.

Compler (컴파일러 버전) 선택란에서는 소스 파일 상단의 pragma 와 일치하는 버전을 선택하세요. 현재 예제는 v0.8.30+commit.73712a01를 사용 중이에요. 또 현재 예제에서는 Optimizer 사용은 기본적으로 꺼져있으므로 Optimization enabled 체크 해제해주세요.

그리고 마지막으로 여러분이 배포했던 컨트랙트 코드를 모두 복사해서 붙여넣으세요.

모두 입력되었다면, Verify & Publish 버튼을 클릭하세요. 성공 메시지가 나왔다면, 다시 컨트랙트 주소 페이지로 넘어가면, 여러분이 작성한 코드 뿐만 아니라, 상호작용할 수 있는 인터페이스(Read/Write Contract)까지 나타난 것을 확인할 수 있어요.

Last updated