Remix IDE를 사용해보자!(remixd, Ganache)3

2022. 8. 25. 18:03Block Chain

Remix IDE를 사용해보자!(remixd, Ganache)1 : https://boong-bara.tistory.com/12

Remix IDE를 사용해보자!(remixd, Ganache)2 : https://boong-bara.tistory.com/13

 

이 전 글에서는 remixd에 대해 알아봤습니다.

이번에는 Ganache에 대해 알아보겠습니다.

Ganache란?

 

Ganache - Truffle Suite

Features VISUAL MNEMONIC & ACCOUNT INFO Quickly see the current status of all accounts, including their addresses, private keys, transactions and balances.

trufflesuite.com

Ganache의 공식 홈페이지 입니다. 공식 문서에 보시면 Ganache를 이렇게 소개하고 있습니다.

Ganache is a personal blockchain for rapid Ethereum and Corda distributed application development.

 

Ganache는 Ethereum과 Corda 분산 어플리케이션 개발을 빠르게 해주는 개인 블록체인입니다.

그렇다면 개인 블록체인은 왜 필요할까요?

 

Ethereum을 활용하여 개발을 하다보면 Ropsten, Rinkeby, Goerli 와 같은 많은 Test Network가 있습니다. 하지만 Ethereum의 특성상 코드를 테스트용으로 배포하는데 많은 시간과 가스비가 소요되고, Ethereum을 Faucet을 통해 받기도 어렵고, 받는다 해도 소량이 될 것입니다. 따라서 TestNet에서는 Product 단계로 가기 전에 거의 완성이 되었으면 TestNet을 활용할 수 있을 것이라 예상됩니다.

 

이런 Ethereum을 활용한 개발의 한계를 해결해주는 것이 바로 Ganache입니다.

Ganache 사용법

Ganache 사용법도 매우 단순합니다.

1. Ganache를 설치합니다.

위 공식 홈페이지 가시면 Ganache를 다운로드 받을 수 있습니다.

2. Ganache를 실행하여 Workspace를 생성합니다.

QUICKSTART를 누르면 일회성 Workspace를 생성할 수 있습니다.(저장할 수도 있습니다.)

우리는 NEW WORKSPACE를 눌러서 생성해보겠습니다.

Workspace의 이름을 입력하고 SAVE WORKSPACE를 눌러 저장합니다. 그럼 다음과 같이 Workspace가 생성됩니다.

3. Ganache와 Remix를 연결합니다.

RPC(Remote Procedural Call) Server에서 포트번호(7545)를 잘 기억해주세요.

이렇게 하면 Ganache를 사용할 준비는 마쳤습니다.

 

다음으로 다시 Remix IDE로 가보겠습니다.

 

Remix - Ethereum IDE

 

remix.ethereum.org

Deploy & run transactions 탭에서 ENVIRONMENT를 보면 Ganache Provider가 있습니다.

클릭하면 다음과 같은 창이 뜨는데, 기본적으로 포트번호가 8545번이 입력되어있습니다. 제 Ganache의 Workspace는 7545번이므로 수정해주었습니다.

보시는 것처럼 Ganache의 Workspace와 동기화된 모습을 볼 수 있습니다.

이렇게 개인 이더리움 네트워크를 생성하여 빠르게 배포할 수 있고, 여러 개 지갑과 이더리움으로 테스트 할 수 있습니다.

Remix VM이란?

Remix VM

Ethereum TestNet의 느린 속도와 Faucet을 이용하는 단점을 극복하기 위한 방법으로는 사실 Ganache가 없어도 Remix IDE의 Remix VM 환경을 이용하여 해결할 수 있습니다. 그런데도 Ganache를 왜 이용할까요?

 

Remix VM에서는 스마트 컨트랙트를 배포하거나 Remix VM에 있는 지갑에서 송금을 하는 등의 작업을 하더라도 이는 일회성입니다. 따라서 새로고침을 하게될 경우 모두 없어지게 됩니다. 스마트 컨트랙트를 배포하고 나중에 다시 로드하는 일이 필요할 때에는 적저할지 않죠.

이런 이유로 주로 Ganache를 사용합니다.

 

참고로 Remix VM의 London과 Berlin은 각각 sandbox의 환경이 이더리움의 London hard fork, Berlin hard fork라는 얘기입니다. Hard Fork에 관해서는 좀 더 정리해서 다음에 포스팅하도록 하겠습니다.

 

감사합니다.