일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
Tags
- SBT표준
- 컨트렉트 배포 자동화
- 스마트컨트렉트 예약어 함수이름 중복
- ambiguous function description
- ethers
- 스마트 컨트렉트 함수이름 중복
- chainlink 설명
- erc4337 contract
- erc4337
- 스마트컨트렉트테스트
- 오블완
- ethers type
- vue기초
- 머신러닝기초
- 티스토리챌린지
- ethers typescript
- multicall
- Vue
- 러스트 기초 학습
- 컨트렉트 동일한 함수이름 호출
- 계정추상화
- rust 기초
- 러스트 기초
- Vue.js
- 스마트컨트렉트 함수이름 중복 호출
- 러스트기초
- ethers websocket
- ethers v6
- git rebase
- 체인의정석
Archives
- Today
- Total
체인의정석
다중 체인 환경 hardhat써서 로컬에서 테스트하기 본문
728x90
1. hardhat 써서 여러개의 체인 로컬에 띄우기
먼저 해당 명령어를 사용한다면 8545 포트로 노드가 띄워진다.
이때 포트를 다르게 해서 하나 더 띄우면 로컬에 체인이 2개가 생기게 된다.
// 새로운 창 열고 실행
npx hardhat node
// 새로운 창 하나 더 열고 실행
npx hardhat node --port 8546
2. provider 각각 지정해서 사용하기
const providerUrl_A = 'http://127.0.0.1:8545/';
const providerUrl_B = 'http://127.0.0.1:8546/';
//해당 프라이빗 키는 npx hardahat node 실행시 기본으로 제공되는 0번 프라이빗 키이므로 그대로 사용
const privateKeyA = '0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80';
const privateKeyB = '0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80';
const providerA = new ethers.JsonRpcProvider(providerUrl_A);
const providerB = new ethers.JsonRpcProvider(providerUrl_B);
const walletA = new ethers.Wallet(privateKeyA, providerA);
const walletB = new ethers.Wallet(privateKeyB, providerB);
이렇게 각각 provider를 설정해주고 나서
const contractAddress = "0x84eA74d481Ee0A5332c457a4d796187F6Ba67fEB";
const sendMessageABI = [
"event SendMessage(address indexed caller, string uri, bytes params, uint256 deadline)"
];
const metaLane721Contract = new ethers.Contract(contractAddress, sendMessageABI, walletA);
위와 같이 사용하면 된다.
그리고 network를 통해서 스크립트를 실행하기 위해서
networks: {
a: {
url: 'http://127.0.0.1:8545/'
},
b: {
url: 'http://127.0.0.1:8546/'
},
다음과 같이 세팅해 주면 된다.
이를 통해서 로컬에서 다중 체인을 사용하는 브릿지 등을 미리 테스트 해볼 수 있다.
만약 프론트 엔드도 띄워서 하고 싶으면 메타마스크에 위에 지정한 로컬 URL을 넣고 테스트하면 된다.
이런식으로 테스트하면 컨트렉트에 콘솔까지 넣고 찍을 수 있는 장점도 있어서 세세한 디버깅이 가능하다.
728x90
반응형
'블록체인 > 퍼블릭 블록체인' 카테고리의 다른 글
smart contract에서 동일한 함수 이름이나 예약어가 있을 경우 (0) | 2024.09.30 |
---|---|
smart contract에서 동일한 함수 이름이나 예약어가 있을 경우 (0) | 2024.09.30 |
폴리곤 Polygon amoy 테스트넷 사용방법 (1) | 2024.06.05 |
AVAX 아발란체 테스트넷 사용법 (0) | 2024.06.05 |
Oasys testnet 사용방법 (0) | 2024.05.24 |
Comments