什么是绑定阶段?

绑定阶段是初始交易期间,代币直接通过智能合约买卖,使用算法定价曲线。可以将其视为具有自动市场制作功能的去中心化预售。

绑定如何工作

绑定曲线机制

在绑定期间,合约作为唯一的市场制造商:
  1. 无订单簿:价格通过算法确定
  2. 即时流动性:始终可以买卖
  3. 路径独立性:价格仅取决于供应量,而非历史
  4. 自动定价:无需手动设置价格

交易操作

购买代币

流程:
  1. 用户向合约发送 ETH/B3
  2. 合约根据曲线计算代币数量
  3. 扣除 5% 费用并发送给接收者
  4. 铸造代币并发送给买家
  5. 更新曲线状态
代码示例:
// 先获取报价
const quote = await token.getAmountOfTokensToBuy(
  parseEther("1") // 1 ETH
);
console.log(`将收到:${formatEther(quote)} 代币`);

// 执行购买并保护滑点
const minTokens = quote * 0.95n; // 5% 滑点
await token.buy(minTokens, "1");

出售代币

流程:
  1. 用户批准代币支出
  2. 用户调用 sell 并输入代币数量
  3. 合约根据曲线计算 ETH
  4. 从收益中扣除 5% 费用
  5. 将 ETH 发送给卖家,代币被销毁
  6. 更新曲线状态(价格下降)
代码示例:
// 检查余额并获取报价
const balance = await token.balanceOf(userAddress);
const sellAmount = balance / 2n; // 卖出一半

const quote = await token.getAmountOfEthToReceive(
  sellAmount
);
console.log(`将收到:${formatEther(quote)} ETH`);

// 执行销售并保护滑点
const minEth = quote * 0.95n; // 5% 滑点
await token.sell(sellAmount, minEth);

费用结构

费用如何工作

费用经济学

每日交易量费用收入每月收入
10 ETH0.5 ETH约 15 ETH
50 ETH2.5 ETH约 75 ETH
100 ETH5 ETH约 150 ETH
500 ETH25 ETH约 750 ETH

目标机制

理解目标

目标是在迁移前必须累积的 ETH/B3 金额:
目标的目的:
  • 为 Uniswap v4 确保足够的流动性
  • 为社区创建明确的目标
  • 防止过早迁移
  • 在绑定期间构建动力

接近目标

// 监控目标进度
async function trackProgress(token: BondkitToken) {
  const progress = await token.getBondingProgress();
  
  if (progress.progress < 0.5) {
    console.log("🌱 早期阶段 - 最佳价格可用");
  } else if (progress.progress < 0.8) {
    console.log("🚀 动力构建中 - 考虑购买");
  } else if (progress.progress < 1.0) {
    console.log("🔥 几乎完成 - 迁移即将到来");
  } else {
    console.log("✅ 达到目标 - 准备迁移!");
  }
  
  const remaining = progress.threshold - progress.raised;
  console.log(`还需要 ${formatEther(remaining)} ETH`);
}

溢出处理

当购买将超出目标时:
  1. 部分填充:只接受所需金额
  2. 自动退款:多余的在同一交易中返回
  3. 公平完成:最后没有人可以多付
示例情景:
目标:100 ETH
当前:99.5 ETH
用户发送:2 ETH

结果:
- 接受 0.5 ETH(准确达到 100 ETH)
- 退还 1.5 ETH
- 用户获得 0.5 ETH 的代币
- 现在可进行迁移

事件与监控

合约事件

event BondingCurveBuy(
    address indexed payer,
    address indexed recipient,
    uint256 tradingTokenIn,
    uint256 tokensOut,
    uint256 fee,
    uint256 totalRaisedBonding
);
在 SDK 中监听:
token.onBuy((event) => {
  console.log({
    买家: event.payer,
    花费的 ETH: formatEther(event.tradingTokenIn),
    收到的代币: formatEther(event.tokensOut),
    支付的费用: formatEther(event.fee),
    总筹集: formatEther(event.totalRaisedBonding)
  });
});

实时监控

// 完整的监控设置
class BondingMonitor {
  constructor(private token: BondkitToken) {}
  
  async start() {
    // 初始状态
    const progress = await this.token.getBondingProgress();
    console.log(`开始于 ${(progress.progress * 100).toFixed(2)}%`);
    
    // 监控购买
    this.token.onBuy(async (event) => {
      const newProgress = await this.token.getBondingProgress();
      console.log(`购买:${formatEther(event.tokensOut)} 代币`);
      console.log(`进度:${(newProgress.progress * 100).toFixed(2)}%`);
      
      if (newProgress.progress >= 1.0) {
        console.log("🎆 达到目标!可进行迁移。");
      }
    });
    
    // 监控出售
    this.token.onSell(async (event) => {
      const newProgress = await this.token.getBondingProgress();
      console.log(`出售:${formatEther(event.tokensIn)} 代币`);
      console.log(`进度:${(newProgress.progress * 100).toFixed(2)}%`);
    });
  }
}

// 使用
const monitor = new BondingMonitor(token);
await monitor.start();

绑定阶段策略

对于代币创建者

构建动力

  • 从较低的攻击性开始(30-50)
  • 设定可达成的目标
  • 早期吸引社区
  • 提供清晰的路线图

最大化成功

  • 自己注入初始流动性
  • 创建购买激励
  • 合理安排公告时间
  • 规划迁移后计划

对于交易者

入场策略

  • 尽早购买以获得最佳价格
  • 对大额购买使用 DCA
  • 监控攻击性因子
  • 检查目标进度

风险管理

  • 始终使用滑点保护
  • 理解价格影响
  • 靠近目标时不要 FOMO
  • 规划退出策略

绑定后过渡

迁移后的关键点一旦调用了 migrateToDex()
  • ❌ 绑定曲线交易永久禁用
  • ❌ 不再有 buy() 或 sell() 函数
  • ✅ 所有交易转移到 Uniswap v4
  • ✅ 适用标准 AMM 机制
  • ✅ 任何人都可以提供流动性
  • ✅ 完全去中心化交易

下一步