[Ethereum] 아비트라지를 위한 여정 14편 - Fork

0xDave·2022년 11월 27일
0

Ethereum

목록 보기
65/112

컨트랙트를 테스트할 때 매번 메인넷 혹은 테스트넷을 사용하려면 생각보다 번거로울 수 있다. 이럴 때 ganache를 통해 local로 노드를 돌리고 메인넷을 fork 해오면 부담 없이 테스트할 수 있다.

Ganache 설치


터미널을 열어서 아래 명령어를 통해 ganache를 설치해주자.

npm install ganache --global

Docker 설치


도커 홈페이지에서 각 운영체제에 맞게 다운로드 받을 수 있다.


아발란체 메인넷 연결


지난번에 추가한 chainstack 네트워크와 도커를 활용해 ganache를 실행한다.

sudo docker run -p 8545:8545 trufflesuite/ganache:latest --fork.url <http 엔드포인트 복붙> --chain.hardfork istanbul --wallet.mnemonic brownie

이제 새 터미널을 열어서 앞서 fork한 아발란체 메인넷 네트워크를 추가해주고

brownie networks add Docker ganache-avax-fork host=http://127.0.0.1:8545 chainid=1337 explorer=https://api.snowtrace.io/api

네트워크에 연결하면 끝!

brownie console --network ganache-avax-fork

현재 블록과 ganache로 만든 계정의 잔고를 확인할 수 있다.

>>> chain.height
22916097
>>> accounts[0].balance()
1000000000000000000000
profile
Just BUIDL :)

0개의 댓글