[Remix]

VScode를 비롯한 우리가 일반적으로 사용하는 데스크톱 IDE에서는 자체적으로 솔리디티 코드를 디버깅하거나 컴파일하는 기능이 없다. 따라서 솔리디티 코드를 컴파일, 배포, 테스트, 디버깅해주는 Truffle과 로컬환경에서 블록체인 테스트넷을 사용할 수 있게 해주는 Ganache를 함께 사용해야 한다.

웹 기반 IDE인 Remix는 솔리디티 개발을 위한 IDE이다. 자체적으로 솔리디티 개발을 위한 컴파일, 배포, 테스트, 디버깅 기능을 내장하고 있기 때문에 별도의 프레임워크나 라이브러리를 설치하지 않아도 쉽게 솔리디티 코드 작성부터 테스트넷 배포까지 할 수 있다.

[Geth를 사용해 스마트 컨트랙트 빌드하기]

  1. simpleStorage.sol 이라는 코드를 작성했다고 가정하고 디렉토리에 저장!

  2. solc —abi —bin simpleStorage.sol ⇒ solc를 사용해 컴파일, ABI와 바이트코드가 출력된다.

  3. geth console 2> /dev/null —goerli ⇒ geth console 을 실행(goerli 네트워크)

  4. var simpleAbi = [컴파일한 ABI로 초기화]

  5. var simpleBytecode = “컴파일 한 바이트 코드로 초기화”

  6. var simpleContract = eth.contract(simpleAbi) ⇒ eth.contract()를 사용해서 ABI를 설정

  7. personal.unlockAccount(eth.accounts[0]) ⇒ geth 계정은 기본적으로 잠겨있으므로 배포할 계정의 락을 풀어줭 한다.

  8. var contractObj = simpleContract.new({from: eth.accounts[0], data: simpleBytecode, gas:2000});

    ⇒ 위와같이 하면 배포가 시작된다. contractObj 객체를 통해 컨트랙트 정보를 얻을 수 있다.