×
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] => 27762
[posts] => 445849
[todayposts] => 13
[yesterdayposts] => 492
[rank] => 2
[oldrank] => 2
[lastpost] => 2765079 稳定币:全球金融新秩序与我们的未来 1757701966 天策-瑶娥
[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] =>
)
当前离线
经验:
天策币:
活跃币:
策小分:
总在线: 209 小时
本月在线: 18 小时
|
|
本文章详细的讲解一个最基础的链上加密货币发行过程,期间也需要利用到几个工具(当然本文章最后有一键发行的工具,嫌麻烦的可以直接翻到最后使用工具)标准流程全解析8 b' f" ? z5 }! N
以太坊代币(ERC‑20)从开发到上链的最简标准流程(只讲开发与发行)示例使用以太坊兼容链 + Hardhat + OpenZeppelin,先部署到测试网(Sepolia),确认无误后再部署主网。; v" B% U. o- v9 ^; h$ r O
一、环境准备" w8 m1 X' y) A3 E. k6 a* ]
- 必备
, X! N5 f8 Q3 a3 ]- G: _- ≥ 18 与 npm- j' n% d/ z2 t: {8 o0 Z4 e. N: i
- 一个以太坊钱包(如 MetaMask)
+ e8 ?# c2 M( r) R8 c' `- 测试网 ETH(Sepolia Faucet 获取),主网部署需主网 ETH+ M% a/ h0 A! J8 R0 G
- RPC 节点(Alchemy/Infura/Ankr 等均可)
7 Z- M4 a* d7 X! w- X- 新建项目目录,例如:erc20-token,并进入该目录
; U- r3 i! I8 v5 \9 t二、安装与初始化
# O! c7 f, U6 K- 初始化项目
, H4 Q# ~+ n9 A$ O8 w( e$ \ X- npm init -y- P9 R! F `6 S. u8 l
- 安装依赖# D5 I) f; m5 H" x3 w8 u
- 开发工具:npm i -D hardhat @, Q: ^/ x+ ]* ?: R4 D) Y
nomicfoundation/hardhat-toolbox dotenv
# j7 K2 U: q9 ]. \- N% U( m. P- 合约库:npm i @openzeppelin/contracts
8 c! R0 @, }$ ^. d% y# u( u7 {& A- 初始化 Hardhat(可交互,也可手动建文件), y/ K7 N% v8 c/ n3 n; ^( U! F
- 交互方式:npx hardhat(选择 JavaScript 项目)
' }1 y6 z( `3 K/ Q }+ w! w- 或手动创建以下文件(见下一步)
8 m: |% r$ P# b3 g% q* K三、最小化项目结构与配置
k* \, K% l' Y2 R1 [2 v- 新建 (最小可用配置)' K4 R5 t9 L% g2 V
- 内容示例:
, V7 g" N' \4 l* i9 D6 O- require("@nomicfoundation/hardhat-toolbox");. }* J) S; ]. n! Y: x5 P
- require("dotenv").config();) C r% V3 G2 t: q, D3 L
- = {
1 v) e' s0 B0 e. h0 B" z: z* gsolidity: "0.8.24",
- ^. A8 x8 M! unetworks: {2 N7 T7 T2 ]5 `* R1 L" C1 ^8 i
sepolia: {
# P3 f7 M, V( w7 C7 q+ x( _4 Curl: .SEPOLIA_RPC_URL,2 G8 \' N# M4 O1 i: V
accounts: [.PRIVATE_KEY].filter(Boolean),; S6 p4 P9 f5 _' Q
},
2 D; a% T: X5 q4 ?0 e// mainnet: { url: .MAINNET_RPC_URL, accounts: [.PRIVATE_KEY].filter(Boolean) }* N) q+ X2 `7 c& k; c, V
},8 D3 _: S9 k4 b& t. I l% ^8 u: c
etherscan: {/ d1 [/ {! B6 D$ ]$ i* _7 J
apiKey:! }& K8 r" q" O; B) ^- J& x
.ETHERSCAN_API_KEY, // 可选:用于合约校验
. p8 F9 g9 M' f3 e- W2 c+ u},' g6 P9 {: V3 Q# v0 `
};5 o; ]& Q* L6 ~6 }) ~2 A
- 在项目根目录创建 .env,示例(请替换为你自己的值):$ U# s/ g0 h/ j6 y- [
- SEPOLIA_RPC_URL=
! N% L0 `" y+ O8 @% d; e- MAINNET_RPC_URL=
' r$ N c- U) s# e8 ]( Y' [! l- PRIVATE_KEY=你的私钥(0x开头,无空格)
6 h0 J( Q: i: |& f. V- ETHERSCAN_API_KEY=你的Etherscan API Key(可选,用于校验)' T. K S% O4 C+ I6 ~
四、编写标准 ERC‑20 合约
4 m3 n* m% p$ A. l1 c1 j- 在 contracts/ 目录下创建 ,示例代码:
' J! F1 w4 w* e$ x- pragma solidity ^0.8.20;
/ t Y& v0 y6 c1 G0 X9 Y3 `- import "@openzeppelin/contracts/token/ERC20/";
9 { M r& ]' g6 R o1 t5 p- contract MyToken is ERC20 {
5 p! D+ k/ v# ~, {9 Uconstructor(uint256 initialSupply) ERC20("MyToken", "MTK") {' D; ], c& G) ~2 P' _7 M
_mint(, initialSupply);
1 R6 x( s! T" X: @; X}
# f% x9 w5 T0 g ?5 j9 W}7 j$ o$ r( D6 R, I) W
- 说明
7 c. }9 s) F4 P, ]- 名称与符号可自定义(如 "MyToken" / "MTK")# w: e! L# l* k' P3 }; k
- initialSupply 为初始发行量(单位为最小单位 Wei,例如 18 位小数的代币需乘 10^18)
, p. {4 C6 S7 T% N6 U# j五、编写部署脚本
; {& c6 q a9 x/ [8 t1 r# ]1 E- d- 在 scripts/ 目录下创建 ,示例代码:1 z8 G; p2 r+ I3 S4 K7 L8 S6 w) O
- const { ethers } = require("hardhat");/ |9 c, L7 D7 t' W9 h4 y0 l3 G# y2 ^
- async function main() {, O3 m# g4 }/ O6 }: a; M. y! z2 M: R1 w
const initialSupply = ("100000000", 18); // 1亿枚,18位小数2 T2 s1 i( k; C9 g
const token = await ("MyToken", [initialSupply]);
& N5 O4 w* c8 e4 Y: z% Sawait ();
6 J m0 k" w) F* X("MyToken deployed to:", );
& U- e0 B9 a; X: N3 u6 i# u' N}% ]0 a7 S9 {' k ]
- main().catch((error) => {, B- [# h3 U3 t7 R: t1 p1 b
(error);
, R5 Z* C z& o! X) Q$ N. l, d ] = 1;
% v8 |4 q d$ h3 }});
4 ?) w# d9 m3 R: r0 p六、编译与部署到测试网(Sepolia)7 g2 p. i4 U- r" }) }1 T2 u
- 编译:npx hardhat compile4 G0 M1 F: K$ q& S
- 部署:npx hardhat run scripts/ --network sepolia
( v4 G+ h# u# \2 p: {- j- 运行成功会输出合约地址(MyToken deployed to: 0x...)) h8 W1 W3 u- L% P" p+ S5 \* \6 d
- 在区块浏览器()查询该地址,确认合约已上链6 N' t5 j( ]/ W# c/ Q1 o
七、可选:合约源码校验(便于他人查看源码与构造参数)
; j0 G! m2 o3 s! u- 命令:npx hardhat verify --network sepolia 合约地址 初始发行量(Wei)' e2 s3 |4 \3 G* x% e* C1 P
- 例:npx hardhat verify --network sepolia 0xYourTokenAddress7 |, L' ]6 t/ C& \6 f
1000000000000000000000000004 A8 z0 t% _# v3 P/ X" p9 Q
- 注意:这里的初始发行量需与部署脚本中的 initialSupply 完全一致(单位为 Wei)
& l* \( I( Y7 }6 P! V) h! i0 G八、在钱包中查看代币" r* ~9 @, I$ l. v* s8 D! H9 s
- 打开 MetaMask,选择对应网络(Sepolia 或主网)6 H/ t1 U4 h, |- K9 [* K/ D! U
- 选择“导入代币”,粘贴合约地址,确认代币符号与小数位(18)
. C+ x$ a' A% n! ~! W- 即可在钱包中看到初始发行的代币余额(在部署账户下)
) K' x! y1 M: y! i& v九、部署到主网(可选)
$ x. O1 |% ]/ R$ {+ ~6 X" e- 确保 .env 中配置 MAINNET_RPC_URL、PRIVATE_KEY,且钱包内有主网 ETH' L- X# D) U, J1 f
- 命令:npx hardhat run scripts/ --network mainnet9 J0 L9 i7 t. G
- 可用 Etherscan 校验:npx hardhat verify --network mainnet 合约地址 初始发行量(Wei)4 b2 s% P8 g, U4 O
十、常见问题与排查8 J/ U8 o: w9 s2 v+ d7 \+ s
- 部署报“insufficient funds for gas”:
5 x0 ?) P9 ^9 _- 账户没有足够 ETH(测试网/主网),先充值再部署- o+ P& `( v8 B7 f4 J: o- x
- Ethers 版本导致的方法差异:
: y8 B3 s4 }6 I4 q- {/ v- 本教程基于 ethers v6(Hardhat Toolbox 默认),使用
2 f: x; @6 B! o; [3 l- 私钥与 .env:
; A* H9 \4 ~; v8 [4 X; F- PRIVATE_KEY 必须以 0x 开头,无引号与空格" Q3 f* d' L7 C* u
- 确保 .gitignore 排除 .env,切勿泄露私钥6 Z4 |4 x" p7 D8 C4 s$ P; c
- 构造参数不一致导致校验失败:
2 H9 I, h7 b" E( S2 f- verify 命令的初始发行量(Wei)必须与部署时完全一致2 |$ F( @1 l9 N X
到这里,你已经完成了一个标准 ERC‑20 代币从“编写 → 编译 → 部署 →(可选)校验 → 钱包查看”的完整最小流程。若你需要把名称/符号/小数位做成可配置,或加入可增发/销毁、暂停等扩展权限。
+ k7 C g8 t' U, w ^ s下面是一键发币的工具;+ n, P: L3 U# a2 S, c) k
这个星辰发币是目前最好用的一个一键发币的工具( ),不需要授权,代码干净;最推荐。
7 R4 |8 q0 Z- y0 z W, Z1 h这个dajgh也还可以但是需要授权( ),授权会带来一些安全方面的风险。# A8 ^9 V' U6 Z$ [" G9 x
|
|
|
|
|
|
|
当前离线
经验:
天策币:
活跃币:
策小分:
总在线: 209 小时
本月在线: 18 小时
|
|
这玩意儿整起来还挺麻烦啊,不过一键发行工具倒是省事,懒人直接冲就完事了 |
|
|
|
|
|
|
当前离线
经验:
天策币:
活跃币:
策小分:
总在线: 15 小时
本月在线: 0 分钟
|
|
|
|
|
|
|
|
当前离线
经验:
天策币:
活跃币:
策小分:
总在线: 18 小时
本月在线: 0 分钟
|
|
|
|
|
|
|
|
当前离线
经验:
天策币:
活跃币:
策小分:
总在线: 34 小时
本月在线: 0 分钟
|
|
|
|
|
|
|
|
当前离线
经验:
天策币:
活跃币:
策小分:
总在线: 280 小时
本月在线: 2 小时
|
|
|
|
|
|
|
|
当前离线
经验:
天策币:
活跃币:
策小分:
总在线: 9 小时
本月在线: 0 分钟
|
|
|
|
|
|
|
|
当前离线
经验:
天策币:
活跃币:
策小分:
总在线: 48 小时
本月在线: 0 分钟
|
|
|
|
|
|
|
|
当前离线
经验:
天策币:
活跃币:
策小分:
总在线: 1 小时
本月在线: 0 分钟
|
|
|
|
|
|
|
|
当前离线
经验:
天策币:
活跃币:
策小分:
总在线: 46 小时
本月在线: 0 分钟
|
|
|
|
|
|
|
|
当前离线
经验:
天策币:
活跃币:
策小分:
总在线: 1 小时
本月在线: 0 分钟
|
|
|
|
|
|
|
|
当前离线
经验:
天策币:
活跃币:
策小分:
总在线: 275 小时
本月在线: 0 分钟
|
|
|
|
|
|
|
|
当前离线
经验:
天策币:
活跃币:
策小分:
总在线: 1 小时
本月在线: 0 分钟
|
|
|
|
|
|
|
|
当前离线
经验:
天策币:
活跃币:
策小分:
总在线: 3 小时
本月在线: 0 分钟
|
|
|
|
|
|
|
|
当前离线
经验:
天策币:
活跃币:
策小分:
总在线: 9 小时
本月在线: 0 分钟
|
|
方法最后一段话觉得是很有道理的,但是在我面前就难以实现,毕竟运程太差了。 |
|
|
|
|
|
|
当前离线
经验:
天策币:
活跃币:
策小分:
总在线: 131 小时
本月在线: 2 小时
|
|
|
|
|
|
|
|
当前离线
经验:
天策币:
活跃币:
策小分:
总在线: 11 小时
本月在线: 0 分钟
|
|
|
|
|
|
|
|