主页 > imtoken钱包app > 如何在 10 分钟内创建和部署 NFT 智能合约

如何在 10 分钟内创建和部署 NFT 智能合约

imtoken钱包app 2023-07-12 05:17:53

比特币合约模拟交易app_比特币合约爆仓家破人亡_合约部署要比特币吗

本文转载自微信公众号“区块链研究室”,作者:连三丰。 转载本文请联系区块链研究院公众号。

什么是 NFT

NFT代表non-fungible token,例如一美元钞票是可替代的,因为你可以用它换取另一张美元钞票(而且你不必担心美元钞票的序列号)。 同样,比特币是一种可替代的代币,因为两个不同的比特币是相同的。

那么合约部署要比特币吗,不可替代的东西就是那些独一无二的,不能与其他东西互换的东西。 不可替代的令牌本质上是在区块链上跟踪的唯一令牌。

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

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

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

比特币合约模拟交易app_比特币合约爆仓家破人亡_合约部署要比特币吗

搭建环境

在 F? 让某件事只需要做一次,然后您就可以随心所欲地进行部署和交互,而无需再次做这件事。

1.安装CLI工具

该衬管将安装该工具,以便您可以立即开始使用它。 如果您担心 install.sh 的作用,请随时阅读。

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

2.设置网络

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

比特币合约模拟交易app_比特币合约爆仓家破人亡_合约部署要比特币吗

  1. export WEB3_NETWORK=gochain 
  2.  
  3. for ethereum: 
  4.  
  5. # export WEB3_NETWORK=ethereum 

3.加气/取气

您将需要为这些交易使用一些气体供应,或创建一个新的供其使用。 这将是 GoChain 上的 $GO 或以太坊上的 $ETH。

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

  1. web3 account create 

这将打印:

  1. Private key: 0xABC123 
  2. Public address: 0xXYZ456 

比特币合约模拟交易app_合约部署要比特币吗_比特币合约爆仓家破人亡

发送一些 $GO 到“公共地址”。 如果您需要一些 $GO 才能开始,请进入我们的电报并询问,那里的人会好心地给您发送一两个 $GO。

复制“私钥”(或在必要时使用现有的私钥)并运行:

  1. export WEB3_PRIVATE_KEY=0xABC123 

此外,请将此私钥的副本保存在安全的地方以备将来使用。

部署工作

现在我们都已经设置好了我们的网络,并且在我们的私钥中设置了一些 gas 密钥,我们可以开始玩得开心了。

创建合同

合约部署要比特币吗_比特币合约模拟交易app_比特币合约爆仓家破人亡

WEB3 CLI 内置了用于 ERC20 和 ERC721 等常见合约的代码生成器。 现在跑步:

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

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

1.部署合约

从这里开始,我们只需要编译和部署它。 同样,web3 CLI 使这部分变得简单:

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

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

比特币合约模拟交易app_比特币合约爆仓家破人亡_合约部署要比特币吗

现在合约已部署,我们只需要创建一个新合约。 铸造 NFT 时合约部署要比特币吗,您需要提供拥有此新 NFT 的人的地址:

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

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

  1. Parsed Logs: [ 
  2.   { 
  3.     "name""Transfer"
  4.     "fields": { 
  5.       "from""0x00000"
  6.       "to""0x000ABC"
  7.       "tokenId""0x00001" 
  8.     } 
  9.   } 

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

转让NFT

现在,如果你拥有 NFT 并想转移它,你可以调用 transferFrom 函数:

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

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