NFT核心课程:深度解析如何利用IPFS技术打造NFT并部署智能合约(实操指南)
免责声明:本文旨在为广大读者提供市场资讯,其中的“轻量级钱包以太坊开源”仅供参考,不作为任何投资参考。文章内容仅为作者个人观点,不代表火星财经官方立场。
免责声明:本文旨在传递市场资讯,不构成任何投资建议。文章观点独立,不代表火星财经官方立场。
小编提醒:敬请关注我们的更新
信息来源:DeFi白泽研究院
长久以来,数字艺术并未被普遍认可为“纯粹”的艺术形式。绘画、雕塑和装置艺术被公认为“纯粹”的艺术,而数字艺术则常被视作“次级”艺术。尽管如此,数字艺术家同样投入了大量时间和精力去创作和完善自己的艺术作品,与众多“传统”艺术家并无二致。
多年来,数字艺术及其创作者的作品并未获得应有的回报。数字艺术家更像是自由职业者,从一场演出跳到另一场演出,往往难以从其数字艺术作品中获得更多收益。
这一现象的原因在于,数字艺术的唯一性难以保障。一旦数字艺术作品被创作出来,便很容易在互联网上被复制无数次,而且很难追踪这些副本并辨别出原始作品。
在传统绘画领域,如萨尔瓦多·达利的《记忆的永恒》,尽管有成千上万的照片流传,但原始的实物画作却始终属于某位收藏者(例如,纽约现代艺术博物馆)。尽管我可以无数次复制粘贴这幅画,但原始画作的价值始终存在,因为所有权容易证明。原件被物理地锁在博物馆中。
那么,我们如何使数字艺术变得独一无二呢?答案是——NFT。
NFT,即不可替代的代币,每个代币都是独一无二的且不可替代的。它们通常遵循以太坊ERC-721标准,这一标准于2018年1月在以太坊网络中引入,并彻底改变了整个行业。
欲深入了解如何创建和铸造数字NFT,请跟随我们的步伐!
利用IPFS铸造和存储NFT资产
我们将NFT创建过程分为两个部分。首先,涉及NFT的铸造和存储的区块链。区块链通过在全球数千台计算机/节点上复制数据,确保NFT的元数据是不可变和安全的。然而,区块链无法处理大量数据的存储,因为在这数千个节点之间复制大量数据成本高昂。这就是第二部分:存储NFT数据。
在以太坊区块链上存储图像可能会花费数万美元。因此,大多数NFT数据需要存储在链外,同时我们也需要保护这些数据。
我们可以通过IPFS——星际文件系统,一种用于共享和存储文件的点对点协议来解决这一问题。IPFS使用内容寻址来唯一标识全局命名空间中的每个文件,这对于将NFT元数据链接到资产或艺术品的存储位置至关重要。与Dropbox或Google Drive等集中式服务相比,IPFS具有数据固定的持久性。
创建NFT时,我们需要使用引用资产的URL链接。此URL将包含在NFT的元数据中。正如您所知,NFT数据是不可变的,它将永远存在于区块链中,因此为与NFT相关的资产或图像找到一个合适的存储位置非常重要。
Pinata是著名的IPFS服务之一:pinata.cloud
IPFS使用称为CID的内容标识符,它将内容作为哈希引用。这些CID是URL的一部分,如果内容没有改变,URL也不会改变。某个CID和相应URL后面的图像将始终是相同的图像,这使我们对链下存储的NFT数据具有一定程度的不变性。
在“逐步铸造”部分,我们将展示如何使用Pinata创建IPFS CID/URL并将其与将要铸造的NFT相关联。
铸造NFT
步骤0 - 资产所有权确认
在创建NFT之前,您需要确保您是资产/艺术品的创作者或所有者。您必须能够证明您的所有权或创作权。
步骤1 - 准备资产
确保您拥有图像的文件。您可以简单地标记JPEG/PNG文件,但最好也拥有源文件或高质量的文件。如果您处理的是数字艺术,TIFF、AI/EPS等格式也可以在销售过程中共享。
步骤2 - 选择市场并进行身份验证
现在我们需要铸造NFT代币。当您想出售代币时,可以直接在OpenSea市场上进行,或者您可以先在Rarible上铸造,因为在Rarible上,您可以铸造代币而不必实际出售它。由您决定。
在这一步一步中,我假设您已经安装了Metamask浏览器插件,并且有一些ETH用于支付手续费。
在OpenSea上,单击“创建”并连接您的Metamask钱包(检查钱包部分)。单击Metamask图标登录您的Metamask钱包,然后单击连接。之后您还需要Ether在铸造过程中向网络支付交易费用,但现在您不需要花钱。
步骤3 - 上传文件开始创建NFT
要创建新项目,请继续并单击“创建”。您必须创建一个集合,并且您的NFT可以成为集合的一部分。以后可以制作更多的收藏品——例如,2D收藏品、3D收藏品等。
创建集合后,您可以向集合中“添加新项目”。点击“添加新项目”。您将能够上传文件,并且您会发现多种可用格式:PNG、GIF、WEBP、MP4、MP3等等。您可以在此处选择并上传您的文件。
步骤4 - 创建IPFS链接
重要的是要强调,图像本身并没有存储在区块链上。存储在区块链上的只是关于图像的元数据,即文件的哈希值、名称、时间戳和指向文件存储位置的链接。区块链不适合存储大文件,而且文件总是需要存储在其他地方。对于OpenSea,他们将负责存储图像。
如果您希望买家收到高分辨率文件或源文件,您也可以将此文件存储在存储服务(IPFS、Google Drive、S3或Dropbox)中,并在“可解锁内容”字段中共享文件链接。购买完成后,此文件将与买家共享。
为了让事情更加去中心化并保持区块链精神,我们不要使用像Google Drive或Dropbox这样的集中式存储服务,而是使用IPFS——星际文件系统。IPFS不是区块链,而是一个分布式点对点文件系统(类似于BitTorrent),允许我们存储和共享文件。
使用IPFS的最简单方法是Pinata。如果您尚未注册,请前往Pinata.cloud并注册。拥有Pinata账户后,转到仪表板,然后单击上传。选择文件并上传。
文件上传后,您将找到一个CID哈希(内容标识符),类似于Qma4Jse7V6tZ7k3756iPv39tsMG6DhxUQrc42cKoAVVsbR。
这是将链接到图像的哈希值。同时复制图像的链接,返回OpenSea网站,并将其粘贴到“可解锁内容”字段中。该链接应如下所示:
https://gateway.pinata.cloud/ipfs/Qma4Jse7V6tZ7k3756iPv39tsMG6DhxUQrc42cKoAVVsbR
步骤5 - 设置NFT属性
完成附加属性和标签。
最后,点击“创建”。
您现在已经在OpenSea网站上创建了资产,但它尚未上市出售。
步骤6 - 出售NFT
转到您的商品页面,然后单击“出售”。
您还可以设置“设置价格”。这类似于Ebay的“立即购买”,它是您愿意立即出售您的商品的价格。价格可以用不同的加密货币列出,但最常见的是以太币(ETH,以太坊的原生货币)。
您也可以选择“最高出价”。这是拍卖选项,在此选项中,您可以选择最低出价、底价和拍卖截止日期。
最后,点击“发布您的列表”。
单击后,按照步骤铸造令牌。您的Metamask窗口将提示(如果没有,您需要单击Metamask图标)并单击符号。OpenSea不收取任何费用,但是每当您创建新的NFT时,您都会将数据写入区块链,并且您将产生gas费用(即以太坊网络的费用)。
单击“批准”后,它会提示您的Metamask钱包,以便您支付费用。在您的Metamask钱包上,您可以单击“编辑”来编辑费用并选择慢速或快速。慢意味着您将支付更少的gas费用,但交易可能需要更长的时间才能在区块链中结算(通常不到1小时)。
考虑到以太坊可能会拥堵,铸造新NFT的成本有时可能会很高,但未来可能会降低。
这样,您的NFT现已上市,人们将能够竞标或购买。
使用IPFS创建NFT的智能合约
如果您对代码非常感兴趣并想部署自己的ERC-721智能合约,那么您需要完成以下几个重要步骤:
1、获取一些测试ETH(教学将在Ropsten测试网)
2、下载IPFS
3、将您的作品上传到IPFS
4、打开Ethereum Remix并创建智能合约
5、部署智能合约
6、铸造NFT
获取ETH测试币
首先,使用Metamask(小狐狸钱包),将您的钱包网络切换到Ropsten测试网。
然后打开Ropsten水龙头网站:https://faucet.ropsten.be/,将您的钱包地址复制到水龙头并获取一些测试以太币。我们将需要它来支付智能合约的gas费用。
下载IPFS并将您的艺术作品文件上传
大多数NFT数据需要存储在链外,我们需要保护这些数据。
我们可以通过IPFS——星际文件系统,一种用于共享和存储文件的点对点协议来解决这一问题。IPFS使用内容寻址来唯一标识全局命名空间中的每个文件,这对于将NFT元数据链接到资产或艺术品的存储位置至关重要。因此,与Dropbox或Google Drive等集中式服务相比,IPFS具有数据固定的持久性。
我们将使用IPFS来存储我们的NFT文件。前往IPFS网站并在您的台式机/笔记本电脑上安装IPFS。安装后,运行它。恭喜,您现在是一个IPFS节点!
IPFS官网:https://docs.ipfs.io/install/ipfs-desktop/#windows
单击文件并上传您的艺术品!
上传后,您将可以访问可共享的链接,将链接复制保存下来。
打开Ethereum Remix并创建智能合约
现在,我们转到Ethereum Remix IDE并创建一个新的Solidity文件,例如“erc721.sol”。我们将使用Ethereum Remix并使用0xcert/ethereum-erc721合约来创建我们的NFT智能合约。
(Ethereum Remix是一个开源Web应用程序,允许您开发、编译和部署智能合约。)
将以下脚本复制/粘贴到新创建的.sol文件中:
// SPDX-License-Identifier: MIT
pragma solidity 0.8.6
导入“https://github.com/0xcert/ethereum-erc721/src/contracts/tokens/nf-token-metadata.sol”;
导入“https://github.com/0xcert/ethereum-erc721/src/contracts/ownership/ownable.sol”;
合约newNFT是NFTokenMetadata, Ownable {
constructor {
nftName = “Synth NFT”
nftSymbol = “SYN”
}
function mint(address _to, uint256 _tokenId, string calldata _uri) external onlyOwner {
super._mint(_to, _tokenId)
super._setTokenUri(_tokenId, _uri)
}
}
然后你需要去编译它,以下图所示:
一旦智能合约编译完成,就可以部署它了!
使用Inject Web3部署智能合约并确保它已连接到您的Metamask的Ropsten测试网。
单击部署后,它会提示您的Metamask确认合约部署。
单击确认继续并部署合同。在这种情况下,我们在测试以太币中支付我们的gas费用,但如果你使用的是以太坊网络,您将不得不向矿工支付实际费用。
恭喜!您的智能合约现已部署!您甚至可以去以太坊浏览器检查您的新智能合约!
铸造NFT
现在转到Deployed Contracts部分并展开您的智能合约。
此外,扩展mint函数并添加以下详细信息:
最后,点击交易并在Metamask上确认您的交易!
好极了!!!您的NFT现已铸造成功!您可以使用新的智能合约铸造任意数量的NFT!
要检查您是否真的铸造了NFT,您可以在Remix上查看它,或者通过单击Metamask来检查交易,或者打开以太坊浏览器(Etherscan)查看:https://ropsten.etherscan.io/
恭喜!您已经从头开始创建了自己的NFT智能合约和NFT!您现在可以将其发送给朋友或者前往以太坊主网实战,甚至有可能以百万美元的价格出售它!
标签: 轻量级钱包以太坊开源