设计并建模ERC20代币经济学,包含归属计划、分配表、Uniswap流动性计算以及投资者文档。
ERC20 托肯经济学构建器是一项面向实际任务的技能,主要用于端到端的启动准备:分配设计 – 授予合同 – 流动性数学 – 投资者 docs.;Workflow.;
该技能适合需要稳定复用相关能力的场景,可作为自动化工作流的一部分,也便于后续检查、调整和扩展。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;
若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。
端到端代币上线就绪流程:分配设计 → 锁仓合约 → 流动性建模 → 投资人文档。
标准分配类别(请根据项目实际情况调整):
| 类别 | 供应量占比 | Cliff(锁定期) | 锁仓期 | TGE 解锁比例 |
|---|---|---|---|---|
| 团队 | 15–20% | 12 个月 | 36 个月 | 0% |
| 投资人(种子轮) | 10–15% | 6 个月 | 24 个月 | 0–5% |
| 投资人(私募轮) | 8–12% | 3 个月 | 18 个月 | 5–10% |
| 生态/DAO | 20–30% | 0 | 48 个月 | 5% |
| 社区/空投 | 10–15% | 0 | 0–12 个月 | 100% |
| 流动性 | 5–10% | 0 | 0 | 100% |
| 储备金/金库 | 10–20% | 0 | 治理控制 | 0–5% |
输出格式: Markdown 表格 + 适用于投资人演示材料的 CSV 文件。
OZ VestingWallet 原生支持 Cliff + 线性释放机制。
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;
import "@openzeppelin/contracts/finance/VestingWallet.sol";
// 每个受益人部署一个实例(或使用工厂合约)
// constructor(address beneficiary, uint64 startTimestamp, uint64 durationSeconds)
// 示例:团队成员适用 12 个月 Cliff + 24 个月线性释放
// start = TGE 时间戳 + 12 个月(通过将 start 设为 Cliff 结束时间,隐式实现 Cliff)
// duration = 24 个月(从 start 开始线性释放)
VestingWallet teamVest = new VestingWallet(
teamMemberAddress,
uint64(tgeTimestamp + 365 days), // 在 12 个月 Cliff 后开始释放
uint64(730 days) // 24 个月线性锁仓期
);
关键方法:
release(token) — 受益人调用以申领已归属代币vestedAmount(token, timestamp) — 查询指定时间点可解锁代币数量releasable(token) — 当前可申领余额Cliff 实现方式: 设置 startTimestamp = TGE + cliffDuration。Cliff 结束后自动进入线性释放阶段,无需额外编码。
多受益人工厂模式:参见 references/vesting-factory.md
计算每个类别的月度解锁数量:
Cliff 后每月解锁量 = (分配代币数 / 锁仓月数) TGE 解锁量 = 分配代币数 × TGE 解锁比例 剩余待释放量 = 分配代币数 × (1 − TGE 解锁比例) Cliff 后每月线性释放量 = 剩余待释放量 / Cliff 后锁仓月数
流通供应量预测公式:
CS(t) = Σ [tge_i + max(0, (t - cliff_i) / vest_i) × (1 - tge_pct_i)] × supply_i
其中 t 表示自 TGE 起经过的月份数,i 表示各分配类别。
在表格中逐月建模至第 48 个月。若某月解锁量 > 当前流通供应量的 5%,则标记为高抛压风险月份。
初始价格 = ETH 数量 / TOKEN 数量 k = ETH 数量 × TOKEN 数量 交易规模为 S 时的滑点: 价格影响 = S / (ETH 储备量 + S) 可获得代币数 = TOKEN 储备量 × S / (ETH 储备量 + S) 建议:典型散户交易规模下的价格影响 < 1% → 所需资金池深度 = 交易规模 / 0.01
示例: 目标支持 $10,000 散户交易且滑点 < 1% → 需资金池 TVL 达 $1M
[P_low, P_high],其中 P 表示代币以 ETH/USDC 计价的价格tickLower / tickUpper = log(price) / log(1.0001)上市价格发现:
FDV_target = 总供应量 × 上市价格 Implied_MC = 流通供应量 × 上市价格 流动性比率 = 资金池 TVL / MC → 健康启动目标为 5–15%
更深入的 tick/区间计算请参阅 references/uniswap-math.md。
## 代币:[NAME] ($TICKER) - 总供应量:X,000,000,000 - TGE 日期:[DATE] - 网络:Ethereum / [L2] - 合约地址:[0x...] ## 本轮详情 - 轮次:种子轮 / 私募轮 / 战略轮 - 融资额:$X,单价 $Y/token → $Z FDV - 分配比例:总供应量的 X% - 锁仓安排:X 个月 Cliff,X 个月线性释放,TGE 解锁 X% - VestingWallet:[合约地址 或 “待部署”] ## 代币释放时间表 [本批次按月解锁表格] ## 资金用途 [明细拆分]
部署 VestingWallet 后,应提供以下信息:
vestedAmount(tokenAddress, block.timestamp) 调用结果release() 自动化机制 → 受益人易遗忘申领;建议使用 keeper 脚本references/vesting-factory.md — Solidity VestingWallet 工厂合约 + 批量部署方案references/uniswap-math.md — Uniswap v2/v3 Tick 数学与流动性公式详解references/allocation-templates.md — 针对 DeFi、GameFi、DAO、基础设施等场景预置的分配表模板solidity-audit-precheckdefi-position-trackermulti-sig-treasuryupgrade-solidity-contracts