标签: opensea

有没有办法强制更新 Opensea 上的元数据?

我尝试更改令牌基本 URL 以在 opensea.io 上显示 NFT 的新图像。但不会立即更新。

有一种方法可以通过在 Rikeby 测试网上指定force_update=true 来进行更新。

但我不知道如何在主网上更新它。有可能吗?

任何帮助将不胜感激。

metadata ethereum ipfs nft opensea

8
推荐指数
1
解决办法
2万
查看次数

如何使用node.js检查opensea上的代币是ERC721还是ERC1155

const { OpenSeaPort, Network } = require("opensea-js");

const offer = await seaport.createBuyOrder({
      asset: {
        tokenId,
        tokenAddress,
        schemaName
      },
      accountAddress: WALLET_ADDRESS,
      startAmount: newOffer / (10 ** 18),
      expirationTime: Math.round(Date.now() / 1000 + 60 * 60 * 24)
    });
Run Code Online (Sandbox Code Playgroud)

我将从opensea 空令牌中获取schemaName (如果是 ERC721 或 ERC1155):

在 opensea 的“详细信息”面板中,我可以看到合约模式名称,如下所示:Token Standard: ERC-1155

如何使用 node.js 或 python 从 opensea 令牌 url 获取模式名称?

python node.js solidity web3py opensea

7
推荐指数
1
解决办法
6452
查看次数

Opensea 不生成 3d 模型 glb 的预览

希望你做得很好。我是一名开发人员,对 opensea 测试网上的 3d 模型预览有疑问。

我使用 pinanta 服务器创建了一个元数据文件https://pattirose.growwithsabrina.org/nft/1.json 来托管 glb 文件。Opensea 无法获取模型进行预览。

或者,我尝试在个人托管上托管 glb 文件,并在 json 文件中使用“animation_url”键,但这也不起作用。

所有测试交易均在rinkeby测试网上完成。

请指导如何解决此问题,非常感谢您的支持。谢谢

metadata blockchain ethereum nft opensea

7
推荐指数
1
解决办法
2598
查看次数

如何解决“合约不明”问题?OpenSea 无法“理解”ERC1155

我已经部署了一个基于ERC-1155的合约(基于OpenZeppelin),并在此合约上成功铸造了一些 NFT。但当我想在 OpenSea 中使用这些 NFT 时,它总是显示“身份不明的合约”

示例: https: //testnets.opensea.io/assets/0xc7d3e4a5A0c3e14ba8C68ea1b8a99a9dBf3ca76F/2

API 示例:https://testnets-api.opensea.io/api/v1/asset/0xc7d3e4a5A0c3e14ba8C68ea1b8a99a9dBf3ca76F/2/ ?force_update=true

按照他们的官方教程存储库(由于过时的依赖项和其他问题,该存储库不再编译),我添加了一些(可能)OpenSea 特定的函数和数据,OpenSea 可能需要这些函数和数据才能正常工作。然而,OpenSea 能够获取显示 NFT 所需的所有数据,但只要他们说“身份不明的合约”,到目前为止这一切都毫无意义。

我的问题有:

有人已经成功部署了 ERC-1155 并将其与 OpenSea 正确使用而没有出现此问题吗?我们是否需要以某种方式“注册”不基于 ERC-721 的合约?

要重现的代码

import "@openzeppelin/contracts/token/ERC1155/ERC1155.sol";
import "@openzeppelin/contracts/access/AccessControl.sol";
import "@openzeppelin/contracts/security/Pausable.sol";
import "@openzeppelin/contracts/token/ERC1155/extensions/ERC1155Burnable.sol";

import "@openzeppelin/contracts/utils/Counters.sol";
import "@openzeppelin/contracts/access/Ownable.sol";


contract OwnableDelegateProxy { }

contract ProxyRegistry {
  mapping(address => OwnableDelegateProxy) public proxies;
}


