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

By [twodam.eth](https://paragraph.com/@twodam) · 2022-02-16

---

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

[https://twitter.com/twodam\_eth/status/1488395041056104451?s=20&t=tDqRrmDZy0DgqT1-gaJztg](https://twitter.com/twodam_eth/status/1488395041056104451?s=20&t=tDqRrmDZy0DgqT1-gaJztg)

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

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

* * *

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

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

AssangeDAO - 无预算，全部取用
---------------------

![AssangeDAO 项目介绍](https://storage.googleapis.com/papyrus_images/6051db9cdae3b564910abfd17ea5016c4e294a2c1311b93432e8a3f92d24faa9.png)

AssangeDAO 项目介绍

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

这个项目募集时并未设置筹款上限，所筹资金直接提出到多签钱包，之后全部参与拍卖，目前所有款项均已转出。（[交易：转出 16593 ETH](https://etherscan.io/tx/0x19573812d40602d618b83d0673e0ef7d80530055564f92c1ab2ab08bdce7dfab)）

项目配置如下

![AssangeDAO 项目配置](https://storage.googleapis.com/papyrus_images/b32073615f63e77a8437b0deafc1113071e432d1f05dad441a6310641ce5dfe0.png)

AssangeDAO 项目配置

* * *

与阿桑奇 DAO 不同的是，宪法 DAO 拍卖失败，通过 Juicebox 的 \`AddToBalance\` （不同于常规的支付，这笔款项不会铸造新的代币）将资金全部转回平台，并启动新的筹款周期用于退款。（[交易：转回 11589 ETH](https://etherscan.io/tx/0x5b356498b1b354156c263fcb344753a8acfadb0d8e38e1b3f91ecfd3dcfd6cba)）

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

![ConstitutionDAO 项目介绍](https://storage.googleapis.com/papyrus_images/4ff49ca54d07bf4e7cae2ce6ef353f9c8e94ef5a4c154a62dfd3c97b23c347eb.png)

ConstitutionDAO 项目介绍

> 我们正在购买美国宪法。

宪法 DAO 应该是最广为人知的 Juicebox 项目了，所筹资金直接提出到交易所，之后参与拍卖，失败后从交易所转回 Juicebox 平台，为所有用户提供退款资金。（[交易：转出 11994 ETH](https://etherscan.io/tx/0xf5c4c7b4feca7c49d1ea2c172d76884f1959a5cb6ed20fe89ba728ff1db3c19a)）

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

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

![ConstitutionDAO 项目配置](https://storage.googleapis.com/papyrus_images/6f6fef787f149fceffe0df60ecc6492c0cf15a379702562552ca5a6a333a51b7.png)

ConstitutionDAO 项目配置

* * *

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

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

![SharkDAO 项目介绍](https://storage.googleapis.com/papyrus_images/0a3d86065e2bb1a92f09e7dbb07d29bf082c6c0e02a63ec9aca9feb795627526.png)

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 项目配置](https://storage.googleapis.com/papyrus_images/df7bc8daf56ee0b4f9e60d800beb3229d4b7c8583e47d6fe9f44ff801e0f29dc.png)

SharkDAO 项目配置

### 项目拓展资料

> 2021.8.7，几个NFT狂热爱好者想众筹竞拍8.10的史上第一个Nouns，当时觉得凑100ETH应该够了，其中挑头的是美国一个媒体人。大家觉得用DAO的形式才是与时俱进，但是这几个兄弟都不懂技术啊，闹闹哄哄1天，也不知道该怎么下手。
> 
> \-- Shawn 的 [《我的DAO经历之一，谈SharkDAO》](https://shawn.mirror.xyz/EXayRbJj-_qBjCU2gRKmKq9XoiLot9IuUtiobsw-CFQ)

* * *

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

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

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

![TileDAO 项目介绍](https://storage.googleapis.com/papyrus_images/5a5a4c0a009bef68bb424f6d16287d2f83ce6fec33caf46352a46db5b49eafba.png)

TileDAO 项目介绍

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

![TileDAO 支付记录](https://storage.googleapis.com/papyrus_images/4489253ababa1cc71ee8668e075b49195e257eebf6a2c779d970e6f9f84ae082.png)

TileDAO 支付记录

### 合约实现

我们来看看这个重定向付款的功能是怎么实现的。（[合约代码](https://etherscan.io/address/0x64931f06d3266049bf0195346973762e6996d764#code)）

    // 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 项目配置](https://storage.googleapis.com/papyrus_images/8f5c31a88522184e631c2f9f548023130a85250a52f2a43d7c34784c8be77492.png)

TileDAO 项目配置

### 联合曲线

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

* * *

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

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

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

---

*Originally published on [twodam.eth](https://paragraph.com/@twodam/juicebox-assange-constitution-shark-tile)*
