跳到主要内容

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 地址,直接按原样使用即可。

网络​

NetworkChain IDRPCExplorer
BNB Chain56any BSC RPCbscscan.com
BNB testnet97any BSC testnet RPCtestnet.bscscan.com
Robinhood Chain4663https://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() 返回平台级的设置。你最可能读取的字段:

FieldMeaning
feeTo平台费与创建费的去向
locker当销售锁定流动性时使用的 LP locker
microSaleCreationFee创建 microsale 的固定原生费(可能为 0)
platformRolevault 紧急救援的后备地址
giftRelayerSigner为 GiftVault 身份绑定背书的 signer

完整的结构体见 events-and-data.md。

下一步​

选择你的上线方式:pools.md、microsale.md 或 melt-pool.md。如果你关心 tax token 的收入落在哪里,参见 vaults.md。