체인의정석

hardhat, ethers 의 ProviderError: HttpProviderError 본문

블록체인/Ethers & web3

hardhat, ethers 의 ProviderError: HttpProviderError

체인의정석 2023. 7. 21. 11:37
728x90
반응형

provider에 console.log를 찍어보니 HTTP provider가 로컬호스트로만 작동하고 해결이 안되고 있었다.

해당 부분을 보니 설정 문제인거 같은데 설정 파일을 바꾸고 체크를 해봐도 해결이 되지 않았다.

그래서 그냥 hardhat의 config를 사용하는 대신 수동으로 모두 지정해 주기로 하였다.

import { BigNumber, BigNumberish, Signer } from "ethers";
import { ethers } from "hardhat";

export const basicSettings = async (): Promise<[ethers.Signer, string]> => {
  const provider = new ethers.providers.JsonRpcProvider("RPC_URL");
  const wallet = new ethers.Wallet(process.env.PRIVATE_KEY);
  const signer = wallet.connect(provider);
  const address = await signer.getAddress();
  return [signer, address]
}

이걸 uitls에서 만들고

scripts에서는 아래와 같이 정의해서 signer와 address를 가져와서 사용하였다.

  const [signer, address] = await basicSettings();

이런식으로 하니 트랜잭션도 잘 되고 더이상 에러도 나지 않았다.

728x90
반응형
Comments