Ganache GUI에 간단한 VDR 스마트 컨트랙트 배포하기
개요
Ganache 환경에 간단한 VDR 스마트 컨트랙트 배포하기에서 Ganache CLI 에 배포해 보았습니다. 별도 설정없이 사용할 수 있고, VSCode 하단 터미널 창을 사용해 한 화면에서 모두 처리할 수 있다는 점은 매력적인 부분입니다. 하지만, CLI 환경이 익숙하지 않다면 그 또한 하나의 장벽이 될 수 있습니다. 따라서, 별도 제공되는 Ganache GUI 에 배포해 보겠습니다. 이를 위해선 Ganache GUI 설치가 선행되어야 합니다 .
사전 프로그램 설치
Ganache GUI 는 보통 프로그램 설치하는 절차와 동일해 별 어려움 없이 설치할 수 있습니다.
Ganache GUI 실행 및 수정하기
Ganache GUI 를 실행합니다. Quick Start 등 원하는 블록체인을 구성합니다.
하기 내용은 Quick Start 로 구성된 이더리움을 기반으로 작성되었습니다.
실행화면에서 보이는 블록체인 정보 중 서버 정보는 기본값 127.0.0.1:7545
로 설정됩니다.
Ganache 정보
해당 값은 Ganache CLI 와 같은 값으로 truffle-config.js
의 development 에서 확인할 수 있습니다.
따라서, Ganache GUI 를 동일한 값을 사용할 경우, Truffle 은 배포 대상을 식별할 수 없거나, Ganach CLI 를 대상으로 배포할 수 있습니다.
이를 해결하기 위해 Port 를 수정합니다.
- 위치 : Ganache GUI > Options (톱니바퀴 아이콘) > SERVER
해당 위치에서 Port 를 다른 값으로 수정한 후 상단의 SAVE AND RESTART
를 선택합니다.
Ganache 서버 포트 수정
수정이 완료되었습니다.
배포 준비하기
Ganache CLI 는 기본 설정값을 사용해 배포하기 때문에 바로 사용할 수 있지만, Ganache GUI 는 별도 설치된 프로그램이므로 Truffle 에서 Ganache GUI 로 배포 경로를 변경하도록 설정을 해야합니다.
truffle-config.js 설정하기
Truffle 환경에서 배포할 네트워크는 truffle-config.js
에서 지정합니다.
- 위치 :
~\truffle\truffle-config.js
truffle-config.js 네트워크 설정 부분
배포할 네트워크명을 지정한 후 필요한 정보를 설정합니다.
(생략)
networks: {
(생략)
ganache: {
host: "연결할 노드 URL or IP",
port: 연결할 노드 Port,
network_id: "블록체인 네트워크 ChainId"
}
}
설정에 필요한 정보는 Ganache GUI 실행화면에서 확인할 수 있습니다.
Ganache 정보
(생략)
networks: {
(생략)
ganache: {
host: "127.0.0.1",
port: 8545,
network_id: "5777"
}
}
Ganache GUI 설정하기
Ganache GUI 와 Truffle 을 연결하는 것은 Ganache GUI 에 truffle-config.js 경로를 추가하는 것으로 완료됩니다.
- 위치 : Ganache GUI > Options (톱니바퀴 아이콘) > WORKSPACE
ADD PROJECT
버튼으로 Truffle Projects
에 truffle-config.js 경로를 추가 후 SAVE AND RESTART
합니다.
Ganache Workspace 정보 수정
배포를 위한 준비는 마무리되었습니다.
배포하기
터미널을 사용해 Truffle 디렉토리로 이동해 다음의 명령어를 실행합니다.
- 명령어 :
truffle mignate --network ganache
Ganache GUI 에 스마트 컨트랙트 배포
배포된 스마트 컨트랙트는 Ganache GUI 에서 트랜잭션과 블록 정보, 컨트랙트를 확인할 수 있습니다.
- 위치 : Ganache GUI > BLOCKS
Ganache GUI 블록 정보
- 위치 : Ganache GUI > TRANSACTIONS
Ganache GUI 트랜잭션 정보
- 위치 : Ganache GUI > CONTRACTS
Ganache GUI 컨트랙트 정보
댓글남기기