随着NFT的普及率越来越高,加密艺术家用“日常收入”来形容也不为过。如何创建自己的NFT作品,并出售给他人牟利?本文是关于利用OpenSea平台创建自己的NFT作品和商店的教程。
1、 构建自己的智能合约
使用ERC721代币标准,您的NFT产品可以立即在OpenSea上交易。
Erc721由cryptokitties首创,是非同质代币(NFT)的**标准。要在OpenSea上启动您的工作,**遵循**的openzeppelinERC721实现。
注意:如果您正在开发ERC1155合同,请查看此ERC1155教程。
Opensea创建示例合同
我们已经创建了一个非常简单的示例存储库来帮助您入门,可以在GitHub上找到该示例的完整代码。
这个示例代码是一个名为OpenSea creations的集合。Opensea的创作非常简单:它们都有独特的外观、特征和属性。尽管有一天我们可能会在这些创造物周围添加更多的游戏,但对于本示例而言,您可以为创造物执行的主要操作是拥有它。您可以在这里的rinkby环境中查看OpenSea的所有创建。
创建ERC721合同
文本
pragma SOLidity ^0.5.0;
导入quot;./tradeableRC721代币6035;
进口quot;openzeppelin坚固性/合同/所有权/可拥有.SOLquot;;
/**
*@标题生物
*生物-我不可替代生物的合同。
*/
契约生物是TradeableERC721Token{
构造函数(地址|proxyRegistryAddress)TradeableERC721Token(quot;Createquot;,quot;OSCquot;,_proxyRegistryAddress)public{}
函数baseTokenURI()public view返回(字符串内存){
返回quot;https://OpenSea-biates-api.herokuapp.com/api/biates/quot;;
}
}
pragma SOLidity^0.5.0;
导入quot;./tradeableRc721代币6035;
进口quot;openzeppelin坚固性/合同/所有权/可拥有.SOLquot;;
/**
*@标题生物
*生物-我不可替代生物的合同。
*/
契约生物是TradeableERC721Token{
构造函数(地址|proxyRegistryAddress)TradeableERC721Token(quot;Createquot;,quot;OSCquot;,_proxyRegistryAddress)public{}
函数baseTokenURI()public view返回(字符串内存){
返回quot;https://OpenSea-biates-api.herokuapp.com/api/biates/quot;;
}
}
如你所见,合同本身很简单。它只是从tradeableERC721token继承,tradeableERC721token又继承了openzeppelinERC721契约(它实现了所有必需的ERC721方法)。游戏中可能有更多的逻辑,但对于OpenSea来说,重要的是tokenuri方法,它使我们能够将创建契约中的tokenid映射到契约链下的元数据。我们将在下一节了解更多信息。
Opensea白名单(可选)
此外,ERC721tradable和ERC1155tradable合同将OpenSea用户的**帐户列入白名单,以便他们可以自动在OpenSea上进行任何交易(无需额外的批准费用)。在OpenSea上,每个用户都有一个他们控制的“**”帐户,最终由交易合同调用该帐户来交易他们的商品。
请注意,这个添加并不意味着OpenSea本身可以访问这些产品,它只是意味着用户可以根据需要更容易地列出它们。它们是完全可选的,但可以大大减少用户的摩擦。您可以在isapprovedforall方法和factory-Mint方法中找到这段代码。
接下来,我们将学习如何构造元数据,以便OpenSea可以选择它。
部署您的合同
要部署creture契约,只需验证存储库,获取一个免费的alchemyapi密钥,然后使用truffle部署它
纱线安装
导出ALCHEMYukey=quot;lt;您的ALCHEMYuProjectuidgt;quot;
导出助记符=quot;quot;
导出网络=quot;rinkebyquot;
truffle deploy–网络rinkeby
如果您已经在使用infra API,还可以使用infuraukey环境变量而不是alchemyukey
提示:您只需要在shell会话中运行上述导出行一次。我们建议您将这些行放入。Env文件,使用后应用它。Env,并避免在提交代码时签入它。下面是一个例子。“环境文件。”
请注意,为了使用truffle和infra进行部署,您需要一个metamask帐户中的助记符短语。为了让ETH进入您的rinkby metamask帐户,您可以使用rinkby ETH水龙头,并从metamask获取“记忆短语”,请单击“设置”和“显示记忆短语”。请注意,您使用的是没有主网络资产的钱包帐户!
做你的信物
接下来,我们需要为新部署的ERC721合同铸造新的资产,我们将把这些资产放入我们控制的账户中,这样我们就可以测试OpenSea货物拍卖流程。
部署到rinkby测试网络后,rinkby将拥有一个合同,该合同将在rinkby ETHerscan上可见。您可以在部署命令的输出中找到已部署协定的地址,并在ETHerscan上的以下URL中找到它:
https://rinkeby.ETHerscan.io/address/lt;合同地址gt
例如,这是最近部署的契约。运行强制转换脚本时,将协定地址和元掩码帐户的地址设置为环境变量:
导出所有者uAddress=quot;lt;我的uAddressgt;quot;
导出NFTuContractuAddress=quot;lt;部署的uContractuAddressgt;quot;
节点脚本/薄荷.
到目前为止,我们已经在rinkby网络上部署了一个智能合约,并在合约中铸造了一些新的OpenSea创作,您应该能够访问这些内容rinkeby.OpenSea.io文件,并在您的钱包中以NFT的形式查看您的产品。有关更多信息,请参阅第3节。
这些创建的默认元数据由https://OpenSea-biates-api.herokuapp.com/api/biates/{代币ID}。你可以在这里设置。接下来,您需要创建一个定制的元数据API。
2、 添加元数据
一旦你部署了你的合同,你需要一种方法让每个单独的NFT产品在OpenSea(和其他支持NFT的站点)上正确显示。这就是链外元数据的作用!
ERC721合同中的每个代币标识符都有相应的元数据URI,它返回关于商品的其他重要信息,如名称、图像、描述等。要找到这个URI,我们使用ERC721中的代币URI方法和ERC1155中的URI方法。此元数据的一个简单示例是:
{
quot;名称quot;:quot;赫比星贝利亚6035,
quot;描述quot;:quot;友好的开放海洋生物,喜欢在海洋中长时间游泳。quot;,
quot;图像quot;:quot;https://storage.googleapis.com/OpenSea-prod.appspot.com/biecast/50.pngquot;,
quot;属性quot;:[…]
}
你可以用元数据做很多事情——包括添加排名、促销、动画、日期等等!我们认为您一定会想对它有一个全面的了解,所以请参阅我们的元数据标准文档来了解本教程。
下一步是什么?
所以您现在有了自己的元数据API。您需要将它连接到一个代币契约,因此将这里的行更改为使用API的URL,然后重新部署契约并创建一些测试项。完成后,请转到下一节以了解有关在OpenSea上查看资产的更多信息。
3、 在OpenSea中查看您的产品
现在,假设您已经将契约部署到rinkby测试网络。作为一个具体的例子,我们在rinkby上部署的OpenSea创建契约地址是:0x7dca125b1e805dc88814aed7ccc810f677d3e1db。
我们也为这个合同铸造了25种新产品,所以现在的总供应量是25种。在ETHerscan上,我们可以查看其中一个项目的代币URI,看看它是否指向OpenSea创建API端点。
现在是令人兴奋的部分!Opensea有一个rinkby环境,允许开发人员测试他们与Opensea的集成。这可以在测试网.OpenSea.io通过点击正确的URL,我们应该能够立即在OpenSea上检查我们的一个产品。URL的结构如下:
https://testnets.OpenSea.io/assets/lt;asset合同地址gt;/lt;代币gt;
其中assetcontractuuaddress是我们的合同地址,tokenID是我们产品的代币ID之一。例如,对于OpenSea creture合同,这里是OpenSea creture#12:1
https://testnets.OpenSea.io/assets/0x7dca125b1e805dc88814aed7ccc810f677d3e1db/12
通过使用您自己的合同地址和代币ID,您还可以查看您的产品并再次检查是否一切正常。注意,我们在代币元数据中包含的属性显示为产品的“properties”和quot; statsquot;。只要它们作为字符串或int包含在元数据的attributes部分中,就会自动发生这种情况。要测试集成,只需导航到:
https://testnets.OpenSea.io/assets/lt;您的合同地址gt;/lt;代币gt;
默认情况下,OpenSea将为您的资产缓存数据。你需要更新你的产品吗?您只需要使用forceUpdate参数更改API:
https://testnets api.OpenSea.io/api/v1/asset/lt;您的合同地址gt;/lt;代币gt;/?强制更新=真
下一步是什么?
如果在OpenSea上显示商品时遇到问题(它们也可能缺少图像或属性),可以使用以下API端点来调试元数据。
有关调试的信息,请参阅下一节。
如果元数据按预期显示,则可以直接跳到第5节。
4、 调试元数据
使用/验证终结点
如果OpenSea显示有问题(它们可能缺少图像或属性),可以使用以下API端点来调试元数据。
https://testnets api.OpenSea.io/asset/lt;您的合同地址gt;/lt;您的代币uuidgt;/validate/
也许
https://api.OpenSea.io/asset/lt;您的合同地址gt;/lt;您的代币uuidgt;/validate/
只需访问带有合同地址和代币ID的URL,就可以查看元数据URL中是否有任何错误。如果您需要更多帮助,请随时联系我们的discord频道。
5、 创建虚拟商店
现在我们已经测试了集成您的产品,现在是时候在OpenSea上创建您自己的虚拟商店了。
为此,我们将使用OpenSea虚拟商店创建者,它填充OpenSea上的所有资产,并为您的NFT商品提供一个专用的商店页面。例如,您可以在这里查看OpenSea creations商店。
Opensea虚拟商店创建者
单击此处转到虚拟商店创建者,它将引导您完成在OpenSea上显示所有产品的过程。
6、 拍卖品
现在,您的NFT产品已经放在OpenSea上,用户可以立即购买或出售它们。您不必编写任何其他智能合约,OpenSea将处理所有其他事务。
测试拍卖流程
假设你把你的产品放进你的账户,你可以马上测试竞价过程。您只需选择一个产品,然后单击“销售”进入竞标过程。
完成拍卖过程后,您的产品将进入拍卖。事实上,如果你登录到rinkeby上的另一个metamask帐户,你可以立即拍卖你的产品!
试着投标一个产品
此外,您的所有产品可以立即通过任何以太坊帐户提供。你只需要找到任何火币5产品,并为他们报价。
对于报价,用户需要执行一些附加步骤,包括用wETH替换ETH。你可以在这里阅读更多关于OpenSea拍卖系统的信息。
7、 联机至以太坊主网
在完成rinkeby测试网络的测试过程后,您准备好在以太坊主网上启动NFT资产了吗?你觉得有点兴奋吗?过程大致相同,只是环境变量发生了一些变化。
一旦你部署了你的合同并铸造了你的产品,点击这里转到主商店的创建者。这将指导您完成在主网络OpenSea平台上显示所有产品的过程。
主网部署说明
在主网络上运行挖矿脚本时,需要设置环境变量mainnet not live,这将影响挖矿脚本中节点的URL,而不是truss。
在部署时,您使用的是块菌。您需要提供一个与truffle的接口松露.在中命名相应的参数(–Network Live)。但是,当您使用min时,您依赖于设置的环境变量来构建URL(https://github.com/ProjectOpenSea/OpenSea biates/blob/master/scripts/mint.#L54)。
如果启动挖矿脚本时什么也没发生,请仔细检查环境变量。
8、 自定义虚拟商店
现在您已经创建了自己的OpenSea商店,您可以根据自己的喜好进行定制。您只需要确保您以智能合约的所有者身份登录到metamask(您需要确保合约是拥有的,如果不是,请联系[email protected])您将启动一个按钮,允许您编辑商店。或者你可以通过商店经理页面修改你的店面。
单击“编辑”按钮打开“商店编辑器”,并自定义您最喜爱的商店、您自己的名称、说明和web URL。此外,您还可以自行设定二级市场销售费用。
9、 运行初始商品销售
您的OpenSea市场允许用户购买、销售和竞价您的产品,但是您如何将您的产品提供给用户呢?
方案1:简单商品销售
您可以使用OpenSea通过“初始产品”选项分发您的作品。隐体素就是一个很好的例子。加密体素的开发者使用OpenSea来出售加密体素世界的土地。
以这种方式在OpenSea上销售商品非常容易。只需将您的物品放入您选择的帐户中,并使用标准的拍卖流程进行出售。它们将立即出现在您专用的OpenSea分类页面和全球OpenSea提要上,在那里可以被更广泛的OpenSea用户群找到。
选项2:定制销售合同
或者,您可以使用我们的商品工厂合同,立即将其插入我们的预售基础设施。你可以在这里查看相关的教程。
10、 设定二级市场交易成本
每次你在OpenSea上出售一件物品,你就可以获得加密货币收入。
使用OpenSea最令人兴奋的原因之一是创造者可以从第二次销售商品中获得收入。当产品在OpenSea上销售时,产品的创建者(您)可以从销售中获得一部分收入。这意味着你不仅可以通过向用户出售你的初始物品来赚钱,而且可以随着游戏和市场的升温而继续赚钱。
要设置二次销售费用,只需访问商店编辑器,调整“买方费用”和“卖方费用”字段,并指定要接受费用的地址。
费用类
费用可向卖方或买方收取。举一个例子:比如用户以1 ETH的价格出售商品,加上卖家2%的费用,买家将支付1 ETH的商品,0.02 ETH支付给创作者(你),也就是说卖家可以得到0.98 ETH。加上买方费用的2%,意味着买方将为产品支付1.02 ETH,其中0.02 ETH将支付给开发者(贵方),1 ETH将支付给卖方。
您可以在商店编辑器中设置要收取的费用。
如果有交易,收入将每两周分配到您指定的地址。如果您需要更频繁地充电,可以联系OpenSea。
Opensea提供了基础设施,因此它也将收取部分费用。据报道,每个交易额的2.5%将属于OpenSea,不管创建者选择收取任何费用。
11、 将你的虚拟商店嵌入你自己的网站
一旦你为你的产品建立了一个虚拟商店,你就可以将它嵌入到你的网站或应用程序中。要直接嵌入虚拟商店,只需按照以下说明进行设置
文章链接:https://www.btchangqing.cn/200888.html
更新时间:2022年03月05日
本站大部分内容均收集于网络,若内容若侵犯到您的权益,请联系我们,我们将第一时间处理。