黑客松手把手教程:三步创建NFT 获得100枚ROS代币奖励

2021-04-06 12:47:27 作者:金色财经

 本教程将引导您完成以下任务:

◎ 如何在Oasis Ethereum ParaTime上部署ERC-721智能合约

◎ 用关联的数字资产铸造ERC-721代币

◎ 将ERC-721代币转让给其他人

01

什么是ERC-721代币

ERC721代币通常被称为不可替代代币,即大家所说的NFT。

2017年,加密猫横空出世,NFT被人们用来标记数字资产的所有权,它独立无二且极富艺术想象力,在ETH上掀起了一场NFT数字艺术浪潮,不少加密艺术爱好者参与其中,其参与设计的NFT作品价格也随之水涨船高。

在Oasis Ethereum ParaTime上创建一个ERC-721代币,用以代表您的数字资产,并将它分享给朋友和家人,说不定它能一炮而红一天赚几百万,区块链行业的奇迹又有谁能预测呢?

02

部署ERC-721智能合约

Oasis Ethereum ParaTime与以太坊协议完全兼容。使用Solidity编写的ERC-721智能合约可以直接部署到Oasis Ethereum ParaTime上,无需进行任何更改。

您可以使用名为【BUIDL】的在线IDE工具在Oasis Ethereum ParaTime上构建和部署ERC-721智能合约。

下面为大家介绍详细内容。

 步骤1:设置MetaMask

打开MetaMask,然后选择【custom RPC】。

输入网络名称并添加Oasis Ethereum的RPC链接:

https ://rpc.oasiseth.org:8545 

这会将MetaMask钱包配置为使用Oasis Ethereum ParaTime。

然后,从OETH开发者那里存0.01枚OETH到MetaMask帐户中。

您可以在MetaMask的【Account details menu】菜单中导出该帐户的私钥。

 步骤2:将MetaMask地址导入BUIDL

接下来,打开用于Oasis Ethereum ParaTime的BUIDL在线IDE。

地址:

http://oasiseth.org/dev/hack

单击以打开【account】,选择导入,导入MetaMask私钥,您将在BUIDL中看到您的MetaMask账户地址。您将使用此账户地址来部署您的ERC-721智能合约并创建NFT代币。

 步骤3:编译和部署智能合约 

接下来,在BUIDL中选择Solidity语言编译器版本。在此处选择Solidity 0.4.26。

将源代码复制并粘贴到合约选项卡中。

您可以在此处找到ERC-721智能合约源代码:

https://github.com/second-state/oasis-ssvm-runtime/wiki/ERC-721-Smart-Contract

在智能合约代码的最后,【contract MyNFT】是铸造ERC-721代币的意思。在这里,您可以为您的ERC-721代币留下独一无二的标记。

单击【Compile】按钮,然后选择【MyNFT】部署到区块链。

部署成功,现在您已经完成了在Oasis Ethereum ParaTime上发行ERC-721代币的一半。

在BUIDL中调用该函数【totalSupply】,并看到它返回0。此合约中尚无代币,我们的教程下一步就是使用我们构建的ERC-721代币。

让我们来到【mintToken】功能。

进入【mintToken】函数,在【tokenId】中输入地址,以分配新ERC-721代币的所有者。在【tokenId】中输入一个整数,以设置ERC-721代币的唯一 ID。在【uri】中输入数字资产的 URL,例如图片或影片,将数字资产与 ERC721 token 关联。

点击【Transact】按钮来构建ERC-721代币。

如果您想构建更多的ERC-721代币,只需在【mintToken】函数中设置其他【to, tokenId, uri】参数即可。

请注意,每个token id只能对应一个数字资产URL。如果您想为一个新的URL铸造一个新的ERC-721代币,您需要使用不同的代币ID。

Tx确认后,我们可以检查部署的ERC-721合约和构建的ERC-721代币的状态。再次调用【totalSupply】函数,这次返回的是1。

输入【tokenId】并调用【ownerof】函数。它返回我们刚才在【mintToken】函数中输入的地址。

输入【tokenId】,并调用【tokenURI】函数,它返回我们刚才在【mintToken】函数中输入的URL。

03

交易ERC-721代币

 步驟1:取得传输ERC-721代币的权限 

【approve】功能允许将【tokenId】标记的代币从一个账户转移到另一个账户。函数调用者必须拥有【tokenId】代币。所以我们需要将其所有者账户的私钥导入到BUIDL中。

 如何部署合约 

如果您使用同一个账户部署ERC-721智能合约,并接收到已构建好的ERC-721代币,请忽略此步骤,只需调用【approval】函数。

复制ERC-721智能合约地址;

导入你收到ERC-721代币的账户;

复制并粘贴相同的智能合约源代码;

点击【Compile】按钮,选择【MyNFT】;

粘贴ERC-721合约地址并点击【At】。现在,我们有一个实例到BUIDL中部署的ERC-721合约。

我们看到了以前部署的ERC-721合约。

进入【approve】功能。在地址中输入一个地址,以指定给定ERC-721的接收者。在【tokenId】中输入 id 来传输唯一的NFT代币。不同的【 tokenId 】表示不同的NFT代币。

 步骤2:转移ERC-721代币 

【safeTransferFrom】函数将【tokenId】代币从【from】转到【to】。

在【from】中输入所有者的地址。在【to】中输入接收者的地址,在【tokenId】中输入id。这三个参数将确保你传输的NFT代币是正确的。

我们可以调用【ownerof】和【balanceof】函数来查看代币的状态。代币的所有者已经转移到下方账户中:

0xbf9a58574aab193f0c442f6f7dea22ec413db648

04

小结及预告

值得注意的是,请一定要记住保存您的代币地址和代币ID,这些信息需要通过此表格提交给黑客马拉松组织者。

提交链接:

https://oasisprotocol.org/oasis-eth-hackaton-tcs

未来一段时间,我们将创建一个基于网络的Dapp来显示和发送您的NFTs。更多精彩,敬请期待!

相关推荐

图文推荐