Remix IDE로 스마트 컨트랙트 작성해보기

Remix IDE는 웹 브라우저에서 직접 스마트 컨트랙트를 작성, 컴파일, 배포 및 테스트할 수 있는 이더리움 개발 도구입니다. 별도의 설치 없이 사용할 수 있어 초보자부터 전문가까지 널리 활용됩니다. 이 글에서는 Remix IDE를 이용해 간단한 스마트 계약을 작성하고 실행하는 과정을 단계별로 설명합니다.

1. Remix IDE 소개 및 접속 방법

Remix는 remix.ethereum.org 에서 접속할 수 있습니다. 웹 기반으로 동작하므로 별도 설치가 필요 없으며, Solidity를 지원합니다.

Remix는 크게 다음과 같은 탭으로 구성되어 있습니다:

  • File Explorer: 계약 파일 관리
  • Solidity Compiler: 코드 컴파일
  • Deploy & Run Transactions: 스마트 계약 배포 및 실행

2. 첫 번째 스마트 계약 작성

다음은 간단한 예금 및 인출 기능을 가진 스마트 계약 예시입니다:

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

contract SimpleBank {
    address public owner;
    mapping(address => uint) public balances;

    constructor() {
        owner = msg.sender;
    }

    function deposit() public payable {
        balances[msg.sender] += msg.value;
    }

    function withdraw(uint amount) public {
        require(balances[msg.sender] >= amount, "잔액 부족");
        balances[msg.sender] -= amount;
        payable(msg.sender).transfer(amount);
    }

    function getBalance() public view returns (uint) {
        return balances[msg.sender];
    }
}

3. 코드 입력 및 컴파일

Remix의 File Explorer에서 새 파일을 생성하고, 위 코드를 붙여넣습니다. 그런 다음 왼쪽 메뉴에서 Solidity Compiler 탭을 클릭하여 컴파일합니다. 컴파일러 버전은 pragma 선언과 맞는 0.8.0 이상을 선택해야 오류가 발생하지 않습니다.

4. 스마트 계약 배포

컴파일이 완료되면 Deploy & Run Transactions 탭으로 이동합니다. 환경(Environment)을 JavaScript VM으로 선택하면 가상의 브라우저 내 블록체인 환경에서 테스트할 수 있습니다.

이후 Deploy 버튼을 클릭하면 계약이 배포되며, 아래에 계약 인스턴스가 생성됩니다.

5. 함수 실행 및 테스트

배포된 계약 인스턴스 아래에 있는 버튼을 통해 다음과 같은 테스트를 할 수 있습니다:

  • deposit: ETH를 입력 후 전송(Transact) 버튼 클릭
  • withdraw: 숫자 입력 후 인출
  • getBalance: 현재 나의 예치금 확인

함수 실행 결과는 콘솔(Log) 탭에서 확인할 수 있으며, 상태 변화는 가상 블록체인 상에 기록됩니다.

6. 외부 지갑(MetaMask) 연동 배포

환경을 Injected Provider - MetaMask로 변경하면 실제 이더리움 테스트넷(예: Sepolia, Goerli 등) 또는 메인넷에 배포할 수 있습니다. 이때 MetaMask 지갑이 설치되어 있어야 하며, 가스비 지불을 위한 ETH가 필요합니다.

결론

Remix IDE란?: 웹 기반 스마트 계약 통합 개발 환경으로 Solidity 코드 작성, 컴파일, 배포, 테스트를 쉽게 수행할 수 있습니다.

스마트 계약 작성: 간단한 예금/출금 기능을 가진 Solidity 예제를 통해 실습이 가능합니다.

컴파일 및 배포: Solidity Compiler와 Deploy & Run Transactions 탭을 이용해 로컬 또는 테스트넷에 계약을 배포합니다.

함수 실행: deposit, withdraw, getBalance 등 버튼을 클릭하여 직접 트랜잭션을 발생시켜 결과를 확인할 수 있습니다.

Remix IDE는 초보자에게도 진입장벽이 낮고, 실시간으로 스마트 계약 개발을 실습할 수 있는 강력한 도구입니다. 학습과 테스트에 매우 유용하므로 Solidity를 처음 배우는 사용자에게 적극 추천됩니다.