跳至主要内容
本页面使用机器翻译自英语,可能包含错误或不清楚的语言。如需最准确的信息,请参阅英文原文。由于更新频繁,部分内容可能与英文原文有出入。请加入我们在 Crowdin 上的努力,帮助我们改进本页面的翻译。 (Crowdin translation page, Contributing guide)

使用 Thirdweb 部署智能合约

导言​

本节将指导您使用 ThirdWeb,在 Kaia Network 上部署 Marketplace 合同和相应的 NFT 收集合同。 Thirdweb 是一个完整的 Web3 开发框架,可为您提供将应用程序和游戏连接到去中心化网络所需的一切。

市场合约允许用户列出 NFT 进行直接销售或拍卖,从而加强了 NFT 的买卖,就像在 OpenSea 上所做的那样。

完成本指南后,您将能够

  • 使用 thirdweb 创建和定制合同。
  • 使用 thirdweb 对智能合约进行编译、部署和交互。

入门​

在本文中,我们将探讨使用 thirdweb 创建、自定义和部署合同的不同方法,即

  • 使用第三网络仪表板
  • 使用 thirdweb CLI

在本指南中,我们将演示如何使用 thirdweb 控制面板部署 MarketPlace 合同,并使用 thirdweb CLI 部署相应的 nft 集合,以便在市场上列出。

注:我们将不解释市场合约的机制,因为我们的重点是探索用于创建、部署和与智能合约交互的 thirdweb 面板和 CLI。

使用 thirdweb 仪表板创建和部署市场合同​

在本节中,我们将使用 thirdweb 面板创建并部署市场合同。为此,请按照以下步骤操作:

  1. 前往 thirdweb dashboard,从合同列表中选择 MarketPlace 合同。

  1. 在合同概览仪表板中单击立即部署。

  1. 配置市场合同,使其包含以下参数:市场的名称、描述和图像。

  1. 点击 立即部署,如上图所示,然后等待交易完成。

交易成功执行后,您可以在 KaiaScan 的搜索栏中粘贴合同地址,以验证您的部署。

使用 thirdweb CLI 创建和部署 NFT 收集合同​

在本节中,我们将使用 thirdweb CLI创建和部署将在 Marketplace 中列出的 NFT 程序集。为此,请按照以下步骤操作:

创建合同​

  1. 在终端中运行此命令来创建合同:

npx thirdweb create --contract

  1. 输入您喜欢的命令行提示值:

    i. 为项目命名

    ii. 选择您喜欢的框架:Hardhat 或 Foundry.

    iii. 为智能合约命名

    iv. 选择基本合同类型:空、ERC20、ERC721 或 ERC1155。添加任何所需的扩展名。在本教程中,我们将选择 ERC721,并将扩展名设置为 "无"。

  1. 创建完成后,请导航至项目根目录,并在首选代码编辑器中打开项目。

  2. 打开合同文件夹,合同应该是这样的:


// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
import "@thirdweb-dev/contracts/base/ERC721Base.sol";
contract nftcollection is ERC721Base {
constructor(
address _defaultAdmin,
string memory _name,
string memory _symbol,
address _royaltyRecipient,
uint128 _royaltyBps
)
ERC721Base(
_defaultAdmin,
_name,
_symbol,
_royaltyRecipient,
_royaltyBps
)
{}
}

上述合约演示了ERC721Base 的基本功能。它导入并继承了 ERC721Base 合约,还实现了所需的方法,包括构造函数及其从属参数。

您可以根据自己需要的自定义逻辑修改合同,一旦完成,您的合同就可以部署了。

部署合同​

  1. 导航至项目根文件夹,在终端中运行该命令:

npx thirdweb deploy

执行该命令将触发以下操作:

  • 检测框架(硬帽、代工厂)
  • 编译当前目录下的所有合同。
  • 允许您选择要部署的合同。
  • 将编译好的智能合约代码(以应用程序二进制接口(ABI)的形式)上传到 IPFS。
  1. 部署完成后,将打开一个仪表板界面,填写其余参数。

    • _name:合同名称
    • _symbol:符号或 "股票代码"
    • _版税收款人:接收二次销售版税的钱包地址
    • _特许权使用费基点:每次二次销售将给予特许权使用费收取人的基点 (bps),如 500 = 5%。
  2. 选择 "Kaia Mainnet "作为部署合同的网络。

  1. 智能合约部署完成后,您可以通过其仪表板管理其他设置和功能。例如,您可以上传 NFT、配置权限和访问控制以及添加新功能。

有关 thirdweb 部署命令的更多信息,请参阅 deploy guide 。

与已部署的合同互动​

在本节中,我们将分别使用mint和transferfrom函数铸造一个 NFT 并将其转入另一个账户。让我们按以下步骤来了解一下:

铸币厂​

  1. 导航至新部署的合同 (puppyKlan-NC) 面板。
  2. 点击合同仪表板下NFTs选项卡中的mint功能。

  1. 填写铸造 NFT 所需的参数:名称、媒体**、描述和属性。

  1. 核对输入内容,然后点击 Mint NFT 按钮。
  2. 确认交易,等待交易完成。完成后,您会看到仪表板上添加了 NFT,如下图所示:

向新业主转让 NFT​

  1. 前往合同 (puppyKlan-NC) 面板中的资源管理器选项卡。
  2. 在 "写 "选项卡下选择 transferFrom 功能,如下图所示。
  3. 填写必要的函数参数:from(地址)、to(地址)和 id(uint256)。

  1. 确认交易,等待交易完成。

结论​

祝贺你如果您读到了本指南的结尾。如果您有任何问题,请访问 Kaia 论坛 或联系 官方第三网络支持。不过,以下是您在 Kaia 上进一步使用 Thirdweb 时可能需要的有用资源列表。

让这个页面变得更好