首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OpenSea错误-请使用providerUtils.standardizeOrThrow()

OpenSea错误-请使用providerUtils.standardizeOrThrow()
EN

Stack Overflow用户
提问于 2022-04-19 20:59:25
回答 1查看 714关注 0票数 3

我在使用openseas.js库时遇到了麻烦。我正在尝试对我发现的一个随机资产执行getAsset调用,但我一直得到

错误:DEPRECATED: Please use providerUtils.standardizeOrThrow() instead supportedProvider.send.toString(...).replaceAll is not a function

完全错误:

我目前在节点16.14.2上。

我怎样才能解决这个问题?我很感激你的帮助!

代码语言:javascript
复制
const Web3 = require("web3");
import { OpenSeaPort, Network } from "opensea-js";
import { OpenSeaAsset } from "opensea-js/lib/types";

// This example provider won't let you make transactions, only read-only calls:
const provider = new Web3.providers.HttpProvider("https://mainnet.infura.io");

const seaport = new OpenSeaPort(provider, {
  networkName: Network.Main,
});

(async function main() {
  try {
    //random asset I found on OpenSea
    const asset: OpenSeaAsset = await seaport.api.getAsset({
      tokenAddress: "0x20ed6cdf9344b3a187063a3ff4d883b6b1947b81", // string
      tokenId: 220, // string | number | null
    });
    console.log("Asset", asset);
  } catch (e) {
    console.log("ERROR", e);
  }
});
代码语言:javascript
复制
  "dependencies": {
    "opensea-js": "^3.0.2",
    "typescript": "^4.6.3",
    "web3": "^1.7.3",
    "web3-provider-engine": "^16.0.3"
  }
EN

回答 1

Stack Overflow用户

发布于 2022-04-28 00:38:17

首先,检查一些显而易见的事情--因为我知道这会时不时地咬我一口--清除node_modules并重新安装,确保您的package-lock.json符合您期望的package.json版本,确保您没有从以前的构建中运行,等等……

我的猜测是,您的项目中有些东西正在导入/使用一些0xProject库的旧版本。运行npm list --all并查看哪些是导入的。

最坏的情况是:该错误来自isWeb3Provider函数在0xProject/assert项目中 - grep -r在您的node_modules中用于调用isWeb3Provider。希望这能给我们一个线索。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71931292

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档