Getting started
本页帮助你连接到 launchpad,并解释在其他各处都会出现的少数几个概念:launchpad 合约、ABI、 角色和费用。
连接到 launchpad
CheesePad 是每条链一个合约。Pools、microsales 和 Melt Pools 全都是同一个合约上的流程,而不是
各自独立的部署,所以只有一个地址需要配置。从概览中取得你所在网络
对应的那一个,并用 Launchpad ABI 实例化它。
import { ethers } from "ethers";
// https://docs.cheesepad.ai/abi/Launchpad.json
import LaunchpadABI from "./abi/Launchpad.json";
const provider = new ethers.JsonRpcProvider(RPC_URL);
const LAUNCHPAD = "0x0AA21d47b600B04527c09BbD9A30aF32cb64f6cF"; // bnbTestnet
// Read-only
const launchpad = new ethers.Contract(LAUNCHPAD, LaunchpadABI, provider);
// Write (attach a signer)
const signer = await provider.getSigner();
const launchpadRW = launchpad.connect(signer);
ABI 从何而来
在此下载:Launchpad.json。
launchpad 是一个 diamond,因此它的函数和事件分散在单个地址背后大约 39 个 facet 合约中。那个 文件是把它们全部展平成一份 ABI:这些文档中描述的每一个函数、事件和错误。把你的合约实例指向 launchpad 地址,直接按原样使用即可。
网络
| Network | Chain ID | RPC | Explorer |
|---|---|---|---|
| BNB Chain | 56 | any BSC RPC | bscscan.com |
| BNB testnet | 97 | any BSC testnet RPC | testnet.bscscan.com |
| Robinhood Chain | 4663 | https://rpc.mainnet.chain.robinhood.com/ | robinhoodchain.blockscout.com |
BNB 测试网放宽了一条规则:最小 LP 锁定降到 5 分钟,这样你就能在 QA 期间演练解锁。在两个主网 上,下限对于 pool 是 30 天、对于 microsale 是 365 天。请注意 Robinhood Chain 是主网,因此不会 获得测试网的放宽。其他一切在三个网络上的表现都相同;具体数值见 常量表。
谁能做什么
大多数调用都是无需许可的。那些管理某个具体销售的调用则被限定给该销售的所有者:
- 任何人。 创建销售、贡献、交易 Melt Pool、领取、退款,以及每一个 view 函数,都对任何地址 开放。
- 销售所有者。 创建了某个销售的地址。它可以 finalize、cancel 以及编辑该销售的详情。
- 管理员。 平台。有少数几个步骤发生在平台一侧而非你这一侧:发布你所针对上线的 microsale 模板和 Melt Pool config,以及计算 Subscription pool 的 allocation。这些会在出现处逐一说明; 你从不需要管理员权限就能上线或参与。
费用
有两项费用对集成方来说很重要。
创建费。 创建一个销售可能需要一笔固定的原生费用,两种上线方式从不同字段读取它:pool 使用
masterConfig.creationFee,microsale 使用 masterConfig.microSaleCreationFee。请在创建调用中
以 msg.value 发送它;它会被转发到平台费用地址。pool 要求精确金额,microsale 要求至少该金额。
在报价成本之前先读取这个值:
const cfg = await launchpad.getMasterConfig();
const poolFee = cfg.creationFee; // for pool launches
const microFee = cfg.microSaleCreationFee; // for microsale launches
Finalize 时的平台费。 当一个销售 finalize 时,会从募资顶部扣取一部分并发送到平台费用地址;
其余部分与 LP 代币配对并加入 DEX。microsale 使用固定的 5%。pool 使用平台的
nativeFeePercent。无论哪种情况,你都不直接支付它;它从募资中扣除,这也是上线计算要应用于
扣费后金额的原因。
Melt Pool 交易费。 每一笔 Melt Pool 曲线交易都支付固定的 1% 手续费,从每次买入和卖出 的顶部扣除。它在曲线阶段生效,并在池子毕业到 DEX 后停止。
Tax-token 平台费。 一个 tax token(CheeseTaxTokenV2)会收取创建者的买/卖 tax,在其之上
CheesePad 还会额外收取该 creator tax 的 10% 作为平台费——在 Melt Pool 的曲线阶段和上线
之后都一样。该费率存储在链上;用 getPlatformCutBps() 读取它(返回 preBps、postBps——
曲线阶段与上线后的费率,单位 BPS)。完整图景参见代币费用模型。
还有一项需要注意的费用:一次紧急提现(提前离开一个进行中的销售)会让贡献者付出其贡献的 10%。
读取平台 config
getMasterConfig() 返回平台级的设置。你最可能读取的字段:
| Field | Meaning |
|---|---|
feeTo | 平台费与创建费的去向 |
locker | 当销售锁定流动性时使用的 LP locker |
microSaleCreationFee | 创建 microsale 的固定原生费(可能为 0) |
platformRole | vault 紧急救援的后备地址 |
giftRelayerSigner | 为 GiftVault 身份绑定背书的 signer |
完整的结构体见 events-and-data.md。
下一步
选择你的上线方式:pools.md、microsale.md 或 melt-pool.md。如果你关心 tax token 的收入落在哪里,参见 vaults.md。