怎么用10分钟创建和部署NFT智能合约

发布时间:2021-10-18 09:37:49 作者:柒染
来源:亿速云 阅读:210

今天就跟大家聊聊有关怎么用10分钟创建和部署NFT智能合约,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

什么是NFT

NFT代表不可替代的令牌,例如,一个美元钞票是可替代的,因为您可以将其交换为另一个美元钞票(并且您不必担心美元钞票的序列号)。同样,比特币是一个可替代的代币,因为两个不同的比特币完全相同。

那么,不可替代的事物就是那些唯一且不能与其他事物互换的事物。不可替代的令牌本质上是在区块链上跟踪的唯一令牌。

不可替代的代币具有以下特征:

大多数NFT都建立在以太坊区块链之上,如今不可替代令牌(NFT)风行一时,作为开发人员,您可能想知道如何创建自己的NFT。本文将解释如何以最简单的方式做到这一点,以便您在短短几分钟内就可以启动并运行。

我们将使用标准的OpenZeppelin ERC721合约,这是智能合约的黄金标准。有许多用于部署智能合约的工具,但是在本文中,我们将使用web3  CLI工具,因为它是编译和部署合约的最快,最简单的工具。

搭建环境

在F? llowing东西只是必须做一次,然后就可以部署和互动就像你想不再次做这个东西。

1.安装CLI工具

这个衬板将安装该工具,因此您可以立即开始使用它。如果您担心install.sh的功能,请随时阅读。

curl -LSs https://raw.githubusercontent.com/gochain/web3/master/install.sh| SH

2.设置网络

我们将在这里使用GoChain,因此我们不必支付10美元来部署合同,然后再为每个NFT投入10美元。使用GoChain,我们只需要支付一分钱的一小部分,并且100%与以太坊兼容,因此我们可以像使用以太坊一样使用它。当然,您可以更改下面的行以指向以太坊,并根据需要支付额外的费用。

export WEB3_NETWORK=gochain  # for ethereum:  # export WEB3_NETWORK=ethereum

3.添加/获取气体

您将需要使用带有一些供气的a来进行这些交易,或者创建一个新的供其使用的供气。这将是GoChain上的$ GO或以太坊上的$ ETH。

要创建一个新帐户,请运行:

web3 account create

这将打印:

Private key: 0xABC123 Public address: 0xXYZ456

发送一些$ GO到“公共地址”。如果您需要一些$ GO入门,请进入我们的电报并询问,那里有人会很好地向您发送一两个$ GO。

复制“私钥”(或根据需要使用现有的私钥)并运行:

export WEB3_PRIVATE_KEY=0xABC123

另外,请将此私钥的副本保存在安全的地方,以便下次使用。

部署工作

既然我们都已设置好网络集,并且我们的私钥中设置了一些加油键,我们就可以开始玩得开心了。

创建合同

该WEB3 CLI已经内置代码生成器常见的合同,如ERC20和ERC721的。赶紧跑:

web3 generate contract erc721 --symbol KATS --name "Krypto Kats" --base-uri https://kryptokats.com/token/

这将生成一个名为的文件KATS.sol,该文件是您新的NFT合同的统一程序。

1.部署合同

从这里,我们只需要编译和部署它。同样,web3 CLI使此部分变得容易:

web3 contract build KATS.sol web3 contract deploy KATS.bin

这将打印出您的新合同地址。您现在已经部署了NFT合同!

现在已经部署了合同,我们只需要创建新合同即可。铸造NFT时,您需要提供拥有此新NFT的人员的地址:

web3 contract call --wait --abi KATS.abi --gas-limit 2000000 --function mint 0xABC

此功能产生一个全新的NFT,并将其分配给地址0xABC。ERC721的新OpenZeppelin预设具有自动递增的ID,因此您将在输出中看到新的令牌ID。例如:

Parsed Logs: [   {     "name": "Transfer",     "fields": {       "from": "0x00000",       "to": "0x000ABC",       "tokenId": "0x00001"     }   } ]

该输出已被截断,删除了一堆零,但是您可以看到新的令牌ID是number 1。

转移NFT

现在,如果您拥有NFT并想转让它,则可以调用该transferFrom函数:

web3 contract call --wait --abi KATS.abi --gas-limit 2000000 --function transferFrom 0xABC 0xXYZ 1

这会将ID为1的令牌转让给位于的新所有者0xXYZ。您可以在GoChain Explorer中查看和搜索令牌。

看完上述内容,你们对怎么用10分钟创建和部署NFT智能合约有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注亿速云行业资讯频道,感谢大家的支持。

推荐阅读:
  1. solidity智能合约[56]-solc编译智能合约
  2. solidity智能合约[26]-mapping

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

nft

上一篇:jdk1.8中(a+b)*10的10是存在哪里的

下一篇:PHP如何生成唯一的促销/优惠/折扣码

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》