GTokenTool全网最好的代币发行工具平台
当前位置:首页 >> 发币教程 >> 如何使用 Interchain Token Service 在 Base 上铸造 ERC-20 代币(5 个步骤)

如何使用 Interchain Token Service 在 Base 上铸造 ERC-20 代币(5 个步骤)

admin 发币教程 133

本分步指南将教您如何使用Axelar 的跨链代币服务 (ITS)在Base 网络上铸造多链 ERC-20 代币,并使用 Moralis代币 API轻松检索代币余额

步骤 1:先决条件

你需要:

  • 对SolidityJavaScript的基本了解

  • Base Sepolia 上的MetaMask 钱包内有 ETH。如果您没有 Base Sepolia ETH,请访问Base Faucets 页面上列出的水龙头。

  • 免费的Moralis 帐户

  • 来自Moralis 仪表板的 Web3 API 密钥

第 2 步:设置新项目和所需的 ABI

在此步骤中,您需要创建一个新项目并设置所需的 ABI 以便与 ITS 交互并在 Base 网络上铸造您的 ERC-20 代币。

打开终端并导航到您选择的任何目录。运行以下命令来创建并启动项目:

mkdir 薄荷代币 && cd 薄荷代币
npm init -y

安装 Hardhat 和 Moralis

使用以下命令安装HardhatMoralis :

npm install --save-dev hardhat@2.18.1 dotenv@16.3.1 \\
crypto@1.0.1 @nomicfoundation/hardhat-toolbox@2.0.2 道德

设置项目 ABI

接下来,设置Interchain Token Factory的 ABI ,因为部署期间会用到它。创建一个名为 interchainTokenFactoryABI.json 的新文件并添加Interchain Token Factory ABI

创建.env文件

为了确保您不会意外发布您的私钥,请创建一个.env文件来将其存储在:

触摸 .env

将您的私钥添加到.env

导出你的私钥并将其添加到.env你刚刚创建的文件中:

PRIVATE_KEY= // 在此处添加您的账户私钥

💡 如果您要在 GitHub 上推送此项目,请创建一个.gitignore文件并包含.env

步骤 3:设置远程过程调用 (RPC)

接下来,您需要设置 RPC。导航到安装 Hardhat 的目录并运行以下命令:

npx 安全帽初始化

Create an empty hardhat.config.js使用键盘选择并按回车键:

88888888888888
88888888888888
88888888888888
8888888888 8888b。 888d888 .d88888 88888b。 8888b。 888888
888 888 "88b 888P" d88" 888 888 "88b "88b 888
888 888 .d888888 888 888 888 888 888 .d888888 888
888 888 888 888 888 Y88b 888 888 888 888 888 Y88b。
888 888 “Y888888 888 “Y88888 888 888 “Y88888 “Y88888 “Y888
👷 欢迎使用 Hardhat v2.18.1 👷‍
? 你想让我做什么? …
 创建 JavaScript 项目
 创建 TypeScript 项目
 创建 TypeScript 项目(使用 Viem)
❯ 创建一个空的 hardhat.config.js
 辞职

接下来,hardhat.config.js使用以下代码片段进行更新:

/** @type 导入('hardhat/config').HardhatUserConfig */
要求“@nomicfoundation/hardhat-toolbox”
需要“dotenv” 配置{路径:“.env” }
const PRIVATE_KEY =进程.env.PRIVATE_KEY ;
/** @type 导入('hardhat/config').HardhatUserConfig */
模块.出口= {
 可靠性:“0.8.19”
 网络:{
   根据:{
     网址:“<https://base-sepolia-rpc.publicnode.com>”
     链编号: 84532 ,
     账户:[ PRIVATE_KEY ]
   }
 }
}

Hardhat 的运行方式是查找距离hardhat.config.js当前目录最近的文件,通常位于项目的根目录。即使是空文件也hardhat.config.js能让 Hardhat 正常运行,因为您的整个设置都位于此文件中。

步骤 4:使用 ITS 铸造 ERC-20 代币

现在您已经设置了 Base Sepolia 测试网 RPC,您可以铸造多链 ERC-20 代币。在本教程中,您将使用以下信息创建代币:

  • 名称:我的新代币

  • 符号:MNT

  • 小数:18

创建一个名为“导入”的新文件,script.js.其中包含必要的依赖项:

  • Ethers.js

  • 莫拉利斯

  • 合约 ABI

  • 合约InterchainTokenFactory地址

  • 您的代币信息

const hre = require ( "安全帽" ) ;
const crypto = require ( "加密" ) ;
const Moralis = require ( "moralis" ) 默认;
const ethers = hre. ethers ;
const interchainTokenFactoryContractABI =需要“。/interchainTokenFactoryABI”
const interchainTokenFactoryContractAddress =
 “0x83a93500d23Fbc3e82B410aD07A6a9F7A0670D66” ;
 
