跳至主要内容

使用 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%。
  1. 选择 "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 时可能需要的有用资源列表。

让这个页面变得更好