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] => 29953
[posts] => 486745
[todayposts] => 215
[yesterdayposts] => 175
[rank] => 2
[oldrank] => 2
[lastpost] => 2812705 比特币近日大力反弹 但紧张不安的期权交易员未被说服(转) 1773057208 爱美的女人
[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] =>
)
当前离线
经验:
天策币:
活跃币:
策小分:
总在线: 373 小时
本月在线: 9 小时
|
|
本文章详细的讲解一个最基础的链上加密货币发行过程,期间也需要利用到几个工具(当然本文章最后有一键发行的工具,嫌麻烦的可以直接翻到最后使用工具)标准流程全解析 W+ u4 C; L! R+ g( Q6 b
以太坊代币(ERC‑20)从开发到上链的最简标准流程(只讲开发与发行)示例使用以太坊兼容链 + Hardhat + OpenZeppelin,先部署到测试网(Sepolia),确认无误后再部署主网。
! L# }- [% t) @' N4 I一、环境准备7 w! h) I! b3 p6 P5 y$ D
- 必备* c* g K/ {& \. X
- ≥ 18 与 npm
; i$ W# D4 ?: v0 g- 一个以太坊钱包(如 MetaMask)
* A7 B; ?3 G5 \- P$ p- 测试网 ETH(Sepolia Faucet 获取),主网部署需主网 ETH
$ a! e. p& r$ _* G3 n- RPC 节点(Alchemy/Infura/Ankr 等均可)9 U6 B" x7 _8 p- q" j
- 新建项目目录,例如:erc20-token,并进入该目录
3 e1 @" `3 {7 A# O& n二、安装与初始化
" S( D3 E4 g1 z/ b: \, J5 D; x- 初始化项目
* v" B/ L# W0 a( w- t- npm init -y/ Q1 O- d4 d6 P* M% v3 Q
- 安装依赖5 s2 ]& _. u) \- q
- 开发工具:npm i -D hardhat @) ]* d/ X2 M6 y; y8 w
nomicfoundation/hardhat-toolbox dotenv
6 u, a2 P7 G: U( Z/ Y1 k7 \# W% \- 合约库:npm i @openzeppelin/contracts7 N& i, T8 j" Z: J O
- 初始化 Hardhat(可交互,也可手动建文件)
; K- O; c( i6 T# h6 B- v- 交互方式:npx hardhat(选择 JavaScript 项目)% m# ]1 j! n0 j- x
- 或手动创建以下文件(见下一步)# G- m5 ?4 s* R) P
三、最小化项目结构与配置2 U9 a6 g9 E E- z$ U3 Q+ Y; {
- 新建 (最小可用配置)7 M2 y& y S* \- @# [+ u+ ^; \
- 内容示例:
) q# m* Z; i) L1 k. c- require("@nomicfoundation/hardhat-toolbox");+ l8 A2 i5 m1 A
- require("dotenv").config();& F* h9 L# R- x7 @' R& K4 }8 M, K
- = {" |$ u- U: y1 J* i; X' p! ^
solidity: "0.8.24",+ l3 p) f9 T* R" W
networks: {0 I- o. v5 F; B8 _
sepolia: {% d4 L% w4 a( {; w e! y
url: .SEPOLIA_RPC_URL,5 T% S- ^5 R! D) {' h$ F$ Z/ }7 d
accounts: [.PRIVATE_KEY].filter(Boolean),
7 B% U/ w$ M* f) r2 n. V) h) q}," ^# C, O% i+ s" S& {% y$ g
// mainnet: { url: .MAINNET_RPC_URL, accounts: [.PRIVATE_KEY].filter(Boolean) }8 `7 w U$ j$ k o; y" n
},
( L1 Y8 X0 t5 N, ketherscan: {
, `/ I, Z7 V; t* t! P' y4 d' xapiKey:
7 f. I- B1 B7 F& g4 }.ETHERSCAN_API_KEY, // 可选:用于合约校验
. X4 Z3 F! K+ M},
X6 h: z' j' o6 P$ V( `) e# l};- D: f$ V. {; Y$ d; I2 u9 X1 |
- 在项目根目录创建 .env,示例(请替换为你自己的值):' s0 r- p* D1 _8 B% N9 ]5 @" l& g
- SEPOLIA_RPC_URL=
4 E7 {5 v4 I- y6 d: M9 R- MAINNET_RPC_URL=
4 A, f$ d( C" \1 i- PRIVATE_KEY=你的私钥(0x开头,无空格), ?& z7 F) o- Q: ~" M3 T' `
- ETHERSCAN_API_KEY=你的Etherscan API Key(可选,用于校验)9 X4 Y' l8 c+ Q$ R9 o
四、编写标准 ERC‑20 合约
, J0 j3 v3 \5 A1 }- 在 contracts/ 目录下创建 ,示例代码:
- G; G9 G' `1 e- pragma solidity ^0.8.20;
; e' p0 W# M; z" M4 `- r) T- import "@openzeppelin/contracts/token/ERC20/";# p( x9 y! T3 L; [1 [% ^1 q/ b
- contract MyToken is ERC20 {
$ k d. a3 \% F+ h' L' O% G" rconstructor(uint256 initialSupply) ERC20("MyToken", "MTK") {$ t+ F, M4 a8 `1 G4 f4 n
_mint(, initialSupply);
, r' J" v3 u: u) D( u, t}. r0 C( u0 |& d
}5 K9 I1 _. ^2 C3 l
- 说明$ S* `1 n8 _, p4 c. p+ r
- 名称与符号可自定义(如 "MyToken" / "MTK")5 \; j' I+ c$ c: M* ]
- initialSupply 为初始发行量(单位为最小单位 Wei,例如 18 位小数的代币需乘 10^18)
2 L5 s) e; B) A2 G: q五、编写部署脚本
2 V6 W" i9 D1 q1 Z! ^- 在 scripts/ 目录下创建 ,示例代码:
6 r* I1 O2 x. {, b2 `- const { ethers } = require("hardhat");/ q7 u, G3 P1 m
- async function main() {+ L% N* B1 @6 [9 x
const initialSupply = ("100000000", 18); // 1亿枚,18位小数
' d: `. L2 d; S% s: \5 kconst token = await ("MyToken", [initialSupply]);) g* o8 n% W4 X8 g* u) {' Z+ N( n
await ();
' X0 S% {5 m! K# p. F("MyToken deployed to:", );. }8 g5 C! N3 C
}
+ `% d* b* G& z- main().catch((error) => {
8 I" n$ f) t" T. q+ V2 Q(error);
`) m* I& F6 @: B9 c* D- b6 } = 1;
, E7 u0 D6 b, l5 u5 f});; Z% M) L5 A5 U- a9 G3 {3 H
六、编译与部署到测试网(Sepolia)
4 b( G! z. x) c4 W- 编译:npx hardhat compile! R/ a$ L$ _7 s7 }; D
- 部署:npx hardhat run scripts/ --network sepolia
# A4 p; M9 E: n' @; v4 w+ A- 运行成功会输出合约地址(MyToken deployed to: 0x...)' U% H' u: J& h7 r/ X0 B
- 在区块浏览器()查询该地址,确认合约已上链
1 q7 N0 m/ I" h, A1 g1 E* r七、可选:合约源码校验(便于他人查看源码与构造参数)
3 N) G6 @+ o+ z1 j) v- 命令:npx hardhat verify --network sepolia 合约地址 初始发行量(Wei)) L: x. z3 Y( S, G
- 例:npx hardhat verify --network sepolia 0xYourTokenAddress( _5 x; C/ b$ D. o5 ~* z5 |1 I
100000000000000000000000000; L0 m5 \) E3 h5 G. Z& ^
- 注意:这里的初始发行量需与部署脚本中的 initialSupply 完全一致(单位为 Wei)+ }5 F0 O, m$ H% g' Z6 F
八、在钱包中查看代币% S9 l% ^; R0 S4 E
- 打开 MetaMask,选择对应网络(Sepolia 或主网)6 h' a& P t& P" S4 Y$ H
- 选择“导入代币”,粘贴合约地址,确认代币符号与小数位(18)
' l# D: ` a' w5 q. u- 即可在钱包中看到初始发行的代币余额(在部署账户下)
2 l" P8 x4 l$ x- q; b6 Q九、部署到主网(可选)9 ^/ G% p* F/ l y
- 确保 .env 中配置 MAINNET_RPC_URL、PRIVATE_KEY,且钱包内有主网 ETH
! q1 Z' d: k6 m$ z2 U; x- 命令:npx hardhat run scripts/ --network mainnet/ z! m9 t6 T3 b; z3 W
- 可用 Etherscan 校验:npx hardhat verify --network mainnet 合约地址 初始发行量(Wei)
: C' H) x% y% \3 F3 _. f十、常见问题与排查0 a6 O+ n! Q4 E/ G' v
- 部署报“insufficient funds for gas”:* T! e$ f' p0 r1 L$ b& c b
- 账户没有足够 ETH(测试网/主网),先充值再部署
; ?5 d& k# M+ C- H- Ethers 版本导致的方法差异:, Y; E6 N, U7 v
- 本教程基于 ethers v6(Hardhat Toolbox 默认),使用 ; w% q$ Z1 \* K& f4 k( K6 r2 I& S
- 私钥与 .env:* l1 V6 I' N5 ?; ?$ U$ G% l* m
- PRIVATE_KEY 必须以 0x 开头,无引号与空格1 I4 ?# d2 C9 n
- 确保 .gitignore 排除 .env,切勿泄露私钥
/ y. d- p1 T1 g- R0 G- 构造参数不一致导致校验失败:
* d- V6 r3 N: s* v- verify 命令的初始发行量(Wei)必须与部署时完全一致+ a5 q- C3 ^# Z) [) N& M) \
到这里,你已经完成了一个标准 ERC‑20 代币从“编写 → 编译 → 部署 →(可选)校验 → 钱包查看”的完整最小流程。若你需要把名称/符号/小数位做成可配置,或加入可增发/销毁、暂停等扩展权限。& V1 [- V& Z; w) s- D& N
下面是一键发币的工具;
1 S# c# `2 m) b& J; j, e这个星辰发币是目前最好用的一个一键发币的工具( ),不需要授权,代码干净;最推荐。: O! p: m3 [8 G- t8 |/ N1 f. K( a
这个dajgh也还可以但是需要授权( ),授权会带来一些安全方面的风险。- s# C$ c, D; S$ x. S: S
|
|
|
|
|
|
|
|
|
当前离线
经验:
天策币:
活跃币:
策小分:
总在线: 373 小时
本月在线: 9 小时
|
|
|
这玩意儿整起来还挺麻烦啊,不过一键发行工具倒是省事,懒人直接冲就完事了 |
|
|
|
|
|
|
|
|
当前离线
经验:
天策币:
活跃币:
策小分:
总在线: 15 小时
本月在线: 0 分钟
|
|
|
|
|
|
|
|
|
|
当前离线
经验:
天策币:
活跃币:
策小分:
总在线: 18 小时
本月在线: 0 分钟
|
|
|
|
|
|
|
|
|
|
当前离线
经验:
天策币:
活跃币:
策小分:
总在线: 34 小时
本月在线: 0 分钟
|
|
|
|
|
|
|
|
|
|
当前离线
经验:
天策币:
活跃币:
策小分:
总在线: 290 小时
本月在线: 0 分钟
|
|
|
|
|
|
|
|
|
|
当前离线
经验:
天策币:
活跃币:
策小分:
总在线: 9 小时
本月在线: 0 分钟
|
|
|
|
|
|
|
|
|
|
当前离线
经验:
天策币:
活跃币:
策小分:
总在线: 48 小时
本月在线: 0 分钟
|
|
|
|
|
|
|
|
|
|
当前离线
经验:
天策币:
活跃币:
策小分:
总在线: 1 小时
本月在线: 0 分钟
|
|
|
|
|
|
|
|
|
|
当前离线
经验:
天策币:
活跃币:
策小分:
总在线: 46 小时
本月在线: 0 分钟
|
|
|
|
|
|
|
|
|
|
当前离线
经验:
天策币:
活跃币:
策小分:
总在线: 1 小时
本月在线: 0 分钟
|
|
|
|
|
|
|
|
|
|
当前离线
经验:
天策币:
活跃币:
策小分:
总在线: 275 小时
本月在线: 0 分钟
|
|
|
|
|
|
|
|
|
|
当前离线
经验:
天策币:
活跃币:
策小分:
总在线: 1 小时
本月在线: 0 分钟
|
|
|
|
|
|
|
|
|
|
当前离线
经验:
天策币:
活跃币:
策小分:
总在线: 3 小时
本月在线: 0 分钟
|
|
|
|
|
|
|
|
|
|
当前离线
经验:
天策币:
活跃币:
策小分:
总在线: 9 小时
本月在线: 0 分钟
|
|
|
方法最后一段话觉得是很有道理的,但是在我面前就难以实现,毕竟运程太差了。 |
|
|
|
|
|
|
|
|
当前离线
经验:
天策币:
活跃币:
策小分:
总在线: 142 小时
本月在线: 0 分钟
|
|
|
|
|
|
|
|
|
|
当前离线
经验:
天策币:
活跃币:
策小分:
总在线: 11 小时
本月在线: 0 分钟
|
|
|
|
|
|
|
|
|
|