相信每个web3的参与者,心底都有一个亲手做项目的梦想。
不一定像中本聪、V神、Gavin Wood一样名垂青史,也不一定像shib、ape的创始人一样一战成名。“在未来,每个人都能成名15分钟”,是预言家对web2时代的论断,更是对web3时代的预测。
去中心化的技术打破了流量、身份、地域的垄断藩篱,每个人都可以拥有自己的IP。在这个NFT百花齐放的时代,你或许也想过把自己的观点、态度做成独一无二的链上资产,让“元宇宙”里有自己的灵魂。
网络上已经有了不少“一键发行NFT”的工具,包括opensea也提供了这类服务,但如果你想加入自己的经济模型,还是应当掌握一些真正的发行技能。
本教程适合没有任何编程基础的小白参考使用,需要的准备工具只有:一台可以上网的电脑,一个足够支付基础gas费的区块链钱包地址,以及一个大活人。
发布智能合约的在线工具:以太坊remix IDE
NFT和ERC20 token一样,也需要一个智能合约来支持。
读过我们此前课程的同学都知道,智能合约是运行在区块链网络上的程序,就像传统互联网项目把应用程序上传到服务器上供用户使用一样。Web3时代不再有中心化的服务器,它被整个区块链网络取代了。
所以,发布一个NFT的过程,就是把一套智能合约程序发布在链上的过程。
以太坊官方发布了一个非常简便的智能合约在线编辑、发布页面:
http://remix.ethereum.org/?一般被称为 remix IDE。
用安装过metamask的chrome浏览器直接打开它,你会看到这个页面:
以太坊(以及BSC、HECO、OEC、Polygon等所有支持EVM的链)智能合约使用solidity语言变写,所有如上图所示,选中solidity选项,进入合约编辑界面:
关注一下上图左侧被红框框住的三个图标,它们从上到下分别是:文件编辑区、合约编译(检查)区、合约发布和操作区。
选中“文件编辑区”并点击文件图标,可以新建并命名一个nft.sol结尾的文件,用来编写你的智能合约程序:
新建后的文本编辑区是这个样子:
没有编程基础也没关系,联系defi有道小助手加入我们的社群,我们准备了一套符合ERC721标准的源码,并会在下一讲教大家如何使用。
选中合约编译区,对已经写好的智能合约代码进行编译。编译的目的在于检查你的代码有没有语法层面的bug(并不保证没有逻辑上的漏洞),并翻译成用于发布的格式(人类不可读,咱也不用管)。
编译按钮为下图所示的compile +文件名.sol,如果合约代码没有问题,就会显示一个绿色的小对勾:
如果合约代码ok,就可以进入发布区,把合约发布在链上了:
我们应该明白这样一个道理:查询区块链上的数据是免费的,修改链上的数据则需要支付一定的gas。
在链上新增一个智能合约显然是“修改了链上数据”,所以,需要连上你的钱包,来支付相应的gas费用。上图蓝色方框中选择 injected web3,metamask会像我们使用去中心化交易所的时候一样弹出来,我们就把remix当成一个dapp,链接即可。
连接后的样子:
点击黄色的deploy,支付gas,合约就发布成功了。
当然,NFT合约的发布还需要初始化定义你的项目名、项目简称、总供应量、图片信息等等,这涉及具体代码的操作,我们留在下一讲。
分布式存储工具之一:pinata
做一个web3项目,当然要搞成“纯纯的web3”,能去中心化的地方,都要去中心化。
NFT的图片数据是不可能存在以太坊上的,太贵。业内最常用的解决方案是把图片存在去中心化网络上,再把这次存储的哈希值写进智能合约的tokenURI里。
Ok,听起来有点拗口了,没关系,我们本讲先搞定分布式存储。
最常用的免费分布式存储工具,是依托IPFS网络而设的 https://app.pinata.cloud/?,每个注册用户可以免费获得1G存储空间,这个平台自己运行了IPFS的节点,能很好地解决IPFS网络数据拉取慢的问题。
网站的注册非常简单且完全匿名,只需要一个邮箱:
注册成功之后的界面如下。由于IPFS的网关经常被“技术处理”,到这一步,建议大家使用特殊工具,你懂的。
选择上图中的upload - file,点击select a file,从自己的电脑里选择想要上传的图片:
文件名默认为图片在你电脑里的文件名,然后upload:
稍待片刻,文件上传成功,下图所示的CID,就是这张图片在IPFS网络上的存储路径,也就是日后我们要写入NFT合约的图片路径:
下一讲,我们将要拿到ERC721的源码,教会大家如何调试参数,完成自己的NFT的部署了。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。