关于 realbond
realbond 是一个 TypeScript 命令行技能,用于为 BSC 上的 Realbond 启动平台和税费代币合约生成交易 calldata。它可读取合约状态、执行 dry-run,并通过 `baw` 在用户确认后发送写入交易。
主要功能
- 01读取 Agent、绑定、发行和持仓状态
- 02将 Agent 钱包绑定到 X 身份
- 03创建发行并在 bonding curve 上交易
- 04查询并领取税费代币分红
- 05支持 dry-run 预览 calldata
- 06执行交易前要求确认
适用场景
- 01检查发行资格和合约暂停状态
- 02使用后端签发的声明绑定钱包
- 03创建发行或买卖代币
- 04处理累计税费或领取分红
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ realbond-ai/ realbond-skill --skill realbond安装后在 Claude Code 中输入/realbond确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
.env.exampleREADME.mdpackage.json.gitignorepackage-lock.jsonLICENSEsrc/baw.tschain.tscli.tsbindingClaim.tscalldata.tsconfig.tsticket.tsfee.tssimulate.tssrc/abi/taxToken.jsonlaunchpad.jsonregistry.jsonsrc/commands/parse.tsbind.tscontext.tspause.tsposition.tsstatus.tstax.tstrade.tswrite.tstest/baw.test.tscalldata.test.tsfee.test.ts详细介绍
Realbond Skill
TypeScript CLI,用于为 BSC(链 56)上的 v2 IdentityRegistry、AgentLaunchpad 和税费代币编码 calldata,并通过 Agent 钱包发送交易,流程为 baw contract-call preview -> 确认 -> baw contract-call execute。
安装
npx skills add realbond-ai/realbond-skill
也可以从克隆的仓库安装(所有命令都从该技能目录运行):
git clone https://github.com/realbond-ai/realbond-skill && cd realbond-skill
npm install
npx tsx src/cli.ts <command> [args] [--dry-run]
网站会严格按此格式输出命令(npx tsx src/cli.ts ...)。需要 Node 22+ 和已登录的 baw CLI(baw auth / baw wallet status)。
环境变量
| 变量 | 用于 | 含义 |
|---|---|---|
RPC_URL | status、position、bind、create、buy、sell(暂停检查、报价或 all)、税费命令 | BSC JSON-RPC 端点,例如 https://bsc-dataseed.binance.org |
LAUNCHPAD_REGISTRY | status、bind | v2 IdentityRegistry 代理;未设置时,status 会输出 registry: "not configured"(以及 paused.bind: "not configured") |
LAUNCHPAD_ADDRESS | 所有 launch 命令、status | v2 AgentLaunchpad 代理;未设置时,status 会输出 paused.launch/paused.trade: "not configured" |
AGENT_WALLET | bind、buy、sell 报价 / all、税费命令、position、所有非 dry-run 写入操作、status 的默认地址 | 传给 baw ... --from 的 Agent 钱包 |
v2 合约地址(BSC 主网):LAUNCHPAD_REGISTRY=0xc94D593B1162BB93e95951f9ecaab8B9fC4849b5、
LAUNCHPAD_ADDRESS=0x71Be2d9EC26b637a35e66fFDE80849625d29fEEE。v1 地址不适用于此版本。切勿提交私有 RPC URL。
命令
| 命令 | 合约调用 | 说明 |
|---|---|---|
status [address] | Agent ID balanceOf/handleOf、注册表 isEligible/bindingOf、launchpad 和注册表 pausedFlags | 只读 JSON;binding 显示 isBound、xId、isPublic、followerTier、followerThresholdAtBinding、isBlueVerified(X 已验证)、boundAt,且仅当绑定为公开时显示 screenName;paused 显示 launch、trade、bind(参见“平台暂停”) |
bind <binding.json> | 注册表 bind(claim, signature) | 参见下文“绑定”;gas 上限为 400000 |
create <ticket.json> | launchpad createLaunch(name, symbol, metaCid, taxed) | 向任何钱包开放(无需 Agent ID 或 X 绑定);使用 Create 页面生成的文件;name ≤ 64,symbol ≤ 16,metaCid ≤ 128 个 UTF-8 字节,taxed 必须为 true(免税发行会因 UntaxedLaunchDisabled 回滚);拒绝包含 salt 的 v1 ticket |
buy <id> <netBnb> [--min-tokens <wei>] | launchpad buy(id, minTokens) payable | 需要 Agent ID + X 绑定(否则为 NOT_ELIGIBLE);gas 上限为 7000000;参见“交易” |
sell <id> <amount|all> [--min-bnb <wei>] | launchpad sell(id, tokens, minBnb) | amount 的单位为代币(十进制,18 位小数);all 会读取钱包余额;无需 approve |
position <id> | launch、代币和税费代币读取 | 返回 AGENT_WALLET 的只读 JSON:status、token、taxed、balance、walletCap/remainingCap/quoteSellAll(仅限 Live);tax: {withdrawableDividend, accruedTax}(税费代币;两者单位均为代币 wei) |
process-tax <id> | 税费代币 processTax() | 仅限税费代币;当 accruedTax 为 0 时会在本地拒绝 |
claim-dividend <id> | 税费代币 claimDividend() | 仅限税费代币;支付代币而非 BNB;没有可提取金额时会在本地拒绝 |
这两个税费命令会将交易发送到代币合约,而不是 launchpad。
launch id 会通过 id < nextId() 检查;仅调用 statusOf 会将不存在的 id 报告为 Live。
v2 中已移除(解析器会提示):register(使用 bind)、claim、refund、graduate、update-salt、
update-salt-and-graduate。现在不再有截止时间、退款或单独的毕业步骤。
全局标志 --dry-run:输出 {to, data, value, gasLimit} JSON(value 的单位为 wei;gasLimit 为十进制数,或在后端估算时为
null),并以 0 退出,不调用 baw。命令需要时仍会读取链上数据(暂停检查、buy 报价、sell 报价或 all、bind 模拟),因此已暂停的功能仍会报错
PLATFORM_PAUSED。
绑定(bind)
- 在 Verify 页面输入 Agent 钱包,确认绑定信息为公开信息,授权只读 X 访问权限,并下载
binding.json:这是由 Realbond 后端签名的声明(claim、signature、registry、chainId)。关注者等级根据授权时的关注者数量设定。 - 在一小时内运行
bind binding.json:声明包含一个在授权后一小时到期的deadline,剩余时间不足 2 分钟(120 秒)时,CLI 会拒绝执行。 - CLI 会在本地检查
claim.agent == AGENT_WALLET、chainId == 56、registry == LAUNCHPAD_REGISTRY、截止时间,以及签名恢复出的地址是否与链上注册表的signer()一致。随后会显示可见性、等级(以其下限显示:>= 0 / 100 / 1,000 / 10,000 / 100,000位关注者;等级 0 表示少于 100 位)和 X 认证状态,然后通过AGENT_WALLET发起bind的eth_call试运行。若调用回退(AlreadyBound、XAlreadyBound、BadSignature、ClaimExpired等),则会在调用baw前停止并显示解码后的错误名称。 - 交易通过
baw执行,并使用--gasLimit 400000。
绑定信息仅公开;绑定后无法更改屏幕名称和等级。 一个 X 账号最多绑定一个钱包,反之亦然。
等级对应授权时的关注者数量区间(<100、100–1k、1k–10k、10k–100k、≥100k),之后不会更新。不要将 binding.json 交给他人:该文件会将你的 X 账号绑定到其中指定的钱包。
隐私:后端仅签署公开声明,因此屏幕名称、等级、X 认证状态、Agent ID 用户名和钱包地址均为公开信息,且屏幕名称会永久保留在链上事件中;链上不会记录明文 uid,只记录 xId = SHA256(uid)。Realbond 后端会知道并保留你的 X 身份,排行榜会显示授权时记录的准确关注者数量,并按该数量排序。
交易
每次启动都会向启动板铸造 1,000,000,000 个代币。绑定的 Agent 使用 BNB 沿联合曲线买入;使净募集额达到 15 BNB 的那笔买入会在同一笔交易中完成启动毕业:剩余代币和 15 BNB 将进入 PancakeSwap V2 交易对,其 LP 会被销毁。毕业前,代币不可转让;每个钱包(包括创建者)最多可持有 20,000,000 个代币(2%),按当前余额计算,因此卖出可腾出额度;联合曲线买入和卖出均收取 1% 费用。任何钱包都可以创建启动,但买入需要符合资格的钱包(持有 Agent ID 且绑定了 X)。任何持有者都可以将代币卖回联合曲线,这是毕业前唯一的退出方式。没有绑定的创建者不能买入自己创建的启动。
-
每次买入前,CLI 都会从启动板读取
registry()和isEligible(AGENT_WALLET)(需要RPC_URL)。 不符合资格的钱包会退出并显示NOT_ELIGIBLE: ... buying requires an Agent ID and an X binding,不会发送任何交易;运行status查看缺少哪项条件。合约本身会在此类买入时回滚并报错NotEligible。 -
buy <id> <netBnb>中的金额是联合曲线收到的净额;CLI 发送的value = ceil(net * 10100 / 10000)(另加 1% 费用),例如,buy 1 0.01会发送0.0101BNB。每次买入都会先调用quoteBuy(id, AGENT_WALLET, value)(需要RPC_URL):如果报价调用回滚,会按错误名称报告(WrongStatus: 未上线或未知,WalletCapReached:达到钱包上限,BuyTooSmall:买入金额过小),不会发送任何交易。除非通过--min-tokens覆盖,minTokens为报价代币数量的 99%(1% 滑点);若覆盖值高于报价,CLI 会警告买入将因Slippage而回滚。超过钱包额度或 15 BNB 目标的部分会在同一笔交易中退还;如果报价显示会退款,CLI 会发出警告。 -
sell <id> <amount|all>:如果未指定--min-bnb,CLI 会调用quoteSell,并将minBnb设为bnbOut - fee的 99%(合约比较的是扣除费用后的到账金额)。 -
网站的买入和卖出面板会打印已填入
--min-tokens/--min-bnb的命令。 -
每次
buy都会带上--gasLimit 7000000:任何一次买入都可能恰好完成毕业(通过分叉测得的毕业 Gas 约为 3.65M)。这是上限;只会收取实际使用的 Gas。
毕业后,联合曲线会关闭(WrongStatus);请在 PancakeSwap 上交易,例如使用 baw swap。税费代币在 PancakeSwap 买入和卖出时会收取 1% 费用,因此 swap 必须支持转账时收取费用的代币(Router swapExact...SupportingFeeOnTransferTokens)。
税费代币
每次启动都会创建税费代币(taxed: true);税率和分配比例永久固定。毕业后,每次针对代币的规范 PancakeSwap V2 交易对进行买入或卖出,都会以代币形式向代币合约支付 1% 的费用,并按 50/50 分配(钱包间转账不收税):
- 持有者(50%):立即以代币形式按比例发放给交易前持有超过 10,000 个代币的钱包(交易对、销毁地址、启动板和代币合约除外)。交易者不会从刚买入的代币中获得分红。使用
claim-dividend提取;已领取的代币会计入后续分红。 - 平台(50%):累积为
accruedTax;process-tax(任何人均可调用,每个区块最多调用一次,每次最多处理池中 0.5%)会将其卖出换成 BNB,并将全部所得发送至平台金库。如果没有符合分红条件的钱包,持有者份额也会计入accruedTax。
持有超过 10,000 个代币的钱包也会按比例获得自身买入和卖出产生的税费份额(基于交易前余额),但所得始终少于其支付的税费。通过夹击他人的交易来赚取持有者份额会亏钱,除非该笔交易的规模超过符合条件份额总额的约 5 倍。在每笔交易中发放分红会让交易对买入多消耗约 30k Gas。
创建者不获得任何税费,不会获得分配,也不会在创建时买入;其需沿联合曲线按相同上限买入。先使用 position <id> 查看 accruedTax 和 withdrawableDividend(代币 wei)。
平台暂停
平台所有者可以分别暂停三个功能:launchpad 上的 launch(create)和 trade(曲线 buy 和
sell),以及 registry 上的 bind。status 会将它们显示为
paused: {launch, trade, bind},每项为 true/false;若对应合约地址未设置,则显示 "not configured";若读取失败,则显示
{error}。
在构建 create、buy、sell 或 bind 之前(包括使用 --dry-run 时),CLI 会读取对应的
pausedFlags()。如果功能已暂停,CLI 会在调用 baw 之前退出,并显示 PLATFORM_PAUSED: <launch|trade|bind> is paused by the platform owner;如果读取本身失败,则会显示该错误并退出,而不会发送请求。
PLATFORM_PAUSED 表示所有者主动关闭了该功能:请等待一段时间后再查看 status,不要循环重试。税务命令(process-tax、claim-dividend)不会暂停。已完成发行的代币在 PancakeSwap 上交易,不受此暂停影响。
每次执行前确认
每个写入命令都会执行以下步骤:
baw contract-call preview --binanceChainId 56 --from <AGENT_WALLET> --to <contract> --value <wei> --inputData <calldata> [--gasLimit <cap>] --json- 将预览结果(模拟、风险)打印到 stderr,并询问
Execute this transaction? [y/N]。 - 只有输入
y时才会运行:baw contract-call execute --requestId <requestId> --json,然后打印{txHash, status}。status: PENDING_CONFIRMATION且txHash: null表示需要在 Binance App 中批准。
绝不要代替用户输入 y;确认步骤是人工检查环节。当 stdin 不是终端(输入通过管道传入)时,CLI 会向 stderr 打印警告,但仍要求用户明确输入 y。
网络说明
baw 会直接访问 https://www.binance.com,并忽略 HTTPS_PROXY。如果 baw wallet status
报错 Connection refused (0.0.0.0:443),说明本地解析器返回了遭污染的解析结果:
请运行 dig +short www.binance.com 检查,并在登录前将系统 DNS 指向可信的解析器(例如
8.8.8.8)。除非 TUN 模式代理同时接管 DNS,否则它不会有帮助。