mcpField
R
realbond

realbond

github.com/realbond-ai其他078 次安装1 天前更新
代码仓库

关于 realbond

realbond 是一个 TypeScript 命令行技能,用于为 BSC 上的 Realbond 启动平台和税费代币合约生成交易 calldata。它可读取合约状态、执行 dry-run,并通过 `baw` 在用户确认后发送写入交易。

主要功能

  1. 01读取 Agent、绑定、发行和持仓状态
  2. 02将 Agent 钱包绑定到 X 身份
  3. 03创建发行并在 bonding curve 上交易
  4. 04查询并领取税费代币分红
  5. 05支持 dry-run 预览 calldata
  6. 06执行交易前要求确认

适用场景

  1. 01检查发行资格和合约暂停状态
  2. 02使用后端签发的声明绑定钱包
  3. 03创建发行或买卖代币
  4. 04处理累计税费或领取分红

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/realbond-ai/realbond-skill --skill realbond

安装后在 Claude Code 中输入/realbond确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

.env.example
README.md
package.json
.gitignore
package-lock.json
LICENSE
src/
baw.ts
chain.ts
cli.ts
bindingClaim.ts
calldata.ts
config.ts
ticket.ts
fee.ts
simulate.ts
src/abi/
taxToken.json
launchpad.json
registry.json
src/commands/
parse.ts
bind.ts
context.ts
pause.ts
position.ts
status.ts
tax.ts
trade.ts
write.ts
test/
baw.test.ts
calldata.test.ts
fee.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_URLstatus、position、bind、create、buy、sell(暂停检查、报价或 all)、税费命令BSC JSON-RPC 端点,例如 https://bsc-dataseed.binance.org
LAUNCHPAD_REGISTRYstatus、bindv2 IdentityRegistry 代理;未设置时,status 会输出 registry: "not configured"(以及 paused.bind: "not configured")
LAUNCHPAD_ADDRESS所有 launch 命令、statusv2 AgentLaunchpad 代理;未设置时,status 会输出 paused.launch/paused.trade: "not configured"
AGENT_WALLETbind、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)

  1. 在 Verify 页面输入 Agent 钱包,确认绑定信息为公开信息,授权只读 X 访问权限,并下载 binding.json:这是由 Realbond 后端签名的声明(claim、signature、registry、chainId)。关注者等级根据授权时的关注者数量设定。
  2. 在一小时内运行 bind binding.json:声明包含一个在授权后一小时到期的 deadline,剩余时间不足 2 分钟(120 秒)时,CLI 会拒绝执行。
  3. 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 前停止并显示解码后的错误名称。
  4. 交易通过 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.0101 BNB。每次买入都会先调用 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 上交易,不受此暂停影响。

每次执行前确认

每个写入命令都会执行以下步骤:

  1. baw contract-call preview --binanceChainId 56 --from <AGENT_WALLET> --to <contract> --value <wei> --inputData <calldata> [--gasLimit <cap>] --json
  2. 将预览结果(模拟、风险)打印到 stderr,并询问 Execute this transaction? [y/N]。
  3. 只有输入 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,否则它不会有帮助。

评论

支持 Markdown