You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何无需付费在电脑上发布智能合约并创建链上代币?

本地创建并部署以太坊代币(无需依赖在线IDE)

一、准备本地开发环境

  • 安装Node.js(v16及以上版本),确保npm命令可用
  • 新建空文件夹,执行 npm init -y 初始化项目,再安装Hardhat开发框架:npm install --save-dev hardhat

二、编写代币合约

  • 执行 npx hardhat,选择「Create a JavaScript project」,按提示完成项目初始化
  • 在 contracts/ 目录下新建 MyToken.sol,写入标准ERC20代币合约(基于OpenZeppelin的成熟模板,避免安全漏洞):
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;

import "@openzeppelin/contracts/token/ERC20/ERC20.sol";

contract MyToken is ERC20 {
    // 构造函数:代币名称、符号、初始发行量(需乘以10^18对应decimals)
    constructor(uint256 initialSupply) ERC20("MyToken", "MTK") {
        _mint(msg.sender, initialSupply * 10 ** decimals());
    }
}
  • 安装OpenZeppelin合约库:npm install @openzeppelin/contracts

三、配置部署脚本与网络

  • 打开 scripts/deploy.js,修改为以下部署逻辑:
const hre = require("hardhat");

async function main() {
  const MyToken = await hre.ethers.getContractFactory("MyToken");
  // 部署时传入初始发行量(示例为1000个代币)
  const myToken = await MyToken.deploy(1000);

  await myToken.waitForDeployment();
  console.log(`代币合约已部署至:${await myToken.getAddress()}`);
}

main().catch((error) => {
  console.error(error);
  process.exitCode = 1;
});
  • 配置网络:打开 hardhat.config.js,添加测试网/主网配置(用本地私钥签名,无需在线钱包),也可配置本地私链(完全免费测试):
require("@nomicfoundation/hardhat-toolbox");

module.exports = {
  solidity: "0.8.20",
  networks: {
    // Sepolia测试网配置
    sepolia: {
      url: "https://sepolia.infura.io/v3/你的Infura项目ID", // 或Alchemy等节点服务的URL
      accounts: ["你的本地钱包私钥(绝对不要泄露或上传)"]
    },
    // 本地私链(用于免费测试)
    hardhat: {
      chainId: 1337
    }
  }
};
  • 本地私链测试:执行 npx hardhat node 启动本地节点,新开终端执行 npx hardhat run scripts/deploy.js --network hardhat,全程无Gas费用。

四、解决Gas费用过高问题

  • 手动设置Gas参数:在部署脚本中添加Gas价格和限额,避开网络拥堵时段:
const myToken = await MyToken.deploy(1000, {
  gasPrice: hre.ethers.parseUnits("20", "gwei"), // 自定义Gas价格为20Gwei
  gasLimit: 300000 // 设定足够ERC20部署的Gas限额
});
  • 预估Gas费用:执行 npx hardhat estimateGas --contract contracts/MyToken.sol --constructor-args 1000,提前知晓所需费用
  • 主网部署前,可通过ethers.js调用节点获取实时Gas价格,选择价格低谷时段部署

五、合约验证(可选)

若需在区块链浏览器上公开合约代码,执行 npx hardhat verify --network sepolia 合约地址 1000,需在Hardhat配置中添加Etherscan API密钥。

核心注意事项
  • 私钥必须本地离线保存,绝对不可泄露或上传至公共平台
  • 本地私链仅用于功能测试,代币无实际价值;测试网部署需先领取对应测试ETH
  • 主网部署前,务必在测试网完成多轮功能验证,避免合约漏洞

内容的提问来源于stack exchange,提问作者0x32

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 05:42:19