// 创建一个新的令牌
const name = "我的新 Tokenn" ;
const符号 = “MNT” ;
常量小数 = 18
// 要铸造的初始代币
const initialSupply = ethers.utils.parseEther ( " 1000 " ) ;

创建mintToken()函数

创建一个mintToken()在 Base Sepolia 测试网上铸造新代币的函数:

//...
// 为 Base Sepolia 测试网铸造一个新的 ERC-20 多链代币
尝试{
   // 生成随机盐
   const salt = "0x" + crypto.randomBytes ( 32 ) .toString ( " hex " ) ;
   // 获取签名者来签署交易
   const [ signer ] = await ethers.getSigners ( ) ;
   // 创建合约实例
   const interchainTokenFactoryContract =等待新的以太币。合约
     interchainTokenFactoryContractAddress,
     interchainTokenFactoryContractABI,
     签名者
   
   // 部署令牌
   const deployTxData =
     等待interchainTokenFactoryContract。deployInterchainToken
       盐,
       姓名,
       象征,
       小数,
       初始供应,
       签名者.地址
     
   控制台.日志(
     `
   交易哈希:${deployTxData.hash}
   盐:${salt}
   `
   
 }捕获e {
   控制台.错误e
}

添加main()函数

添加一个main()执行函数来script.js.处理可能出现的任何错误:

//...
异步函数main ( ) {
 const函数名称=进程.env.FUNCTION_NAME
 switch (函数名称) {
   案例“mintToken”
     等待mintToken
     休息;
   默认
     console . error ( `未知函数:${functionName} ` ) ;
     进程。退出代码= 1
     返回;
 }
}
main ( ) .catch ( (错误) = > {
 控制台.错误(错误) ;
 进程。退出代码= 1
}

运行  script.js  以将您的代币部署到 Base Sepolia 测试网

在终端中运行脚本来创建并铸造代币,并指定 Base Sepolia 测试网:

FUNCTION_NAME=mintToken npx hardhat run script.js --network base

您应该在控制台上看到类似以下内容:

交易哈希:0x7695f2dd6e29240fc792d37fd6b86f402f2b5338e088e0ad4a448685e0ad565b,
盐:0xef36cf55326c3fb9fb47c6d3828b8a4ea12fdfab31aae4bc3634bf7bbe04eb49,

交易:https://sepolia.basescan.org/tx/0x7695f2dd6e29240fc792d37fd6b86f402f2b5338e088e0ad4a448685e0ad565b代币:https ://sepolia.basescan.org/token/0x274e53a526fa2543ce19f9c0334286b4724aa5e0

步骤 5:使用 Moralis API 检查铸造的代币余额

现在您已成功铸造了新代币,现在是时候检索余额了。

将 Moralis API 密钥添加到.env

MORALIS_API_KEY= // 在此处添加您的 Moralis API 密钥

获取您的代币余额

在文件中添加以下内容script.js

//...
const MORALIS_API_KEY = 进程.环境. MORALIS_API_KEY
// 使用 Moralis API 获取用户余额
异步函数getBalance ( ) {
 尝试{
   console.log ( "正在获取余额... " ) ;
   等待Moralis。开始{
     api密钥: MORALIS_API_KEY,
   }
   const response = await Moralis.EvmApi.token.getWalletTokenBalances {
     chain: "84532" , // 基础 Sepolia
     address: "0x510e5EA32386B7C48C4DEEAC80e86859b5e2416C" , //用户地址
   }
   控制台. log ( response.raw ) ;
 }捕获e {
   控制台.错误e
 }
}

更新main()以获取代币余额

更新main()执行getBalance()

//...
异步函数main ( ) {
 const函数名称=进程.env.FUNCTION_NAME
 switch (函数名称) {
   //...
   案例“获取余额”
     等待获取余额
     休息;
   默认
   //...
 }
}

在终端中运行脚本来检索您的令牌:

FUNCTION_NAME=getBalance 节点脚本.js

您应该在控制台上看到类似以下内容:

正在取得平衡...
[
 {
   令牌地址:'0x274e53a526fa2543ce19f9c0334286b4724aa5e0',
   符号:'MNT',
   名称:“我的新代币”,
   徽标:null,
   缩略图:null,
   小数:18,
   余额:'10000000000000000000000',
   可能的垃圾邮件:false,
   已验证合同:false,
   总供应量:'10000000000000000000000',
   总供应量格式:'1000',
   占总供应量的百分比:100
 }
]

概括

本教程提供了使用 Axelar 的 Interchain Token Service (ITS) 在 Base Sepolia 网络上铸造多链 ERC-20 代币的分步指南。该过程包括设置先决条件、创建新项目和 ABI、设置远程过程调用 (RPC)、使用 ITS 铸造 ERC-20 代币以及使用 Moralis API 检查铸造的代币余额。

作者:GTokenTool一键发币平台

交流群:https://t.me/+Kz4u3xoDpFo3ZWY1

同类推荐