Remix에서 개발하기

Remix IDE를 사용하여 스마트 컨트랙트를 배포하고 실행한다.

Remix는 웹 브라우저 환경에서 실행되는 이더리움과 같은 EVM(Ethereum Virtual Machine) 기반 블록체인을 위한 스마트 컨트랙트를 개발, 배포, 관리할 수 있게 도와주는 통합 개발환경(Integrated Development Environment) 입니다.

Remix IDE 초기 화면

Remix의 사용법을 익히기 위해 간단한 스마트 컨트랙트를 작성하고 배포해 보도록 하겠습니다.

작성할 스마트 컨트랙트는 배포 시 greeting 메시지를 설정하고 이를 greet() 함수를 통해 조회하고 setGreeting() 함수를 통해 greeting 메시지 변경하는 솔리디티 코드입니다.

Remix IDE를 방문하면 미리 생성되어 있는 컨트랙트들이 있습니다. 이 컨트랙트들을 선택하여 지우고 새로 Greeter.sol을 만든 후 위 코드를 입력합니다.

Greeter.sol

Solidity Compiler 텝을 선택한 후 'Compile Greeter.sol' 버튼을 눌러 작성한 스마트 컨트랙트를 컴파일합니다. Advanced Configurations를 선택하여 Enable Optimization 등 추가 기능을 설정할 수 있습니다.

Compile Greeter.sol

MetaMask를 통해 WEMIX3.0 테스트넷으로 스마트 컨트랙트를 배포하기 위해서는 웹 브라우저에 설치된 MetaMask Plug-in에서 WEMIX3.0 테스트넷을 추가하고 사용하고자 하는 계정을 선택한 후에 'DEPLOY & RUN TRANSACTION' 탭의 ENVIRONMENT에서 'Injected Provider - Metamask'를 선택합니다.

만약, MetaMask가 설치 되어 있지 않다면 아래 'Use MetaMask' 링크를 통해 설치 및 설정을 할 수 있습니다. 계정이 맞게 설정 되었는지 확인하였다면 CONTRACT에서 맞는 sol 파일을 선택한 후 'Deploy' 버튼 옆에 초기 greeting 문자열을 입력한 후 버튼을 눌러 배포를 실행합니다. MetaMask가 실행되면 확인을 눌러 트랜잭션을 실행해주면 배포가 진행됩니다.

MetaMask 사용시, WEMIX는 이더리움과는 다른 Fee 정책을 가지고 있으므로 반드시 'Market' 을 선택하여 Gas fee를 변경해야 합니다.

자세한 사항은 아래 링크 참고하세요.

Use MetaMaskchevron-right

스마트 컨트랙트가 배포되면 'Deployed Contract' 아래 배포된 컨트랙트 이름과 주소 호출 가능한 함수들이 보이게 되고, 읽기 함수의 경우 청색으로 쓰기 함수의 경우 주황색으로 보입니다.

'greet' 버튼을 누르면 배포할 때 입력한 문자열을 확인할 수 있고 읽기 함수의 경우 바로 실행이 되지만, 쓰기가 필요한 함수는 MetaMask를 이용하여 트랜잭션을 실행해야 합니다.