DOCS
机制
CHORUS 是一个批量清算(batch clearing)交易所。规则写在代码里,前端只做预览。
01 · 清算算法
每轮 epoch 结束,取唯一清算价 P:让「愿意以 ≥ P 买」与「愿意以 ≤ P 卖」 能撮合的最大成交量。所有成交都印在这个价上 —— 无论你的限价是多少, 成交价都一样。这就是「同一拍」。
// 买单按价从高到低,卖单从低到高
// 找到最大 P,使 愿买量(limit>=P) 与 愿卖量(limit<=P) 能撮合
export function indicativeClear(bids: Order[], asks: Order[]) {
const prices = [...new Set([...bids, ...asks].map(o => o.limit))]
.sort((a, b) => a - b);
let best = null;
for (const p of prices) {
const buy = bids.filter(o => o.limit >= p).reduce((s, o) => s + o.qty, 0);
const sell = asks.filter(o => o.limit <= p).reduce((s, o) => s + o.qty, 0);
const filled = Math.min(buy, sell);
if (!best || filled > best.filled) best = { price: p, filled };
}
return best; // 即「现在收盘会印在这个价」
}注意:这个计算在前端仅用于预览「试算清算价」。真正上链时,清算必须在 结算交易里执行,前端结果不作数。
02 · 为何 gas 买不到更好的价
在 AMM 或订单簿里,成交顺序决定价格,付更多 gas 抢在前面就能拿到更早、 更好的价。CHORUS 里,一个 epoch 内所有订单同一价成交, 先来后到只影响能否成交,不影响成交价 —— 抢跑没有意义。
AMM 时间线
CHORUS 同一打印
03 · 当前规则(v1 演示)
- epoch 长度:默认 60s,可按市场配置(Launch 表单可设)。
- 报价资产:ETH 优先,稳定币(USDC)次之。
- 未成交订单:本轮收盘后一律撤销,不滚入下一轮 —— 每个 epoch 都是一场干净的合唱。
- 工厂:演示网先做有主开关;无主、不可升级意味着部署即定终身, 等规则冻结后再上。
04 · 风险
- · 未审计:合约尚未经过安全审计,可能存在未知漏洞。
- · 无许可代币:任何人都能开市场、发币,代币本身可能没有价值。
- · 不构成投资建议:本演示与文档不构成任何投资、财务或法律建议。
- · 合规:任意开盘 + 发币容易被当作未注册证券或诈骗发射台;真做需要律师,不是前端问题。