안녕하세요, web3의 providerEngine 을 이용해 opensea-js 를 이용해 웹서비스를 만들어보고자 합니다.
현재 문제가 opensea 에 연결하기 위해 OpenSeaPort 를 이용해야하는데, 입력값에 web3의 providerEngine 객체가 이용되는데, 이에 대응하는 caver의 객체가 무엇인지 모르겠습니다.
아래 오픈씨에서 제공한 튜토리얼을 보면
const MnemonicWalletSubprovider = require("@0x/subproviders").MnemonicWalletSubprovider;
const Web3ProviderEngine = require("web3-provider-engine")
const RPCSubprovider = require("web3-provider-engine/subproviders/rpc")
const MNEMONIC = process.env.MNEMONIC;
const NODE_API_KEY = process.env.INFURA_KEY;
const API_KEY = process.env.API_KEY;
const infuraRpcSubprovider = new RPCSubprovider({
rpcUrl: "https://mainnet.infura.io/v3/" + NODE_API_KEY
});
const providerEngine = new Web3ProviderEngine();
providerEngine.addProvider(mnemonicWalletSubprovider);
providerEngine.addProvider(infuraRpcSubprovider);
providerEngine.start();
const seaport = new OpenSeaPort(
providerEngine,
{
networkName: Network.Main,
apiKey: API_KEY
},
(arg) => console.log(arg)
};
이와 같이, RPC subprovider와 지갑 subprovider 두가지 인스턴스를 providerEngine에 할당해서 provider 인스턴스를 생성하고, 이를 제가 사용하기를 원하는 OpenSeaPort 에 입력값으로 이용하고있는데, caver-js의 경우에 아래처럼
const accessKeyID = process.env.accessKeyID;
const secretAccessKey = process.env.secretAccessKey;
const CaverExtKAS = require('caver-js-ext-kas')
const caver = new CaverExtKAS("8217", accessKeyID, secretAccessKey)
을 이용해 인스턴스를 생성했을때, OpenSeaPort 인스턴스 생성시 providerEngine 부분에 대응하는 값을 caver instance 로부터 어떻게 호출해올수 있는지 궁금합니다. 예를 들어
위에서 caver instance를 생성한뒤에
const seaport = new OpenSeaPort(caver.XXXXX, {networkName: "kasBaobab"})
이런식으로 접근할수 있는 방법이 있을까요?
또한 두번째 입력값인 Network.Main 의 경우 wyvern-js 의 types에 “main” 이라는 스트링으로 지정되어있는데, 클레이튼 메인넷 및 테스트넷 에 대응하는 값이 어떤것인지 그라운드 X에서 제공해주실 수 있으면 더욱 감사드리겠습니다.
감사합니다.