热点、深度、趋势全掌握,尽在BTC区块圈

发币防止大户提前跑路 – 手搓一个线性释放合约

什么是线性释放

线性释放(Linear Vesting)一种常见的代币释放机制,指得是:代币按照固定的速率、持续均匀地在设定时间内逐渐释放。而不是一次性就释放完。

为什么需要线性释放

我们来思考一下,假如没有线性释放的场景。就比如,我们作为项目方,将要发行一个叫做 ShawnCoin 的 ERC20 代币,总量为 10 亿。为了奖励投资者(风投机构、私募),我们需要为他们发放 5 亿的代币,如果是一次性释放给他们的话,假如他们马上就抛售代币,会导致币价下跌非常迅猛,直接砸穿币价,散户成为接盘侠。

而有了线性释放的话,我们将代币均匀地按时间分摊释放给到投资者,将降低投资者抛售代币的压力,防止投资者过早跑路。

线性释放的核心流程

为了实现代币线程释放的要求,我们必须要设定一个释放的起始时间 start ,一个释放持续时间 duration 。在合约内,投资者主动调用 release 函数来获取代币,而在这个 release 函数中,我们通过一套数学公式来确定出每个时间片中该释放多少代币。这么讲可能有点抽象,我们通过一个具体例子来展示流程:

核心状态变量

线性释放合约中的核心状态变量有 4 个

核心函数手搓一个线性释放的合约

手搓最小代码实现,参考 OZ 代码库 VestingWallet.sol

 forge test --match-path "./test/linearVesting/LinearVestingTest.t.sol"  -vvv

image.png

使用本文
0
共享
上一篇

民主党人批评特朗普经济政策却缺乏明确替代方案

下一篇

美国就业市场警报:4月私营部门新增就业人数骤降至6.2万

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

阅读下一页

在以太坊最新的长期测试网

本文概述了以太坊核心开发者在2025年4月的进展,重点关注Pectra升级的发布、历史过期以及Fusaka升级的范围确定。Pectra升级已在主网上线

以太坊基金会的未来篇章

本文是由以太坊基金会(EF)新任联合执行董事Hsiao-Wei和Tomasz共同撰写的博客文章,阐述了EF未来的发展方向和重点。