关键词:以太坊、ERC-20 代币、智能合约、Remix 编辑器、MetaMask、以太币、数字转型、去中心化、Gas 费用、区块链开发
从星巴克积分到航空里程,数字代币已在无形中重塑商业模型。在以太坊上发行自己的代币,不再是技术巨头的专利。本文用 1 小时即可落地的实战教程,手把手教你完成智能合约编写、安全库添加、测试网部署,并将代币安全装进钱包。全程零广告、零额外插件,适合渴望快速 数字转型 的中小企业与个人创作者。
为什么选择以太坊与 ERC-20 标准?
- 全球兼容:所有支持以太坊的钱包、交易所、浏览器插件都能直接识别 ERC-20,无需二次开发。
- 开发者友好:Solidity 语法贴近 JavaScript,智能合约可插拔复用,社区庞大、文档完善。
- 生态丰富:Uniswap、OpenSea 等主流协议均可直接接入,为代币提供交易场景与流动性。
在 15 分钟内创建你的 ERC-20 代币
第 1 步:打开 Remix 并建立接口
- 浏览器访问 https://remix.ethereum.org 在线编辑器。
- 新建文件
JasonToken.sol,粘贴下列接口代码:
pragma solidity ^0.5.0;
interface ERC20Interface {
function totalSupply() external view returns (uint256);
function balanceOf(address tokenOwner) external view returns (uint256 balance);
function allowance(address tokenOwner, address spender) external view returns (uint256 remaining);
function transfer(address to, uint256 tokens) external returns (bool success);
function approve(address spender, uint256 tokens) external returns (bool success);
function transferFrom(address from, address to, uint256 tokens) external returns (bool success);
event Transfer(address indexed from, address indexed to, uint256 tokens);
event Approval(address indexed tokenOwner, address indexed spender, uint256 tokens);
}这段 ERC-20 接口 定义了所有代币必须实现的方法,是“合规证书”的核心。
第 2 步:引入 SafeMath 安全运算库
在接口下方继续添加 SafeMath,防止常见的整数溢出问题:
contract SafeMath {
function safeAdd(uint a, uint b) public pure returns (uint c) {
c = a + b;
require(c >= a);
}
function safeSub(uint a, uint b) public pure returns (uint c) {
require(b <= a);
c = a - b;
}
function safeMul(uint a, uint b) public pure returns (uint c) {
c = a * b;
require(a == 0 || c / a == b);
}
function safeDiv(uint a, uint b) public pure returns (uint c) {
require(b > 0);
c = a / b;
}
}编写主合约:发行 5000 万枚 “JasonToken”
在 SafeMath 后继续补充完整逻辑:
contract JasonToken is ERC20Interface, SafeMath {
string public name;
string public symbol;
uint8 public decimals;
uint256 public _totalSupply;
mapping(address => uint256) balances;
mapping(address => mapping(address => uint256)) allowed;
constructor() public {
name = "JasonToken";
symbol = "JAS";
decimals = 1;
_totalSupply = 50000000 * 10**uint256(decimals);
balances[msg.sender] = _totalSupply;
emit Transfer(address(0), msg.sender, _totalSupply);
}
function totalSupply() public view returns (uint256) {
return _totalSupply - balances[address(0)];
}
function balanceOf(address tokenOwner) public view returns (uint256 balance) {
return balances[tokenOwner];
}
function allowance(address tokenOwner, address spender) public view returns (uint256 remaining) {
return allowed[tokenOwner][spender];
}
function approve(address spender, uint256 tokens) public returns (bool success) {
allowed[msg.sender][spender] = tokens;
emit Approval(msg.sender, spender, tokens);
return true;
}
function transfer(address to, uint256 tokens) public returns (bool success) {
balances[msg.sender] = safeSub(balances[msg.sender], tokens);
balances[to] = safeAdd(balances[to], tokens);
emit Transfer(msg.sender, to, tokens);
return true;
}
function transferFrom(address from, address to, uint256 tokens) public returns (bool success) {
balances[from] = safeSub(balances[from], tokens);
allowed[from][msg.sender] = safeSub(allowed[from][msg.sender], tokens);
balances[to] = safeAdd(balances[to], tokens);
emit Transfer(from, to, tokens);
return true;
}
}合约执行后,全部 5 千万枚 以太币 等值代币将一次性打入部署者地址,实现“一键发币”。
Goerli 测试网完整部署流程
- 打开 MetaMask → Settings → Networks → 添加 Goerli 测试网(若无测试网 ETH,可用 权威水龙头 领取)。
- 回到 Remix → Deploy & Run → Environment 选 Injected Provider,确认连接 MetaMask。
- 在 Contract 下拉菜单里选中 JasonToken,点击 Deploy。弹出 MetaMask 交易 → 确认。
- 链上确认后,复制交易哈希 → 前往 Etherscan Goerli 查询详情。
部署成功后,你的钱包资产中将直接出现 Token 名称,可用于转账、兑换,甚至上架去中心化交易所。
代币如何服务于企业数字转型?
- 忠诚度积分 2.0:将传统积分链上化,用户能在二级市场兑换,带来流动性和真实需求。
- 会员通证(NFT & 代币双轨):代币充当面额,NFT 作为会员卡,层级权益直接映射到智能合约代码。
- 供应链透明度:在公共链上发布每一轮次代币,对应可查的物流、交易量数据,增强品牌可信度。
想更深一步?BigNFT 估值、单体经济模型(token economics)是许多创业者落下的必修课。👉 点击全面了解数字转型案例库与进阶指导
常见问题 FAQ
Q1:ERC-20 和 ERC-721 到底有什么区别?
A:简单地说,ERC-20 是可拆分、同质的“货币”;ERC-721 是不可拆分、每个独一无二的“文物”或作品。同样运行在以太坊,但面向场景不同。
Q2:发币后一定能上交易所吗?
A:并不自动。去中心化交易所如 Uniswap 任何人都能建池,无需审核;中心化交易所需要 KYC、审计报告及市场深度。建议先用 DEX 验证流量。
Q3:Solidity 0.5 太老,升级会不会炸?
A:旧版本代码在测试网仍有效,若与未来主网生态交互,可使用最新 0.8.x,只需把 SafeMath 去掉(自带溢出检查),合约结构几乎不改。
Q4:Gas 贵到天价怎么办?
A:部署测试网和正式网都要考虑 Gas Tracker 高峰期。推荐使用 L2 方案(Optimism、Arbitrum)或侧链(Polygon),或者等待以太坊 Merge 后的升级红利。
Q5:普通企业如何快速科普团队?
A:把这条 1 小时教程跑通,让技术同事亲手转一笔代币,任何业务方 5 分钟就能看懂“区块链钱包余额=过去 Excel 里的积分字段”。
风险提示与最佳实践
- 安全审计不可省:过去几年,约 80% 代币事故源自运算越界或权限控制失误,请务必做第三方审计或用标准化模板。
- KYC 与合规:中国大陆地区个人项目需要留意 代币融资 的合规边界,切勿公开募资或承诺收益。
- 真实场景优先:不要为发行而发行,先找 100 个实际用户测试,再扩散至 1 万个钱包。
👉 若想进一步学习代币可组合玩法与实战代码,点此直达进阶通道
你已在 Goerli 释放了第一笔 以太坊 代币。下一步,把它带到真正的商业场景:积分、门票或版权分成,缺口只等一个靠谱的应用场景。祝项目长虹,代码无忧!