跳至主要内容
本页面使用机器翻译自英语,可能包含错误或不清楚的语言。如需最准确的信息,请参阅英文原文。由于更新频繁,部分内容可能与英文原文有出入。请加入我们在 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. 点击 立即部署,如上图所示,然后等待交易完成。

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

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

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

创建合同

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

npx thirdweb create --contract

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

    i. 为项目命名

    ii. 选择您喜欢的框架:HardhatFoundry.

    iii. 为智能合约命名

    iv. 选择基本合同类型:ERC20ERC721ERC1155。 添加任何所需的扩展名。 在本教程中,我们将选择 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

与已部署的合同互动

在本节中,我们将分别使用minttransferfrom函数铸造一个 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 时可能需要的有用资源列表。

让这个页面变得更好