Solidity开发ERC20智能合约demo及部署到测试网

智能合约 SampleToken.sol:

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;

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

contract SampleToken is ERC20 {
    constructor(uint256 initialSupply) ERC20("SampleToken", "SMT") {
        _mint(msg.sender, initialSupply * 10 ** decimals());
    }
}

部署脚本:deploy.js

const hre = require("hardhat");

async function main() {
  const initialSupply = 1000000;
  
  // 获取合约工厂
  const SampleToken = await hre.ethers.getContractFactory("SampleToken");
  
  // 部署合约
  const token = await SampleToken.deploy(initialSupply);
  
  // 等待部署确认
  await token.waitForDeployment();
  
  // 获取合约地址
  const tokenAddress = await token.getAddress();
  console.log(`Token deployed to: ${tokenAddress}`);
}

main().catch((error) => {
  console.error(error);
  process.exitCode = 1;
});

测试网:sepolia

posted @ 2025-08-06 11:33  daviyoung  阅读(17)  评论(0)    收藏  举报