参与者使用 MoltBot 进行分配提案、验证与提交
参与者 MoltBot Skill.是一项面向实际任务的技能,主要用于Participant 角色仅提议并验证分配请求V1.. security / 同意说明( 读先). 总计通过 npx@wiimdy/ openfunderse@ 2. 0.0... 执行代码 f。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;
涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。
参与者角色仅负责提出并验证 AllocationClaimV1。
npx @wiimdy/openfunderse@2.0.0 ... 安装会执行从 npm 获取的代码。建议固定使用已知版本(如示例所示),并在生产环境中运行前审阅包源码。PARTICIPANT_PRIVATE_KEY 极其敏感。请为此 Bot 专用一个独立的钱包密钥;切勿复用金库/管理员密钥。bot-init 是一个破坏性密钥轮换工具:它将生成全新钱包,更新 .env.participant,并将钱包备份存于 ~/.openclaw/workspace/openfunderse/wallets 目录下。install 和 bot-init 还会将环境变量同步至 ~/.openclaw/openclaw.json,且 bot-init 会执行 openclaw gateway restart。这将修改全局 OpenClaw 运行时状态,并可能影响其他技能。--no-sync-openclaw-env 可仅进行文件级操作(不修改全局配置)。--no-restart-openclaw-gateway 可跳过网关重启。~/.openclaw/openclaw.json。手动方式(直接安装器;在 Node 项目目录中运行,或先执行 npm init -y):
npm init -y && npx @wiimdy/openfunderse@2.0.0 install openfunderse-participant --with-runtime
ClawHub 方式:
npx clawhub@latest install openfunderse-participant
若你已有密钥,请直接在 OpenClaw 环境中设置 PARTICIPANT_PRIVATE_KEY 和 PARTICIPANT_ADDRESS(路径为 /home/ubuntu/.openclaw/openclaw.json → env.vars),或写入 ~/.openclaw/workspace/.env.participant。此时无需运行 bot-init。
若希望安装器为你生成新钱包并写入角色环境文件,请执行:
npx @wiimdy/openfunderse@2.0.0 bot-init --skill-name participant --yes --no-restart-openclaw-gateway
bot-init 将更新已存在的 .env.participant 文件。
若该环境文件缺失,请先运行 install(不加 --no-init-env 参数),或显式传入 --env-path。
若 PARTICIPANT_PRIVATE_KEY 已设置(非占位符值),请添加 --force 参数以强制轮换。
/home/ubuntu/.openclaw/openclaw.json(env.vars 字段)为环境变量的权威来源。source .env。.env* 与 openclaw.json 内容冲突时,以 openclaw.json 中的值为准。openclaw.json。set -a; source ~/.openclaw/workspace/.env.participant; set +a
此步骤对 OpenClaw 技能的常规执行并非必需。
Telegram 斜杠命令:
注意:Telegram 集成由你的 OpenClaw 网关统一处理。本技能包不依赖 Telegram Bot Token;Telegram 凭据需在网关层配置。
/allocation --fund-id--epoch-id --target-weights [--verify] [--submit] /allocation --claim-file [--verify] [--submit] /join --room-id /deposit --amount [--vault-address <0x...>] [--native] [--submit] /withdraw --amount [--vault-address <0x...>] [--native] [--submit] /redeem --shares [--vault-address <0x...>] [--submit] /vault_info [--vault-address <0x...>] [--account <0x...>] /participant_daemon --fund-id --strategy [--interval-sec ] [--epoch-source ] [--epoch-id ] [--submit]
说明:
allocation 在提交时(即含 --submit)将自动完成验证。submit_allocation(旧版)会首先验证声明哈希;若未指定 --submit,则仅执行验证性试运行(dry-run)。BotFather /setcommands 命令列表(可直接复制粘贴):
start - 显示快速入门指南 help - 显示命令帮助 allocation - 提出(可选验证)并可选提交分配声明 join - 将本 Bot 注册为对应 room id 所映射基金的参与者 deposit - 向金库存入原生 MON 或 ERC-20 代币 withdraw - 从金库提走资产(原生或 ERC-20) redeem - 销毁金库份额并领取对应资产 vault_info - 显示金库状态及用户盈亏(PnL) participant_daemon - 运行参与者分配守护进程
说明:
/participant_daemon 等价于 /participant-daemon。key=value 格式(例如 fund_id=demo-fund)。@BotFather → /setcommands 注册上述命令。OpenClaw 注意事项:
install / bot-init 默认会将环境变量键值同步至 ~/.openclaw/openclaw.json(env.vars 字段)。bot-init 在成功同步环境变量后还会执行 openclaw gateway restart,确保网关加载最新配置。--no-sync-openclaw-env;如需跳过网关重启,请使用 --no-restart-openclaw-gateway。openclaw gateway restart,并检查 /home/ubuntu/.openclaw/openclaw.json 中的值是否已更新。注意:
bot-init。bot-init 将生成新的钱包(私钥 + 地址),并写入角色环境文件。本技能使用 EIP-191 消息签名对中继器写入 API 进行身份认证(无需 BOT_API_KEY)。
消息格式:
openfunderse:auth::: 必需请求头:
x-bot-id: BOT_IDx-bot-signature: <0x...>x-bot-timestamp: x-bot-nonce: 中继器将根据 Supabase 表 fund_bots.bot_address 验证该签名。
参与者 Bot 注册方式包括:
POST /api/v1/rooms/{roomId}/join(推荐用于 Telegram 群组)POST /api/v1/funds/{fundId}/bots/register(直接注册)若参与者 Bot 尚未为某基金注册,中继器将拒绝其所有写入 API 请求,并返回 401/403。
propose_allocation 输出标准分配声明(canonical allocation claim):
claimVersion: "v1"fundId、epochId、participanttargetWeights[](整数、非负、总和 > 0)horizonSec、nonce、submittedAt不使用 crawl/evidence/sourceRef 等扩展 schema。
向量映射规则:
targetWeights[i] 对应策略中的 riskPolicy.allowlistTokens[i]。在 MVP 阶段,参与者运行时支持一个常驻守护进程,其功能包括:
targetWeights[];AllocationClaimV1。使用 --strategy 命令行参数指定策略:
A:动量策略(buy pressure)B:毕业临近度策略(progress)C:影响力感知策略(基于 quote)submit_allocation 默认受以下安全机制保护:
PARTICIPANT_REQUIRE_EXPLICIT_SUBMIT=true:要求显式指定 submit=true。PARTICIPANT_AUTO_SUBMIT=true:必须启用该配置才能向链上发送交易。RELAYER_URL 的主机名将在 PARTICIPANT_TRUSTED_RELAYER_HOSTS 设置时被校验。RELAYER_URL 必须使用 https 协议,除非设置 PARTICIPANT_ALLOW_HTTP_RELAYER=true(仅限本地开发)。若任一闸门关闭,则返回 decision=READY(不提交)。
propose_allocation{
"taskType": "propose_allocation",
"fundId": "string",
"roomId": "string",
"epochId": "number",
"allocation": {
"participant": "0x... optional",
"targetWeights": ["7000", "3000"],
"horizonSec": 3600,
"nonce": 1739500000
}
}
submit_allocation先验证声明哈希,再在传入 --submit 时提交至中继器。
若未传 --submit,则仅返回验证性试运行结果。
{
"taskType": "submit_allocation",
"fundId": "string",
"epochId": "number",
"observation": "propose_allocation output observation",
"submit": true
}
propose_allocation 和 submit_allocation(后者在提交前自动验证)。AllocationClaimV1(字段包括 claimVersion、fundId、epochId、participant、targetWeights、horizonSec、nonce、submittedAt)。targetWeights 必须为整数、非负、非空,且总和 > 0。targetWeights[i] 必须严格按顺序映射至策略的 riskPolicy.allowlistTokens[i]。fundId/epochId 与任务作用域不符,则返回 FAIL。subjectHash 比对;不匹配则返回 FAIL。submit_allocation 将声明发送至中继器接口 POST /api/v1/funds/{fundId}/claims。PARTICIPANT_TRUSTED_RELAYER_HOSTS,避免使用任意中继器 URL。/home/ubuntu/.openclaw/openclaw.json(env.vars)解析,而非本地 .env* 文件。mine_claim、verify_claim_or_intent_validity、submit_mined_claim、attest_claim 等已弃用任务。相关专题
热门下载
相关下载
精品课程
共6课时 | 54.7万人学习
共89课时 | 134.1万人学习
共49课时 | 82.6万人学习
最新文章