contract MetaCoin is ERC1155, AccessControl, Pausable, ERC1155Burnable {
    bytes32 public constant URI_SETTER_ROLE = keccak256("URI_SETTER_ROLE");
    bytes32 public constant PAUSER_ROLE = …
Run Code Online (Sandbox Code Playgroud)

ethereum solidity opensea

6
推荐指数
2
解决办法
4797
查看次数

如何突破 OpenSea Api 的限制?

我正在尝试使用 OpenSea API,我注意到我需要在检索资产之前设置限制 https://docs.opensea.io/reference/getting-assets

我想我可以使用偏移量来浏览所有项目,尽管这很乏味。但问题是offset本身是有限制的,超出最大offset的资产是不是就无法访问了呢?

我读到您说 API 在没有 API 密钥的情况下受到“速率限制”,所以我假设这与您在特定时间段内可以发出的请求数量有关,我的说法正确吗?还是解除了返还资产的限制?该文档不清楚https://docs.opensea.io/reference/api-overview

我可以做什么来浏览所有资产?

api rest blockchain nft opensea

6
推荐指数
1
解决办法
9836
查看次数

OpenSea IPFS 元数据

我一直在测试我的 erc-721 合约,并使用 ipfs 哈希的链接ipfs://QmeB87321i121xN88bXZzmjSUXqS46B8bU3H9ocyTb8tJf作为基本令牌 URI。合约已部署,项目已由我铸造,但 OpenSea 无法按预期读取该元数据 uri。OpenSea 的文档表明这应该足够了。

我的合同

pragma solidity ^0.5.0;

import "./ERC721Tradable.sol";
import "openzeppelin-solidity/contracts/ownership/Ownable.sol";

contract Creature is ERC721Tradable {
    constructor(address _proxyRegistryAddress)
        public
        ERC721Tradable("StygianCoins", "STG", _proxyRegistryAddress)
    {}

    function baseTokenURI() public pure returns (string memory) {
        return "https://ipfs.io/ipfs/QmeB87321i121xN88bXZzmjSUXqS46B8bU3H9ocyTb8tJf";
    }

    function contractURI() public pure returns (string memory) {
        return "https://contract-abis.herokuapp.com/api/contract/stygian-coins";
    }
}
Run Code Online (Sandbox Code Playgroud)

solidity ipfs web3js opensea

5
推荐指数
1
解决办法
6813
查看次数

opensea NFT 令牌的令牌 URI 在 GET 上抛出错误

我正在尝试从 NFT 中找到的令牌 URI 中获取元数据。令牌 URI 如下所示:

https://api.opensea.io/api/v2/metadata/matic/<contract_address>/0x{id}

我尝试使用 tokenId 的十六进制形式,但它只是在 GET 调用时{id}返回错误。{ success:false }

令牌 ID 为: 25301351943351891415725927464477484049512317528648331027932693704579263506192

对于具有不同令牌 Id 但不同基本 url 的另一个令牌也是如此: https://api.opensea.io/api/v1/metadata/0x495f947276749Ce646f68AC8c248420045cb7b5e/0x{id}

我观察到工作 URL 的版本位于v1不同的链上。Opensea 文档似乎没有谈论任何有关v2.

请帮助我了解如何从上述 URI 中获取元数据。

ethereum opensea

5
推荐指数
0
解决办法
1301
查看次数

向 opensea API 发出 403 错误的 GET 请求

我正在尝试使用资产端点从特定集合中检索资产信息。

例子:

https://api.opensea.io/api/v1/asset/0x1a92f7381b9f03921564a437210bb9396471050c/2000/?format=json

现在,如果您在浏览器上打开它,它可以完美运行,但在您的应用程序或邮递员上,它只会给出 CloudFlare 的 403 错误。这不是 401 错误,我们不需要为此提供 API 密钥。

那么这是怎么回事以及如何解决这个问题?有任何想法吗?

api rest get http-status-code-403 opensea

5
推荐指数
0
解决办法
2202
查看次数

如何使用炼金术发送已经铸造的 NFT

我在 opensea 上铸造了一些 NFT。这些位于 Polygon 孟买网络上。现在我想使用alchemy web3将这些token转移到其他地址。这是我正在使用的代码。

\n

注意:这应该在 Nodejs Restful API 中运行,因此没有可用的钱包,这就是我手动签署交易的原因。

\n
async function main() {\n  require('dotenv').config();\n  const { API_URL,API_URL_TEST, PRIVATE_KEY } = process.env;\n  const { createAlchemyWeb3 } = require("@alch/alchemy-web3");\n  const web3 = createAlchemyWeb3(API_URL_TEST);\n  const myAddress = '*************************'\n  const nonce = await web3.eth.getTransactionCount(myAddress, 'latest');\n  const transaction = { //I believe transaction object is not correct, and I dont know what to put here\n      'asset': {\n        'tokenId': '******************************',//NFT token id in opensea\n      },\n      'gas': 53000,\n      'to': '***********************', //metamask …
Run Code Online (Sandbox Code Playgroud)

node.js smartcontracts web3js nft opensea

5
推荐指数
1
解决办法
1775
查看次数

opensea 拍卖智能合约如何在不存储以太币的情况下工作

试图了解 opensea “出价”的工作原理。每当任何有兴趣的买家想要购买 NFT 时,他们都必须创建一个报价,其中他们基本上签署一条消息(承诺)(这不花费汽油费)。我不明白这件事在幕后是如何运作的。如果,比方说,我出价 3 天,并且我赢得了出价或卖家接受了出价,而我当时没有所需的以太币(出价金额),那么会发生什么?

拍卖智能合约基本上以投标人金额作为质押,当拍卖结束时,如果用户没有赢得拍卖,则将质押的以太币转回,但在上述质押以太+支付交易费用的过程中,这些额外的开销都是存在的。

Opensea 不跟踪竞价金额的质押,因此用户无需支付交易费 + 质押以太币。但他们要求用户签名确认出价。谁能解释一下技术上发生了什么?

我也浏览了下面的链接,但这并没有回答 opensea 是如何工作的。

链接1:https://ethereum.stackexchange.com/questions/102660/creating-an-auction-smart-contract-without-storing-the-ether

链接2:https ://ethereum.stackexchange.com/questions/110749/auction-data-on-chain-or-off-chain

在链接 2 中,他们提到“承诺是通过签署‘消息’创建的。这些是链下交易。但是,取消交易需要在链上发布。” 但它实际上是如何运作的呢?

ethereum solidity smartcontracts nft opensea

5
推荐指数
1
解决办法
1287
查看次数