Notice
Recent Posts
Recent Comments
관리 메뉴

즐겁게, 코드

Ganache를 활용한 스마트 컨트랙트 배포 본문

🖥 컴퓨터공학/블록체인

Ganache를 활용한 스마트 컨트랙트 배포

Chamming2 2021. 4. 28. 18:26

이전 글에서 Geth라는 CLI 기반 소프트웨어를 통해 프라이빗 블록체인을 배포해 보았습니다.

 

Geth를 활용한 프라이빗 블록체인 구축 & 마이닝 실습

Geth(Go + Etherium)는 이더리움 기반 블록체인 네트워크를 구성하기 위한 클라이언트 소프트웨어인데요, 오늘은 Geth를 활용해 이더리움 기반 블록체인을 구성하고 블록을 직접 마이닝해 이더를 획

merrily-code.tistory.com

그런데 사실 복잡한 세팅과 명령어로 인해 Geth를 활용하는 방법이 쉽지는 않습니다.. 😂

오늘은 Ganache(가나슈) 라는 툴을 활용해 프라이빗 블록체인을 구축한 다음, 보다 쉽게 스마트 컨트랙트를 배포해보겠습니다!

Ganache 사용법

가나슈는 가나슈 공식 홈페이지에서 간단하게 설치할 수 있습니다.

 

Ganache | Truffle Suite

Deploy contracts, develop your decentralized applications (dapps), and run tests on smart contracts. Available as a desktop application & command-line tool.

www.trufflesuite.com

※ 상단의 RPC Server 주소의 포트를 기억해주세요!

가나슈를 설치하면 나타나는 화면에서 왼쪽 "QUICKSTART" 를 선택합니다.

열면 무언가 알 수 없는 해시값들이 나타나는데, 이게 바로 테스트를 위해 미리 가나슈에서 만들어둔 계좌들입니다!

스마트 컨트랙트를 배포하기 위해 메인 페이지의 RPC Server 주소를 기억해 두고 다음 단계로 넘어가겠습니다.

컨트랙트 배포하기

가나슈로 생성한 프라이빗 네트워크를 테스트하기 위해 먼저 스마트 컨트랙트 코드를 작성해야 합니다.

리믹스 IDE에서 컨트랙트 코드를 작성한 후, 좌측 두 번째 탭에서 컴파일을 마친 모습입니다.

(※ 컨트랙트 코드는 이 글 최하단의 ERC-20 프로토콜 구현체를 사용했습니다.)

Web3 Provider Endpoint에는 가나슈의 RPC Server 주소를 대입합니다.

중요한 점은 배포 환경을 자바스크립트가 아닌 Web3 Provider로 설정해야 하는데요, 이렇게 해야 가나슈 상에서 스마트 컨트랙트를 테스트할 수 있기 때문입니다.

두 계좌 정보가 연동된 모습

Web3 Provider Endpoint에 가나슈의 RPC Server 주소를 대입하고 OK를 누르면, 가나슈와 리믹스가 연동된 모습을 확인할 수 있습니다.

이어서 초기값(initialSupply)을 대입해 첫 번째 트랜잭션을 생성해 보겠습니다.

Geth에서는 트랜잭션을 생성(제출)한 후 처리하기 위해 마이닝을 직접 수행해야 했고, 블럭이나 트랜잭션 정보를 확인하기 위해 복잡한 명령어들을 암기해야 했지만 가나슈에서는 메뉴를 클릭하는 것만으로도 간단하게 정보를 확인할 수 있는 모습입니다.

반응형
Comments
소소한 팁 : 광고를 눌러주시면, 제가 뮤지컬을 마음껏 보러다닐 수 있어요!
와!! 바로 눌러야겠네요! 😆