안녕하세요, 포럼 통해 많이 배우고 있습니다
저는 현재 SCN node 4개로 구성된 service chain을 구동 중에 있는데요, 이 서비스 체인에 smart contract도 배포해보고 여러 트랜잭션도 날려보며 테스트 중에 있었습니다.
제가 서비스 체인과 상호작용하기 위한 방법으로는 ethers.js, Caver-js, web3.js와 같은 라이브러리를 통해 url을 직접 넣음으로서 상호작용해왔는데요,
ex) const web3 = new Web3(“http://xx.xxx.xx.xx”)
const caver = new Caver(“http://xx.xxx.xx.xx”)
한가지 어려움이 생겨서 여쭤보고싶습니다.
지금까지 SCN 1 노드에만 트랜잭션을 날리고 문제 없이 사용 중이었는데요, scn 1 노드가 장애가 생길 가능성에 대비해 SCN2,3,4에도 트랜잭션을 날려보니 네트워크를 탐지할 수가 없다는 에러 또는 eth_blockNumber 메서드를 사용할 수 없다, unknown account 에러 등 에러가 지속적으로 발생하는 것을 확인했습니다.
SCN2,3,4 노드에도 문제없이 트랜잭션을 직접 쏠 수 있는 방법이 있을까요? 아니면 원래 되는데 제가 코드를 잘못 적어 이러한 문제가 생기는건지 궁금합니다.
아래는 제 코드 예시입니다.
- caver-js
const caver = new Caver("http:/xx.xx.xx");
const contractAddress = ""
const contractABI = require("./MintNFT.json");
const privateKeyString ='privatekey';
const account = caver.klay.accounts.privateKeyToAccount(privateKeyString);
const nftContract = new caver.klay.Contract(contractABI.abi, contractAddress);
const tokenURI = ""; // NFT의 메타데이터 URI를 설정합니다.
const result = await nftContract.methods.mintNFT(tokenURI).send({
from: account.address,
gas: '250000',
gasPrice: '25000000000' })
Error: Returned error: unknown account
- Web3.js
InvalidResponseError: Returned error: the method eth_blockNumber does not exist/is not available