[英]MetaMask - RPC Error: Invalid parameters: must provide an Ethereum address
I am trying to integrate with DyDx Protocol , and trying to perform some action on the PrivateAPI:我正在尝试与DyDx Protocol集成,并尝试对 PrivateAPI 执行一些操作:
const client: DydxClient = new DydxClient(
DYDX_HOST,
{
networkId: 5,
web3: new Web3(window.ethereum),
},
);
and calling the APICredentials call, it is failing:并调用 APICredentials 调用,它失败了:
client.onboarding.recoverDefaultApiCredentials(
address,
).then((response) => {
console.log("response for api keys", response)
});
Below is the error:以下是错误:
"{
"code": -32602,
"message": "Invalid parameters: must provide an Ethereum address.",
"stack": "Error: Invalid parameters: must provide an Ethereum address.\n at new r (chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn/common-2.js:1:322950)\n at i (chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn/common-2.js:1:325706)\n at Object.invalidParams (chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn/common-2.js:1:326213)\n at p (chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn/background-0.js:10:31397)\n at chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn/background-0.js:10:29445\n at chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn/common-6.js:19:38021\n at chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn/common-6.js:19:38404\n at chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn/common-6.js:19:37125\n at new Promise (<anonymous>)\n at a._runMiddleware (chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn/common-6.js:19:36782)\n at a._runAllMiddleware (chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn/common-6.js:19:36688)\n at async chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn/common-6.js:19:35360"
}
at new r (chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn/common-2.js:1:322950)
at i (chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn/common-2.js:1:325706)
at Object.invalidParams (chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn/common-2.js:1:326213)
at p (chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn/background-0.js:10:31397)
at chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn/background-0.js:10:29445
at chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn/common-6.js:19:38021
at chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn/common-6.js:19:38404
at chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn/common-6.js:19:37125
at new Promise (<anonymous>)
at a._runMiddleware (chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn/common-6.js:19:36782)
at a._runAllMiddleware (chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn/common-6.js:19:36688)
at async chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn/common-6.js:19:35360"
I have already tried to convert the GoreliaTestNet address to checkSum:我已经尝试将 GoreliaTestNet 地址转换为校验和:
const address = Web3.utils.toChecksumAddress(accounts[0]);
But still no luck.但仍然没有运气。
Found the solution, had to add the signing method.找到解决方案,必须添加签名方法。
client.onboarding.recoverDefaultApiCredentials(
address,SigningMethod.MetaMask
).then((response) => {
console.log("response for api keys", response)
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.