首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NFT市场如何让NFT集合显示在标签“探索”中?

NFT市场如何让NFT集合显示在标签“探索”中?
EN

Ethereum用户
提问于 2022-11-22 03:21:01
回答 2查看 165关注 0票数 2

我是solidity开发的初学者,我有一个问题:

如何在资源管理器-集合页中显示各种智能契约的NFT集合?https://opensea.io/explore-collections

EN

回答 2

Ethereum用户

回答已采纳

发布于 2022-11-22 03:50:45

我不确定这是否正确,但如果我要建立自己的市场,我也会

  1. 检查块中事务中的合同创建操作码。
  2. 将事务从0x00地址转移到块中的钱包
  3. 您也可以监听区块链中的事件,但我认为这不是最佳的,因为您需要预先了解部署的合同。

答复1、2和3的资料来源:

  1. 您可以找到关于合同创建跟踪这里的答案,您只需在一个块中读取事务,并验证其中是否存在带有合同创建操作码的事务;如果存在合同创建事件,则可以通过在合同中调用它的supportsInterface(bytes4 interfaceID)来验证它是否实现了nft标准,您可以在这里获得更多关于一一五五七二一标准的信息。
  2. 读取块中的事务,并验证是否有从0x00地址转移到钱包的情况。
  3. 我认为这个不是最优的,但是有一些RPC提供程序为您提供事件订阅,即。(薄荷基本上是一种转移),我提到的rpc提供程序是呋喃炼金术,有一些更像moralis,但我更喜欢这两种;您可以看看这些rpc提供程序中是否有任何东西有助于您的事业。
票数 2
EN

Ethereum用户

发布于 2022-11-24 15:16:51

如果您希望自己模拟OpenSea浏览选项卡菜单,而且您根本不熟悉智能契约和solidity,那么当您单击‘/探查-集合’路径导入集合时,它会向您展示几个当前它们随机拥有的集合。

但是,在创建一个“导航栏或菜单中的选项卡”来分配页面并显示您的资产之前,您需要先创建或创建这个集合,并将每个资产与管理员地址钱包和权限连接起来。

您可以使用ThirdWeb创建一个集合,在这里您可以模拟和上传原始nft的图片,为它们分配一个地址、恩人、市场的遗漏、测试您自己钱包之间的交易,或者如果您需要的话制作一个新的OpenSea克隆,我如何在我的“OpenSea克隆”中使用下面的“无聊的Ape”集合。

为了测试智能契约流,我使用了戈利ETH,它是提供者,由炼金术 an @Casareafer提供动力,每天都有一个0.2 Goerli ETH水龙头,作为使用稳定的Ethereum进行交互和实践的建议。

然后,您可以在以太扫描或钱包上跟踪事务(建议从元请求中的主帐户创建一个新帐户进行测试)。

分配在ThirdWeb中直接在代码中建立的每个契约和项目,只需添加创建的集合的address

代码语言:javascript
复制
import { useContract } from '@thirdweb-dev/react'

export default function Component() {
  const { contract, isLoading, error } = useContract("0xa478F76110110fB4cd5CCAA33d0Ac62C3364A021", "nft-collection-name")

  // Now you can use the nftCollection contract in the rest of the component
}

烧掉一个NFT

代码语言:javascript
复制
const result = await contract.burnToken(tokenId);

薄荷多unique NFTs一次到一个指定的钱包。

代码语言:javascript
复制
// Address of the wallet you want to mint the NFT to
const walletAddress = "0x8197b2a89d80010019718e799e1224d4f2b429Ef";

// Custom metadata of the NFTs you want to mint.
const metadatas = [{
  name: "Cool NFT #1",
  description: "This is a cool NFT",
  image: fs.readFileSync("path/to/image.png"), // This can be an image url or file
}, {
  name: "Cool NFT #2",
  description: "This is a cool NFT",
  image: fs.readFileSync("path/to/other/image.png"),
}];

const tx = await contract.mintBatchTo(walletAddress, metadatas);
const receipt = tx[0].receipt; // same transaction receipt for all minted NFTs
const firstTokenId = tx[0].id; // token id of the first minted NFT
const firstNFT = await tx[0].data(); // (optional) fetch details of the first minted NFT

根据项目的不同,您可以在ThirdWeb中找到所有其他的解释和代码--您正在模拟、注册您的email,以便能够连接您的元问询测试网地址。

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

https://ethereum.stackexchange.com/questions/139800

复制
相关文章

相似问题

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