本文转载自微信公众号「区块链研究实验室」,作者链三丰 。转载本文请联系区块链研究实验室公众号。
创新互联公司是一家专业提供河北企业网站建设,专注与成都网站设计、成都网站建设、H5建站、小程序制作等业务。10年已为河北众多企业、政府机构等服务。创新互联专业网站制作公司优惠进行中。
什么是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智能合约
分享URL:http://www.shufengxianlan.com/qtweb/news4/484854.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联