×
Array
(
[fid] => 6974
[description] => 专注于币圈最新最快资讯,数字货币应用及知识普及
[password] =>
[icon] => b1/common_6974_icon.png
[redirect] =>
[attachextensions] =>
[creditspolicy] => Array
(
[post] => Array
(
[usecustom] => 1
[cycletype] => 1
[cycletime] => 0
[rewardnum] => 5
[extcredits1] => 1
[extcredits2] => 1
[extcredits3] => 0
[extcredits4] => 0
[extcredits5] => 0
[extcredits6] => 0
[extcredits7] => 0
[extcredits8] => 0
[rid] => 1
[fid] => 6974
[rulename] => 发表主题
[action] => post
[fids] => 32,52,67,447,1120,1151,1156,6750,6762,6763,6766,6769,6772,6773,6787,6796,6808,6809,6810,6813,6814,6820,6829,6830,6846,6856,6864,6865,6827,6930,6931,6776,6858,6880,6764,6932,6871,6758,6905,1116,6788,6812,6798,6736,6759,6842,6966,6767,6828,6924,6935,6936,6938,6940,6941,6826,6909,6803,6919,6911,6908,6881,6920,6912,6913,6921,6925,6922,6789,6818,6819,6872,6928,6969,6889,6888,6917,6939,6947,6961,6937,6943,6970,6869,6900,6902,6783,6817,1111,6870,6821,6876,6952,6954,6960,6942,6910,6949,6962,6963,6964,6927,6926,6973,6728,6929,6874,6894,6896,6885,6857,6868,1113,6778,56,6844,6878,6802,6933,6811,6923,6877,6875,6918,6892,6757,6832,6833,6795,6793,6848,6837,6849,6850,6851,6852,6853,6854,6863,6882,6836,6790,6838,6794,6791,6873,555,6934,6958,6944,6945,6907,6779,6886,6950,6904,6956,6862,6957,6855,6955,6959,6914,6965,6971,6972,6953,6976,6824,6815,6891,6866,6979,6977,6765,6903,6948,6980,6981,6983,6799,6982,6951,6984,6975,6895,6845,6879,1121,6974
)
[reply] => Array
(
[usecustom] => 1
[cycletype] => 1
[cycletime] => 0
[rewardnum] => 0
[extcredits1] => 0
[extcredits2] => 1
[extcredits3] => 10
[extcredits4] => 0
[extcredits5] => 0
[extcredits6] => 0
[extcredits7] => 0
[extcredits8] => 0
[rid] => 2
[fid] => 6974
[rulename] => 发表回复
[action] => reply
[fids] => 32,52,67,447,1120,1151,1156,6750,6763,6766,6769,6772,6773,6787,6796,6808,6809,6810,6813,6814,6820,6829,6830,6846,6856,6864,6865,6827,6930,6931,6776,6858,6880,6764,6932,6871,6758,1116,6788,6812,6798,6736,6759,6842,6966,6767,6828,6924,6935,6936,6938,6940,6941,6826,6909,6803,6919,6911,6908,6881,6920,6912,6913,6921,6925,6922,6789,6818,6819,6872,6928,6969,6889,6888,6917,6939,6947,6961,6937,6943,6970,6869,6900,6902,6783,6817,1111,6870,6821,6876,6952,6954,6960,6942,6910,6949,6962,6963,6964,6927,6926,6973,6728,6929,6874,6894,6896,6885,6857,6868,1113,6778,56,6844,6878,6802,6933,6811,6923,6877,6875,6918,6892,6757,6832,6833,6795,6793,6848,6837,6849,6850,6851,6852,6853,6854,6863,6836,6790,6838,6794,6791,6873,555,6934,6958,6944,6945,6907,6779,6886,6950,6904,6956,6862,6957,6855,6955,6959,6914,6965,6971,6972,6953,6976,6824,6815,6891,6866,6979,6977,6765,6903,6948,6980,6981,6983,6799,6982,6951,6984,6975,6895,6845,6879,1121,6974
)
)
[formulaperm] => a:5:{i:0;s:0:"";i:1;s:0:"";s:7:"message";s:0:"";s:5:"medal";N;s:5:"users";s:0:"";}
[moderators] => 实习版主1
[rules] =>
[threadtypes] => Array
(
[required] => 1
[listable] => 1
[prefix] => 1
[types] => Array
(
[1590] => 论坛公告
[1752] => 公司优惠
[1603] => 虚拟币交流
[1753] => 数字钱包
[1754] => 虚拟币存提
[1755] => 交易所
[1655] => 虚拟币资讯
[1756] => 银行卡
[1757] => 第三方支付
[1760] => 币圈大佬
[1758] => 科技前沿
[1759] => 天策嗨聊
[1661] => 入驻合作
)
[icons] => Array
(
[1590] =>
[1752] =>
[1603] =>
[1753] =>
[1754] =>
[1755] =>
[1655] =>
[1756] =>
[1757] =>
[1760] =>
[1758] =>
[1759] =>
[1661] =>
)
[moderators] => Array
(
[1590] => 1
[1752] =>
[1603] =>
[1753] =>
[1754] =>
[1755] =>
[1655] =>
[1756] =>
[1757] =>
[1760] =>
[1758] =>
[1759] => 1
[1661] =>
)
)
[threadsorts] => Array
(
)
[viewperm] => 9 26 22 11 12 13 14 15 27 43 44 60 61 62 63 64 19 31 67 68 69 73 75 76 83 84 87 90 91 92 33 38 57 58 65 66 74 77 79 80 85 86 1 2 3 7 8
[postperm] => 22 11 12 13 14 15 27 43 44 60 61 62 63 64 19 67 68 69 73 75 76 83 84 87 90 91 92 33 38 57 58 65 66 74 77 79 80 85 86 1 2 3
[replyperm] => 26 22 11 12 13 14 15 27 43 44 60 61 62 63 64 19 67 68 69 73 75 76 83 84 87 90 91 92 33 38 57 58 65 66 74 77 79 80 85 86 1 2 3
[getattachperm] => 26 22 11 12 13 14 15 27 43 44 60 61 62 63 64 19 67 68 69 73 75 76 83 84 87 90 91 92 33 38 57 58 65 66 74 77 79 80 85 86 1 2 3
[postattachperm] => 26 22 11 12 13 14 15 27 43 44 60 61 62 63 64 19 67 68 69 73 75 76 83 84 87 90 91 92 33 38 57 58 65 66 74 77 79 80 85 86 1 2 3
[postimageperm] => 26 22 11 12 13 14 15 27 43 44 60 61 62 63 64 19 67 68 69 73 75 76 83 84 87 90 91 92 33 38 57 58 65 66 74 77 79 80 85 86 1 2 3
[spviewperm] =>
[seotitle] =>
[keywords] =>
[seodescription] =>
[supe_pushsetting] =>
[modrecommend] => Array
(
[open] => 0
[num] => 10
[imagenum] => 0
[imagewidth] => 300
[imageheight] => 250
[maxlength] => 0
[cachelife] => 0
[dateline] => 0
)
[threadplugin] => Array
(
)
[replybg] =>
[extra] => a:2:{s:9:"namecolor";s:0:"";s:9:"iconwidth";s:2:"60";}
[jointype] => 0
[gviewperm] => 0
[membernum] => 0
[dateline] => 0
[lastupdate] => 0
[activity] => 0
[founderuid] => 0
[foundername] =>
[banner] =>
[groupnum] => 0
[commentitem] =>
[relatedgroup] =>
[picstyle] => 0
[widthauto] => 0
[noantitheft] => 0
[noforumhidewater] => 0
[noforumrecommend] => 0
[livetid] => 0
[price] => 0
[fup] => 6729
[type] => forum
[name] => 虚拟币讨论大厅
[status] => 1
[displayorder] => 3
[styleid] => 0
[threads] => 27599
[posts] => 442645
[todayposts] => 6
[yesterdayposts] => 1428
[rank] => 2
[oldrank] => 2
[lastpost] => 2762871 a16z 给 Web3 创业者的真话:下个十年,Web3 创业要盯住这三件事 1757348985 天策-瑶娥
[domain] =>
[allowsmilies] => 1
[allowhtml] => 1
[allowbbcode] => 1
[allowimgcode] => 1
[allowmediacode] => 0
[allowanonymous] => 0
[allowpostspecial] => 21
[allowspecialonly] => 0
[allowappend] => 0
[alloweditrules] => 1
[allowfeed] => 0
[allowside] => 0
[recyclebin] => 1
[modnewposts] => 2
[jammer] => 1
[disablewatermark] => 0
[inheritedmod] => 0
[autoclose] => 0
[forumcolumns] => 3
[catforumcolumns] => 0
[threadcaches] => 0
[alloweditpost] => 1
[simple] => 16
[modworks] => 1
[allowglobalstick] => 1
[level] => 0
[commoncredits] => 0
[archive] => 0
[recommend] => 0
[favtimes] => 0
[sharetimes] => 0
[disablethumb] => 0
[disablecollect] => 0
[ismoderator] => 0
[threadtableid] => 0
[allowreply] =>
[allowpost] =>
[allowpostattach] =>
)
当前离线
经验:
天策币:
活跃币:
策小分:
总在线: 202 小时
本月在线: 10 小时
|
|
本文章详细的讲解一个最基础的链上加密货币发行过程,期间也需要利用到几个工具(当然本文章最后有一键发行的工具,嫌麻烦的可以直接翻到最后使用工具)标准流程全解析
6 ~0 B4 s0 X% U9 n" Z以太坊代币(ERC‑20)从开发到上链的最简标准流程(只讲开发与发行)示例使用以太坊兼容链 + Hardhat + OpenZeppelin,先部署到测试网(Sepolia),确认无误后再部署主网。8 G5 ]% o1 I/ C. [ j: d9 h2 w
一、环境准备; a% T4 a0 `# B- \' W
- 必备' ~. X) r( \- |9 i3 c- Z
- ≥ 18 与 npm
$ ~ f% @ l% d- 一个以太坊钱包(如 MetaMask)! N) L5 c; `4 Z; X- N/ Y4 `. S
- 测试网 ETH(Sepolia Faucet 获取),主网部署需主网 ETH( w! {& N4 Y. g% `# ^: I% s
- RPC 节点(Alchemy/Infura/Ankr 等均可)
4 R1 ^2 x. K0 X4 ]3 h- 新建项目目录,例如:erc20-token,并进入该目录
C: z: }( u' _. E" p( ?二、安装与初始化+ J7 I" ?" k `. C7 f i. n: X
- 初始化项目- D3 `- U+ g; H2 A* C5 H8 V5 N% T
- npm init -y
* K/ k C" s9 O- 安装依赖
8 Y1 t5 H8 G3 P, h0 |- 开发工具:npm i -D hardhat @
6 |6 Y- _9 [! D' m2 knomicfoundation/hardhat-toolbox dotenv( w1 G6 Q* W# y
- 合约库:npm i @openzeppelin/contracts+ Q& X1 O+ D$ o0 U/ d% o
- 初始化 Hardhat(可交互,也可手动建文件)
$ V( C! W+ Y. {* @! a) [ W, P- 交互方式:npx hardhat(选择 JavaScript 项目); L2 i# u- M7 _$ F# H' N
- 或手动创建以下文件(见下一步)' n$ ^0 I7 A+ E) l7 s! U
三、最小化项目结构与配置
9 S: s t4 X3 z; x2 D2 J- 新建 (最小可用配置)* T4 N0 `1 n$ u1 ~5 I2 }
- 内容示例:
* r" ^; _3 \7 x- require("@nomicfoundation/hardhat-toolbox");+ ]/ A: y( F" \( `0 E# k1 U2 W
- require("dotenv").config();
: |/ J& |$ I) M( n2 m/ a& E" W- = {
( u# W) B9 a5 U1 Z6 Y4 W8 `% ~- A0 Wsolidity: "0.8.24",
" b& Y9 W$ Z9 O' Y# p7 X" `networks: {
5 E# w7 [3 L% u7 E( ^5 \6 dsepolia: {
3 [" R& e0 b" @" ^$ Y! H4 curl: .SEPOLIA_RPC_URL,5 X% ~8 \+ U8 a) A, N, `, K
accounts: [.PRIVATE_KEY].filter(Boolean),7 `: c; g. \# @
}, |- b# x4 H# `+ i! J4 [1 C
// mainnet: { url: .MAINNET_RPC_URL, accounts: [.PRIVATE_KEY].filter(Boolean) }
. `1 A- m3 q7 S},4 M5 N" m+ r0 v1 }. R
etherscan: { k0 @& D/ s3 J5 } g6 t; x2 r
apiKey:
0 W) |$ @' S1 L' c+ R.ETHERSCAN_API_KEY, // 可选:用于合约校验/ J- ^; E5 T) u7 p! R i, o
},
3 r7 _: |6 r, u* H9 U};
+ W/ A% \& [* }0 T; }) H- 在项目根目录创建 .env,示例(请替换为你自己的值): Q# X- X3 K7 }$ p3 e# }
- SEPOLIA_RPC_URL=4 b* y3 g* G3 `. W# B% n
- MAINNET_RPC_URL=
; `! j% b6 D5 P- PRIVATE_KEY=你的私钥(0x开头,无空格)
, y% d% C3 K: a6 j& D$ Z9 j- ETHERSCAN_API_KEY=你的Etherscan API Key(可选,用于校验)# Y- g4 @& V" a {) ~
四、编写标准 ERC‑20 合约: Y8 l' {2 o9 Q) B) E
- 在 contracts/ 目录下创建 ,示例代码:, o* u7 E0 V, d# a4 T
- pragma solidity ^0.8.20;
& g: @- p- \/ j2 `( f4 \- import "@openzeppelin/contracts/token/ERC20/";& b3 l0 @: _: B3 j
- contract MyToken is ERC20 {
( i* m+ {5 |2 Gconstructor(uint256 initialSupply) ERC20("MyToken", "MTK") {1 D$ R) v% @) g% s( ^
_mint(, initialSupply);1 {* p+ O0 x( f$ e3 y, T
}
8 M+ y) R4 Z W1 }7 T) Y' D}( G7 |/ o. i5 [9 V
- 说明
1 O# e; D% X8 e0 F5 d7 S" e- 名称与符号可自定义(如 "MyToken" / "MTK")! q# V, U" }" h4 s* `( @
- initialSupply 为初始发行量(单位为最小单位 Wei,例如 18 位小数的代币需乘 10^18)9 s% p! E7 x' c; ?
五、编写部署脚本
- _5 a! n" D+ h+ h" O' Y4 `- 在 scripts/ 目录下创建 ,示例代码:
/ L) n/ m& `+ r- const { ethers } = require("hardhat");
2 v+ u% Z' \8 l4 u n$ `' A4 Q- async function main() {
/ Y7 X7 d' R1 `* w; v2 Nconst initialSupply = ("100000000", 18); // 1亿枚,18位小数
: K' g2 r/ z: Z3 _1 {; L! Iconst token = await ("MyToken", [initialSupply]);9 t! G9 x4 e! @+ U: i
await ();
; ?) M) L* w0 V$ l("MyToken deployed to:", );! s: }% N! k. K$ _2 G0 [$ t# w% c6 T
}
- z( M$ U) C' B- main().catch((error) => {
C$ t4 I3 }: d1 t% K(error);
* b7 U4 X- e: \; N, A( p = 1;
2 |0 S7 T0 O3 E$ f% j3 p; Q});
9 |3 y! f' O( ]) Q w; L7 { q六、编译与部署到测试网(Sepolia)+ g1 ^$ d' O. G6 k" L8 W
- 编译:npx hardhat compile4 u9 ^: n6 w1 S- e
- 部署:npx hardhat run scripts/ --network sepolia
% I2 t! |: M0 f3 Y& Z7 R; V- 运行成功会输出合约地址(MyToken deployed to: 0x...)
9 _% G+ B6 t0 b7 |- 在区块浏览器()查询该地址,确认合约已上链) e7 p! D# D: r4 }; F7 i
七、可选:合约源码校验(便于他人查看源码与构造参数)
# N" t S) ^; Y4 ^" _: M- 命令:npx hardhat verify --network sepolia 合约地址 初始发行量(Wei)( Z/ p; |3 J: [! i
- 例:npx hardhat verify --network sepolia 0xYourTokenAddress6 z& n7 M; \" P7 t$ L
100000000000000000000000000
2 I; w8 [5 c# r. X5 x$ W- 注意:这里的初始发行量需与部署脚本中的 initialSupply 完全一致(单位为 Wei)% n# r+ o/ O2 l; f+ l4 S4 }
八、在钱包中查看代币
6 W5 L) Z! Z% w! {9 Q% ^+ [- 打开 MetaMask,选择对应网络(Sepolia 或主网)/ E) W4 m; x9 K+ d
- 选择“导入代币”,粘贴合约地址,确认代币符号与小数位(18)
* j$ A7 @8 m/ s1 [1 h! H! o- 即可在钱包中看到初始发行的代币余额(在部署账户下)
6 X3 x, s9 ]5 t) S九、部署到主网(可选)
& g9 }+ x F2 V, b% {) l1 N- 确保 .env 中配置 MAINNET_RPC_URL、PRIVATE_KEY,且钱包内有主网 ETH
4 m G1 B( y% [& U4 x# R: g! A7 A, P' |- 命令:npx hardhat run scripts/ --network mainnet
- L, J! A' ^6 y' ?- 可用 Etherscan 校验:npx hardhat verify --network mainnet 合约地址 初始发行量(Wei) i& k- k# Z+ Y" q
十、常见问题与排查$ `: {: L# W& T& h2 n! {4 y7 }9 U
- 部署报“insufficient funds for gas”:
: F4 h1 s* ~& x* o- 账户没有足够 ETH(测试网/主网),先充值再部署: F' } y) h% L% D E! E
- Ethers 版本导致的方法差异:* D9 b v1 m3 x) I9 f" z9 F6 V) u3 l
- 本教程基于 ethers v6(Hardhat Toolbox 默认),使用
; h% Y! l& L* l8 v) k- 私钥与 .env:
. ^% q+ L# j& p/ N/ e5 x4 x- PRIVATE_KEY 必须以 0x 开头,无引号与空格) _' D% o, D: p# I" E2 p
- 确保 .gitignore 排除 .env,切勿泄露私钥4 @4 e4 [; N) \/ z8 J
- 构造参数不一致导致校验失败:% {# C8 B3 h. S: X, B: t4 l
- verify 命令的初始发行量(Wei)必须与部署时完全一致# K, |8 m* \. Q) E3 L3 J, T3 F
到这里,你已经完成了一个标准 ERC‑20 代币从“编写 → 编译 → 部署 →(可选)校验 → 钱包查看”的完整最小流程。若你需要把名称/符号/小数位做成可配置,或加入可增发/销毁、暂停等扩展权限。5 Y! R. h5 Y6 @4 o
下面是一键发币的工具;
T; |8 `% m' c这个星辰发币是目前最好用的一个一键发币的工具( ),不需要授权,代码干净;最推荐。
' a& W- W( @' c+ Y1 R这个dajgh也还可以但是需要授权( ),授权会带来一些安全方面的风险。
- Y/ `1 T9 Z& I. p6 D |
|
|
|
|
|
|
当前离线
经验:
天策币:
活跃币:
策小分:
总在线: 19229 小时
本月在线: 32 小时
|
|
|
|
|
|
|
|
当前离线
经验:
天策币:
活跃币:
策小分:
总在线: 2869 小时
本月在线: 11 小时
|
|
|
|
|
|
|
|
当前离线
经验:
天策币:
活跃币:
策小分:
总在线: 13332 小时
本月在线: 31 小时
|
|
|
|
|
|
|
|
当前离线
经验:
天策币:
活跃币:
策小分:
总在线: 125 小时
本月在线: 1 小时
|
|
|
|
|
|
|
|
当前离线
经验:
天策币:
活跃币:
策小分:
总在线: 11 小时
本月在线: 0 分钟
|
|
|
|
|
|
|
|
当前离线
经验:
天策币:
活跃币:
策小分:
总在线: 19 小时
本月在线: 0 分钟
|
|
|
|
|
|
|
|
当前离线
经验:
天策币:
活跃币:
策小分:
总在线: 30 分钟
本月在线: 0 分钟
|
|
|
|
|
|
|
|
当前离线
经验:
天策币:
活跃币:
策小分:
总在线: 45 分钟
本月在线: 0 分钟
|
|
|
|
|
|
|
|
当前离线
经验:
天策币:
活跃币:
策小分:
总在线: 11 小时
本月在线: 0 分钟
|
|
|
|
|
|
|
|
当前离线
经验:
天策币:
活跃币:
策小分:
总在线: 3 小时
本月在线: 0 分钟
|
|
|
|
|
|
|
|
当前离线
经验:
天策币:
活跃币:
策小分:
总在线: 357 小时
本月在线: 0 分钟
|
|
|
|
|
|
|
|
当前离线
经验:
天策币:
活跃币:
策小分:
总在线: 19 小时
本月在线: 0 分钟
|
|
|
|
|
|
|
|
当前离线
经验:
天策币:
活跃币:
策小分:
总在线: 45 分钟
本月在线: 0 分钟
|
|
|
|
|
|
|
|
当前离线
经验:
天策币:
活跃币:
策小分:
总在线: 45 分钟
本月在线: 0 分钟
|
|
|
|
|
|
|
|
当前离线
经验:
天策币:
活跃币:
策小分:
总在线: 2 小时
本月在线: 0 分钟
|
|
|
|
|
|
|
|
当前离线
经验:
天策币:
活跃币:
策小分:
总在线: 34 小时
本月在线: 0 分钟
|
|
|
|
|
|
|
|