作为一个平台,Juicebox 支持很多配置项,在 V2 也会支持合约上的更多自定义策略,旨在为各种项目的不同需要提供实现的可能性。正如我这个推特提到的
“可编程化的预算/开支” 才是 Juicebox 的核心,用智能合约构建的信赖,基于区块链实现的公开透明可追溯。
下面整理了目前平台上的一些项目,各自使用 Juicebox 的方式都不尽相同,与协议关联程度逐次递进。根据实例我会循序渐进的提及 Juicebox 的一些功能。
最基础的功能就是筹款,Juicebox 协议会为每个项目生成一个社区代币,可以后续用于 DAO 的治理,所投资金的赎回等。
AssangeDAO 就是一个很典型的例子,只用到基本的筹款和代币功能。
AssangeDAO 是一个为解放朱利安·阿桑奇而战的密码朋克团体。 DAO 旨在筹集 ETH 以换取 $JUSTICE 治理代币,以竞标由数字艺术家 Pak 与 Julian Assange 合作制作的 1/1 NFT。 从 NFT 出售中筹集的收益将有利于朱利安阿桑奇的辩护基金,用于支付法律费用和提高人们对朱利安引渡案的认识的宣传活动。 Assange 家族与 DAO 密切合作,并支持它为团结全世界的密码朋克所做的努力。
这个项目募集时并未设置筹款上限,所筹资金直接提出到多签钱包,之后全部参与拍卖,目前所有款项均已转出。(交易:转出 16593 ETH)
项目配置如下
与阿桑奇 DAO 不同的是,宪法 DAO 拍卖失败,通过 Juicebox 的 `AddToBalance` (不同于常规的支付,这笔款项不会铸造新的代币)将资金全部转回平台,并启动新的筹款周期用于退款。(交易:转回 11589 ETH)
我们正在购买美国宪法。
宪法 DAO 应该是最广为人知的 Juicebox 项目了,所筹资金直接提出到交易所,之后参与拍卖,失败后从交易所转回 Juicebox 平台,为所有用户提供退款资金。(交易:转出 11994 ETH)
这里使用到 Juicebox 的退款逻辑是:
在前面项目使用到的基础功能之上,SharkDAO 还设置了折扣率和保留率这两个参数,可以用来调节周期之间的兑换比例以及用户所得代币的实际比例,借此鼓励早期参与以及调节用户增长。
SharkDAO 拥有 Nouns #2、#5、#15、#33、#44、#139。 我们游来游去吃所有的 Nouns。 加入 Discord 查看风险提示和更多细节👆
SharkDAO 众筹购买 Nouns,每次有固定的筹款目标用于竞拍,之后的几个周期则会设置保留率为 100%(网页上则会暂时禁用捐赠按钮)。
这个项目用到折扣率和保留率:
1,000,000 SHARK/ETH
,周期#2 的兑换比例就会变成 900,000 SHARK/ETH
。1,000,000 SHARK/ETH
,那么用户捐赠 1ETH时,实际获得 800,000 SHARK
,还有 200,000 SHARK
会交由项目调配。2021.8.7,几个NFT狂热爱好者想众筹竞拍8.10的史上第一个Nouns,当时觉得凑100ETH应该够了,其中挑头的是美国一个媒体人。大家觉得用DAO的形式才是与时俱进,但是这几个兄弟都不懂技术啊,闹闹哄哄1天,也不知道该怎么下手。
-- Shawn 的 《我的DAO经历之一,谈SharkDAO》
TileDAO 跟之前的项目有点不一样:其主要收入来源是网站上 Tile NFT 的销售额,重定向至平台。也就是说购买 NFT 也会产生捐赠记录,进而获得 TILE 代币。
在此基础之上,这个项目还真正用上了“可编程化预算”的功能,每个周期的预算提前三天提交更新,具体开支金额与地址都通过合约设置。
从 Tiles 一级销售中获得所有收入。
我们来看看这个重定向付款的功能是怎么实现的。(合约代码)
// Mint Tile for address `_tileAddress` to `msg.sender`
function mintTile(address _tileAddress) external payable returns (uint256) {
require(
msg.value >= calculatePrice(),
"Ether value sent is below the price"
);
// Take fee into TileDAO Juicebox treasury
_takeFee(
msg.value,
msg.sender,
string(
abi.encodePacked(
"Minted Tile with address ",
toAsciiString(_tileAddress)
)
),
false
);
return _mintTile(msg.sender, _tileAddress);
}
这里的 _takeFee
方法继承自 JuiceboxProject
合约,将付款资金转向了平台上对应的项目,因此铸造 Tile NFT 的人也会像其他项目捐赠者一样获得 TILE 代币。
Juicebox 有一个筹款周期的概念,基本上所有参数都是基于这个周期来配置的,例如像宪法 DAO 可以一个周期筹款,在下一个周期更改筹款目标和保留率来实现退款以及暂停接受捐赠。
这个周期同时也是预算周期,下图可以看到,支持配置支出地址以及支出比例等。目前 Juicebox 所有捐赠和结算都用的是 ETH,但是配置时可以选择 USD 计价,实际合约执行逻辑时会根据当时的价格换算成 ETH。
注意到**重新配置策略这里有个“延迟三天生效”**吗?这个功能有点类似时间锁,意思是制定的新预算和配置需要在下一周期开始前三天提交,这样用户是会有反应时间的(用户不支持相关新配置的话,无论是立即赎回还是发起紧急提案等都可以操作)。
Juicebox 支持联合曲线的设置,这个比率越小,早期赎回的 ETH 就越少,主要用于鼓励长期持有。
写到这里,篇幅有些长了,暂时先写这么多。
再提一句,JuiceboxDAO 治理和维护整个协议,其本身也是协议上的第一个项目,运行方式同 TileDAO,不过两星期为一个周期。
如果觉得写得不错,有所启发,可以考虑收集一个 Edition NFT 鼓励一下~