PRC721 NFT创建实用教程(一)| 技术云图

fffmCQ.jpg

PRC721 NFT创建实用教程(一)| 技术云图

本教程将分为两部分着手实践基于PRC721标准的NFT创建,如何在PlatON开发网络上发布自己的NFT?且看以下教程。

感谢提供本教程的PlatON社区贡献者@乐浅浅

注:如果需要在ATON上进行显示,需向ATON团队提交申请,审核通过即可。

环境配置

本次选择的是一台低配置阿里云服务器

中央处理器:1核2G

硬盘:40GSSD

系统:Ubuntu16.04

远程连接工具:MobaXterm

软件准备

远程连接工具:MobaXterm

本地主机IDE:VScode、Notepad++

准备一个PlatON开发网络的账号,并且向水龙头申请测试LAT。水龙头地址:

https://faucet.platon.network/faucet/

编码准备

由于PRC721兼容ERC721,因此本教程编码使用开源的OpenZeppelin源码,并从中剥离出我们需要的源文件。具体需要的文件如下图所示:

PRC721 NFT创建实用教程(一)| 技术云图

文件树如下图所示:

PRC721 NFT创建实用教程(一)| 技术云图

然后有些地方需要修改,拿其中的ERC721Full.sol作为说明示例,示例请看中文注释,这些编码过程都在本地主机的VScode中完成:

pragmasolidity0.5.17;//这里需要修改为PlatON支持的solidity版本,例如0.5.17,0.6.12,0.7.6,0.8.2/*此处的import指令需要做好文件代码的引用路径修改*/import"./ERC721.sol";import"./ERC721Enumberable.sol";import"./ERC721Metadata.sol";/***@titleFullERC721Token*@devThisimplementationincludesalltherequiredandsomeoptionalfunctionalityoftheERC721standard*Moreover,itincludesapproveallfunctionalityusingoperatorterminology.**Seehttps://eips.ethereum.org/EIPS/eip-721*/contractERC721FullisERC721,ERC721Enumerable,ERC721Metadata{constructor(stringmemoryname,stringmemorysymbol)publicERC721Metadata(name,symbol){//solhint-disable-previous-lineno-empty-blocks}}functionawardItem(addressrecipient,stringmemoryhash,stringmemorymetadata)publicreturns(uint256){require(hashes[hash]!=1);hashes[hash]=1;_tokenIds.increment();uint256newItemId=_tokenIds.current();_mint(recipient,newItemId);_setTokenURI(newItemId,metadata);returnnewItemId;}

之后的所有.sol文件都请注意这两点,然后依照脑图和文件目录树的布置。

现在来写一个实例,用以实例化该合约【也就是目录树中的 NFT_example.sol】,代码如下:

pragmasolidity0.5.17;import"./ERC721/ERC721Full.sol";import"./ERC721/ERC721Pausable.sol";import"./ERC721/ERC721Mintable.sol";import"./ERC721/ERC721MetadataMintable.sol";import"./ownship/Ownable.sol";contractNFT_exampleisERC721Full,ERC721Pausable,ERC721Mintable,ERC721MetadataMintable,Ownable{usingSafeMathforuint256;constructor()publicERC721Full("令牌名称","令牌缩写"){}}

说明:

令牌名称:请填写你想要的名字(全称)

令牌缩写:请填写对应的缩写(简称)

声明:该文观点仅代表作者本人,与炒币网无关。炒币网系信息发布平台,仅提供信息存储空间服务。对所包含内容的准确性、可靠性或者完整性不提供任何明示或暗示的保证,并不对文章观点负责。 提示:投资有风险,入市须谨慎。本资讯仅供参阅,不作为投资理财建议。

发表评论

登录后才能评论