然后,从OETH开发者那里存0.01枚OETH到MetaMask帐户中。
您可以在MetaMask的【Account details menu】菜单中导出该帐户的私钥。
步骤2:将MetaMask地址导入BUIDL
接下来,打开用于Oasis Ethereum ParaTime的BUIDL在线IDE。
地址:
https://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。更多精彩,敬请期待!

