twodam.eth

Posted on Feb 16, 2022Read on Mirror.xyz

【案例】Juicebox 协议使用方式 —— Assange, Constitution, Shark 以及 Tile

作为一个平台,Juicebox 支持很多配置项,在 V2 也会支持合约上的更多自定义策略,旨在为各种项目的不同需要提供实现的可能性。正如我这个推特提到的

https://twitter.com/twodam_eth/status/1488395041056104451?s=20&t=tDqRrmDZy0DgqT1-gaJztg

“可编程化的预算/开支” 才是 Juicebox 的核心,用智能合约构建的信赖,基于区块链实现的公开透明可追溯。

下面整理了目前平台上的一些项目,各自使用 Juicebox 的方式都不尽相同,与协议关联程度逐次递进。根据实例我会循序渐进的提及 Juicebox 的一些功能。


最基础的功能就是筹款,Juicebox 协议会为每个项目生成一个社区代币,可以后续用于 DAO 的治理,所投资金的赎回等。

AssangeDAO 就是一个很典型的例子,只用到基本的筹款和代币功能。

AssangeDAO - 无预算,全部取用

AssangeDAO 项目介绍

AssangeDAO 是一个为解放朱利安·阿桑奇而战的密码朋克团体。 DAO 旨在筹集 ETH 以换取 $JUSTICE 治理代币,以竞标由数字艺术家 Pak 与 Julian Assange 合作制作的 1/1 NFT。 从 NFT 出售中筹集的收益将有利于朱利安阿桑奇的辩护基金,用于支付法律费用和提高人们对朱利安引渡案的认识的宣传活动。 Assange 家族与 DAO 密切合作,并支持它为团结全世界的密码朋克所做的努力。

这个项目募集时并未设置筹款上限,所筹资金直接提出到多签钱包,之后全部参与拍卖,目前所有款项均已转出。(交易:转出 16593 ETH

项目配置如下

AssangeDAO 项目配置


与阿桑奇 DAO 不同的是,宪法 DAO 拍卖失败,通过 Juicebox 的 `AddToBalance` (不同于常规的支付,这笔款项不会铸造新的代币)将资金全部转回平台,并启动新的筹款周期用于退款。(交易:转回 11589 ETH

ConstitutionDAO - 无预算,全部取用,拍卖失败后提供赎回

ConstitutionDAO 项目介绍

我们正在购买美国宪法。

宪法 DAO 应该是最广为人知的 Juicebox 项目了,所筹资金直接提出到交易所,之后参与拍卖,失败后从交易所转回 Juicebox 平台,为所有用户提供退款资金。(交易:转出 11994 ETH

这里使用到 Juicebox 的退款逻辑是:

  • 超过筹款目标的 ETH 都被认为是“溢出”的,而目标设置为 0 意味着所有 ETH 都是 “溢出”
  • 项目代币($PEOPLE)持有者可以燃烧代币来赎回对应比例的 ETH

ConstitutionDAO 项目配置


在前面项目使用到的基础功能之上,SharkDAO 还设置了折扣率和保留率这两个参数,可以用来调节周期之间的兑换比例以及用户所得代币的实际比例,借此鼓励早期参与以及调节用户增长。

SharkDAO - 按需开启明确目标筹款,应用折扣率和保留率

SharkDAO 项目介绍

SharkDAO 拥有 Nouns #2、#5、#15、#33、#44、#139。 我们游来游去吃所有的 Nouns。 加入 Discord 查看风险提示和更多细节👆

SharkDAO 众筹购买 Nouns,每次有固定的筹款目标用于竞拍,之后的几个周期则会设置保留率为 100%(网页上则会暂时禁用捐赠按钮)。

这个项目用到折扣率和保留率

  • 鼓励早期参与】折扣率在周期更替的时候会影响下一个周期代币与 ETH 的兑换比例。例如 10% 的折扣率,周期#1 的兑换比例为 1,000,000 SHARK/ETH ,周期#2 的兑换比例就会变成 900,000 SHARK/ETH
  • 调节用户增长】保留率的设置会在用户捐赠的时候生效,保留率越大,用户捐赠同等数额的 ETH 所得的代币数量越少,相比之下用户加入的门槛也就越高。保留的代币会按预设的比例分给指定的地址。例如 20% 的保留率,周期#1 的兑换比例为 1,000,000 SHARK/ETH ,那么用户捐赠 1ETH时,实际获得 800,000 SHARK ,还有 200,000 SHARK 会交由项目调配。

SharkDAO 项目配置

项目拓展资料

2021.8.7,几个NFT狂热爱好者想众筹竞拍8.10的史上第一个Nouns,当时觉得凑100ETH应该够了,其中挑头的是美国一个媒体人。大家觉得用DAO的形式才是与时俱进,但是这几个兄弟都不懂技术啊,闹闹哄哄1天,也不知道该怎么下手。

-- Shawn 的 《我的DAO经历之一,谈SharkDAO》


TileDAO 跟之前的项目有点不一样:其主要收入来源是网站上 Tile NFT 的销售额,重定向至平台。也就是说购买 NFT 也会产生捐赠记录,进而获得 TILE 代币。

在此基础之上,这个项目还真正用上了“可编程化预算”的功能,每个周期的预算提前三天提交更新,具体开支金额与地址都通过合约设置。

TileDAO - 按周期规划预算,NFT 销售所得重定向至 Juicebox 平台

TileDAO 项目介绍

从 Tiles 一级销售中获得所有收入。

TileDAO 支付记录

合约实现

我们来看看这个重定向付款的功能是怎么实现的。(合约代码

// 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。

注意到**重新配置策略这里有个“延迟三天生效”**吗?这个功能有点类似时间锁,意思是制定的新预算和配置需要在下一周期开始前三天提交,这样用户是会有反应时间的(用户不支持相关新配置的话,无论是立即赎回还是发起紧急提案等都可以操作)。

TileDAO 项目配置

联合曲线

Juicebox 支持联合曲线的设置,这个比率越小,早期赎回的 ETH 就越少,主要用于鼓励长期持有。


写到这里,篇幅有些长了,暂时先写这么多。

再提一句,JuiceboxDAO 治理和维护整个协议,其本身也是协议上的第一个项目,运行方式同 TileDAO,不过两星期为一个周期。

如果觉得写得不错,有所启发,可以考虑收集一个 Edition NFT 鼓励一下~

Recommended Reading