如何为 opensea 上集合中的所有 NFT 定价?

问题描述 投票:0回答:2

如果我在自己的地址上铸造了一系列n项目(通过智能合约),它将在我的帐户的收集/创建部分下公开可见like this

问题是,为了完成上市,我必须单独manually set the price每个NFT。显然这是不切实际的,因为我无法手动一一设置每一个 NFT 的价格,更何况每次上币完成(通过设置价格),都需要支付gas费

因此,我希望能够以编程方式实现设置价格,以便铸造后,收藏品看起来like this

我尝试通过 OpenSea-Creatures SDK使用 Truffle)解决这个问题,但我不确定他们的销售合同是否可以实现这一点。 (我也无法让它运行)。

我知道这个问题非常普遍,但我一直在寻找解决方案一段时间,但没有找到任何有用的东西。

任何正确方向的指导都会有巨大的帮助!

ethereum solidity truffle nft opensea
2个回答
0
投票

当我创建超过 3,000 个的大型 NFT 集合时,我也遇到了同样的问题。我推荐的最佳解决方案是创建自定义销售合同

简单物品销售的缺点是,您需要预先铸造想要出售的物品(而不是在购买时即时铸造)。这可能使得向广泛的用户群销售许多商品变得困难。此外,使用简单的物品销售方法,很难为物品的销售创建自定义逻辑(例如随机物品包、铸造物品的随机统计数据等)。如果您想要这些功能中的任何一个,工厂合同就适合您!

为了仅在购买时铸造物品,OpenSea 提供了一个 Factory 接口,您可以使用它来定义如何铸造物品。然后,您使用 OpenSea 创建调用您的铸币函数的自定义“订单”。下面看一下Factory合约的主要铸币方法。

卖出多种一种期权

虽然 OpenSea UI 允许您一次出售一件工厂物品,但在许多情况下,您可能希望向初始用户出售大量物品:例如,100 把剑或 100 包卡牌。为此,我们建议使用 SDK 立即创建给定供应量的销售。举个例子,假设您想在众筹中以固定价格出售 100 件商品,明天到期。您可以执行以下操作:

// Expire these auctions one day from now. Omit `expirationTime` or set to 0 to never expire:
const expirationTime = (Date.now() / 1000 + 60 * 60 * 24)

const sellOrders = await seaport.createFactorySellOrders({
  assetId: <ASSET_OPTION_ID>,
  factoryAddress: <FACTORY_CONTRACT_ADDRESS>,
  accountAddress,
  startAmount,
  expirationTime,
  numberOfOrders: 100 // Will create 100 sell orders in parallel batches to speed things up
})

检查此链接以了解如何创建工厂合同 https://docs.opensea.io/docs/2-custom-item-sale-contract @Ngyfsoau


0
投票

我想知道你是否还在(两年后(希望……:)?

如果您可以为许多商品(NFT)固定价格并在特定时间到期,您是否也可以不让它们过期,而是在您想要的时候随时整体更改它们的价格?例如,有 30 件商品以 X 价格出售,但当还剩 5 件时,您想将剩余 10 件商品的价格降低到 Y? 这也意味着,如果有人想转售他们之前购买的物品,他们只能以新价格 Y 进行?

© www.soinside.com 2019 - 2024. All rights reserved.