×
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] => 27604
[posts] => 442737
[todayposts] => 98
[yesterdayposts] => 1428
[rank] => 2
[oldrank] => 2
[lastpost] => 2763882 香港工程人员残疾院舍偷装矿机挖币!每月偷用电费近9,000港元-转 1757381334 linxiaoshan888
[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 小时
|
|
本文章详细的讲解一个最基础的链上加密货币发行过程,期间也需要利用到几个工具(当然本文章最后有一键发行的工具,嫌麻烦的可以直接翻到最后使用工具)标准流程全解析
" c. T% o" Z& T+ ~# l+ J以太坊代币(ERC‑20)从开发到上链的最简标准流程(只讲开发与发行)示例使用以太坊兼容链 + Hardhat + OpenZeppelin,先部署到测试网(Sepolia),确认无误后再部署主网。7 i, P3 Q' n4 d6 A6 x4 F
一、环境准备
* C. ?8 y) q4 T2 t4 `: V& F- 必备4 W" X1 F' {# T; U& [
- ≥ 18 与 npm" H% b# i5 z+ {
- 一个以太坊钱包(如 MetaMask)5 i) L/ a3 t! l2 Z8 ]* T- }
- 测试网 ETH(Sepolia Faucet 获取),主网部署需主网 ETH) F. r D/ g8 }4 y8 x# U
- RPC 节点(Alchemy/Infura/Ankr 等均可)
/ B. E. Q$ \2 J6 K- 新建项目目录,例如:erc20-token,并进入该目录: J h% q; s$ U6 c6 W
二、安装与初始化2 ^. m2 }- x d1 M; {( a
- 初始化项目7 N @, b: ~/ ^; ~ L0 g v7 g
- npm init -y7 ^% E- B. W$ I# C" @6 d1 V$ t' [
- 安装依赖8 J4 N; s# b3 x/ a
- 开发工具:npm i -D hardhat @% l. j# Z8 j; N) B( U
nomicfoundation/hardhat-toolbox dotenv+ @+ ^, P% k" f5 o5 b3 [ T) G. N! ^
- 合约库:npm i @openzeppelin/contracts' d7 t# f* g, ~# O) w6 Z+ c
- 初始化 Hardhat(可交互,也可手动建文件)
( s* s# ]: {* v. ~- 交互方式:npx hardhat(选择 JavaScript 项目)
8 {% U; Z8 A! K* T$ h/ X6 F4 P2 U- 或手动创建以下文件(见下一步)9 ^8 E" B2 o0 H7 G7 Y
三、最小化项目结构与配置
( |- p! X: {) C% w- 新建 (最小可用配置)
$ Q, |9 V- ^- ^, s6 f7 u- 内容示例:3 O! \. A- \7 U- a6 H; N5 P
- require("@nomicfoundation/hardhat-toolbox"); S1 {1 L9 e( n" T( K
- require("dotenv").config();% B& Q1 | ^$ K: d& }7 c/ T6 \
- = {" A3 x9 V$ a( [! x/ B
solidity: "0.8.24",
7 k+ n% a* u$ t4 J9 d- h Nnetworks: {/ R8 T P- K, f% [5 B/ W1 [- l) ~
sepolia: {
- }; m$ I/ Y" x. nurl: .SEPOLIA_RPC_URL,
1 T: k+ }! s, @6 k, oaccounts: [.PRIVATE_KEY].filter(Boolean),
8 B2 V' R; q4 O: \: I},
1 e3 k8 J8 e+ N: o// mainnet: { url: .MAINNET_RPC_URL, accounts: [.PRIVATE_KEY].filter(Boolean) }
! [% J/ I& k: |},
3 J0 L+ z$ [! m- ~$ fetherscan: {( J0 y; H( g8 t$ }6 x4 s$ M+ }
apiKey:
, \% N% B. T7 c# s.ETHERSCAN_API_KEY, // 可选:用于合约校验
% i4 e$ b( \8 N- [5 t},. H5 Y* V; A8 h5 e7 i7 J0 o1 y1 g
};
% C! m- ~% l# ^6 t* f- 在项目根目录创建 .env,示例(请替换为你自己的值):
* P2 z* z: {' M- V4 l1 y$ G- SEPOLIA_RPC_URL=6 }$ A0 o, }, c
- MAINNET_RPC_URL=
0 o% t! b9 |$ r' M; E6 D: h- PRIVATE_KEY=你的私钥(0x开头,无空格)' H2 s2 v5 I6 \% W! l+ Z7 `
- ETHERSCAN_API_KEY=你的Etherscan API Key(可选,用于校验); m+ k7 q% H9 w
四、编写标准 ERC‑20 合约
# @. B0 v1 l0 v T1 b: J" V% r- 在 contracts/ 目录下创建 ,示例代码:5 ?8 B+ ]1 D7 X
- pragma solidity ^0.8.20;- i/ k8 s. U* _/ |% @
- import "@openzeppelin/contracts/token/ERC20/";
+ _; D4 d! c9 `: {& B3 [- S- contract MyToken is ERC20 {) j0 L3 C. j+ w; A: J2 q, N8 \
constructor(uint256 initialSupply) ERC20("MyToken", "MTK") {
0 |- A4 n( I4 ?_mint(, initialSupply);
r2 R. f1 B! p' e9 H, N( x}
' e! C4 H6 E+ g5 o. Z}
: X" ?" n" ^5 G+ I, `9 y+ w @- c- 说明; X0 w, T- i2 F1 I0 H$ l; B6 ~3 {
- 名称与符号可自定义(如 "MyToken" / "MTK")
% k) S! L e7 ^4 q/ {( r- ]0 `8 a) k- initialSupply 为初始发行量(单位为最小单位 Wei,例如 18 位小数的代币需乘 10^18)
, ~" k0 j: c/ d5 [* ~3 R, P1 }五、编写部署脚本4 B$ c+ v4 k9 Q* s/ Q$ y
- 在 scripts/ 目录下创建 ,示例代码:8 c& A9 H9 k; C& Q7 ^7 a( \
- const { ethers } = require("hardhat");4 H5 ]' }2 i4 \
- async function main() {
8 r& e* V# y" ~. }const initialSupply = ("100000000", 18); // 1亿枚,18位小数8 P4 W9 f3 |7 A: _5 K. _- H; |3 g% ?, ]
const token = await ("MyToken", [initialSupply]);
; I3 H/ }8 P! o9 bawait ();: q! d+ {' _8 R4 s. O k
("MyToken deployed to:", );+ g9 q3 j# g9 f/ S
}
6 a. E* L) Y% X( \/ D1 N- main().catch((error) => {0 I$ a" X G4 x4 K" O, _. P
(error);3 l( W& {5 m" i d) \
= 1;
! `+ D/ h1 |' Q9 n9 R$ I});
, }8 ^% |/ m6 _* j六、编译与部署到测试网(Sepolia); j- \! o3 W. N
- 编译:npx hardhat compile# i& d6 y9 `3 C- i. ^
- 部署:npx hardhat run scripts/ --network sepolia
& E2 K7 [3 ?" ?& c1 a- 运行成功会输出合约地址(MyToken deployed to: 0x...); O: o s4 ]; n
- 在区块浏览器()查询该地址,确认合约已上链# l; y3 T f* ~8 }& I& t. C
七、可选:合约源码校验(便于他人查看源码与构造参数)
6 p6 U) @* s6 s7 v. _- 命令:npx hardhat verify --network sepolia 合约地址 初始发行量(Wei)+ C! E; I% k( D7 _
- 例:npx hardhat verify --network sepolia 0xYourTokenAddress* ?. |& Z8 C4 t3 A
100000000000000000000000000
/ j9 t2 S0 f, B+ r4 Q0 X1 c f- 注意:这里的初始发行量需与部署脚本中的 initialSupply 完全一致(单位为 Wei)6 h# O- T* `3 @2 I" E0 h h) N" k
八、在钱包中查看代币
- x2 H. W1 e9 A, w' c. x4 r5 L9 C- 打开 MetaMask,选择对应网络(Sepolia 或主网)5 a v9 W, I0 L6 i: n
- 选择“导入代币”,粘贴合约地址,确认代币符号与小数位(18)5 g" M, u5 [# `- Z* g
- 即可在钱包中看到初始发行的代币余额(在部署账户下)
8 x) v9 y9 y P九、部署到主网(可选)
# ]6 U2 `4 c) o( E: \" f4 K- 确保 .env 中配置 MAINNET_RPC_URL、PRIVATE_KEY,且钱包内有主网 ETH/ Y1 `3 K! }8 C& r8 F% r% A
- 命令:npx hardhat run scripts/ --network mainnet
2 Q/ T" ~" E2 R/ a" T4 R, G: A1 ^+ C- 可用 Etherscan 校验:npx hardhat verify --network mainnet 合约地址 初始发行量(Wei)
: T# a4 d/ U7 E- V十、常见问题与排查3 \. _7 n- L: I! x) w
- 部署报“insufficient funds for gas”:
/ e! p( g# @5 F- 账户没有足够 ETH(测试网/主网),先充值再部署% P9 B0 v/ R3 L$ r, C6 |8 Q' T
- Ethers 版本导致的方法差异:
* i% a5 P6 j# Q3 ]/ V$ c# F- 本教程基于 ethers v6(Hardhat Toolbox 默认),使用 ! @8 x0 t! I2 T
- 私钥与 .env:
6 \6 Y# z. d% s6 j6 U& M- PRIVATE_KEY 必须以 0x 开头,无引号与空格
, S G4 P$ T# x! J- 确保 .gitignore 排除 .env,切勿泄露私钥
' J/ s" B1 |' P- Q6 Z& y F- 构造参数不一致导致校验失败:
+ r9 ~3 q1 g+ m- verify 命令的初始发行量(Wei)必须与部署时完全一致
8 _. A7 N- i3 j, I到这里,你已经完成了一个标准 ERC‑20 代币从“编写 → 编译 → 部署 →(可选)校验 → 钱包查看”的完整最小流程。若你需要把名称/符号/小数位做成可配置,或加入可增发/销毁、暂停等扩展权限。
2 X. x- [. O' E: h$ f; d下面是一键发币的工具;
1 h2 ?) ~1 G. W5 ]( ?: E- t& `这个星辰发币是目前最好用的一个一键发币的工具( ),不需要授权,代码干净;最推荐。
0 M, \ L; `/ X( q# \这个dajgh也还可以但是需要授权( ),授权会带来一些安全方面的风险。' J: x" X I2 ^9 q; }+ k, |
|
|
|
|
|
|
|
当前离线
经验:
天策币:
活跃币:
策小分:
总在线: 202 小时
本月在线: 10 小时
|
|
这玩意儿整起来还挺麻烦啊,不过一键发行工具倒是省事,懒人直接冲就完事了 |
|
|
|
|
|
|
当前离线
经验:
天策币:
活跃币:
策小分:
总在线: 15 小时
本月在线: 0 分钟
|
|
|
|
|
|
|
|
当前离线
经验:
天策币:
活跃币:
策小分:
总在线: 18 小时
本月在线: 0 分钟
|
|
|
|
|
|
|
|
当前离线
经验:
天策币:
活跃币:
策小分:
总在线: 34 小时
本月在线: 0 分钟
|
|
|
|
|
|
|
|
当前离线
经验:
天策币:
活跃币:
策小分:
总在线: 280 小时
本月在线: 1 小时
|
|
|
|
|
|
|
|
当前离线
经验:
天策币:
活跃币:
策小分:
总在线: 9 小时
本月在线: 0 分钟
|
|
|
|
|
|
|
|
当前离线
经验:
天策币:
活跃币:
策小分:
总在线: 48 小时
本月在线: 0 分钟
|
|
|
|
|
|
|
|
当前离线
经验:
天策币:
活跃币:
策小分:
总在线: 1 小时
本月在线: 0 分钟
|
|
|
|
|
|
|
|
当前离线
经验:
天策币:
活跃币:
策小分:
总在线: 46 小时
本月在线: 0 分钟
|
|
|
|
|
|
|
|
当前离线
经验:
天策币:
活跃币:
策小分:
总在线: 1 小时
本月在线: 0 分钟
|
|
|
|
|
|
|
|
当前离线
经验:
天策币:
活跃币:
策小分:
总在线: 275 小时
本月在线: 0 分钟
|
|
|
|
|
|
|
|
当前离线
经验:
天策币:
活跃币:
策小分:
总在线: 1 小时
本月在线: 0 分钟
|
|
|
|
|
|
|
|
当前离线
经验:
天策币:
活跃币:
策小分:
总在线: 3 小时
本月在线: 0 分钟
|
|
|
|
|
|
|
|
当前离线
经验:
天策币:
活跃币:
策小分:
总在线: 9 小时
本月在线: 0 分钟
|
|
方法最后一段话觉得是很有道理的,但是在我面前就难以实现,毕竟运程太差了。 |
|
|
|
|
|
|
当前离线
经验:
天策币:
活跃币:
策小分:
总在线: 130 小时
本月在线: 1 小时
|
|
|
|
|
|
|
|
当前离线
经验:
天策币:
活跃币:
策小分:
总在线: 11 小时
本月在线: 0 分钟
|
|
|
|
|
|
|
|