返回顶部
s

sohopaySOHO支付发起

Initiate payments on the SOHO Pay credit layer using EIP-712 signatures.

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.0.17
安全检测
已通过
373
下载量
免费
免费
0
收藏
概述
安装方式
版本历史

sohopay

SOHO Pay - 信用层支付

该技能允许代理通过SOHO Pay的Creditor智能合约,使用spendWithAuthorization EIP-712流程发起支付。

代理使用预配置的钱包在链下签署支付授权,然后代表用户将交易提交到网络。

核心命令

使用该技能的主要方式是通过自然语言命令,映射到:

pay <金额> to <商户地址>

  • - <金额>:支付的数值(例如 10、0.5)。
  • <商户地址>:接收方的EVM地址(0x...)。不支持名称,该技能不会生成任何随机地址。

工作流程

支付(信用消费)

当您发出pay命令时,技能执行以下操作:

  1. 1. 解析输入:从用户请求中提取金额和商户地址。
  2. 验证商户地址:确认商户是有效的EVM地址;否则中止。
  3. 预检检查(BorrowerManager):
- 验证借款人是否已注册活跃。 - 检查信用额度是否足够支付请求金额。 - 按需可通过registerAgent自动注册代理一次。
  1. 4. 生成授权:为支付创建EIP-712类型化数据消息。
  2. 链下签名:使用配置的PRIVATE_KEY钱包(来自环境变量)签署授权消息。
  3. 链上执行:调用Creditor合约上的spendWithAuthorization函数,提供已签名的消息。
  4. 报告结果:确认后向用户返回交易哈希。

状态/资料检查

status辅助函数读取机器人的BorrowerManager资料 + USDC钱包余额:

  • - 调用s_borrowerProfiles(address)公共映射getter获取:
creditLimit, outstandingDebt, totalSpent, totalRepaid, spendingCount, repaymentCount, lastActivityTime, creditScore, isActive, isAgent, transactionIds。
  • - 调用IERC20(USDC).balanceOf(bot)获取同一地址的USDC钱包余额
  • 打印人类可读的摘要,以便您查看每个网络:
- 机器人是否已注册/活跃 - 信用额度以及资料是否被标记为代理 - 未偿债务和历史消费/还款总额 - 最后活动时间戳和信用评分 - 钱包中可用的USDC余额

这支持以下提示:

  • - check my bot status on testnet
  • check my bot outstanding debt on mainnet

还款(减少未偿债务)

repay辅助函数使用USDC偿还BorrowerManager和Creditor跟踪的outstandingDebt

  1. 1. 预检检查
- 验证借款人是否已注册活跃。 - 读取当前信用额度和任何现有outstandingDebt
  1. 2. USDC余额和授权
- 确保机器人钱包有足够的USDC余额用于请求的还款。 - 检查IERC20(USDC).allowance(bot, Creditor),如果太低,首先发送approve(Creditor, amount)交易。
  1. 3. 链上还款
- 从借款人钱包调用Creditor.repay(amount, USDC)。 - Creditor合约: - 将还款上限设为min(amount, outstandingDebt)。 - 通过applyPaymentToPlans将付款应用于BNPL计划。 - 通过updateOnRepayment更新借款人资料(新评分+额度)。 - 将USDC从借款人转移到Vault并调用vault.repayVaultDebt。 - 发出包含新评分和额度的还款事件。
  1. 4. 还款后状态
- 成功还款后,您可以再次运行status验证: - outstandingDebt已减少(或为0), - totalRepaid增加, - creditScore和creditLimit已更新。

这支持以下提示:

  • - repay my bot debt on testnet
  • repay 5 USDC of my bot debt on mainnet

配置

  • - 环境变量(运行时):签名钱包的私钥必须通过PRIVATEKEY环境变量提供。
  • 为什么需要私钥:OpenClaw被设计为作为自主代理运行。为了让它无需人工点击即可发起SOHO Pay交易,它必须能够自行签署EIP-712授权。
  • 仅本地使用(重要)PRIVATEKEY仅在运行OpenClaw的机器上本地使用。原始密钥从不发送给SOHO Pay、ClawHub或任何外部服务——只有已签名的消息和交易离开机器。任何运行此机器人的用户必须理解,该密钥控制所选网络上的任何资金。
  • 技能元数据:该技能将PRIVATE_KEY声明为必需的敏感凭证。您可以为Base主网和Base Sepolia使用同一个密钥,但请注意这可能会控制主网上的真实资金。
  • 网络:脚本支持Base主网(默认)和Base Sepolia(测试网)。它强制执行所选网络的预期chainId,如果RPC不匹配则中止。

默认值

以下值硬编码在脚本中以保持一致性,并在Base主网Base Sepolia上使用:

  • - Creditor合约:0xdb34d612dd9aa548f6c94af118f82a461a835e09
  • Borrower Manager:0xc6ecd37c42ee73714956b6a449b41bc1d46b07b0
  • 资产(USDC):0x43848d5a4efa0b1c72e1fd8ece1abf42e9d5e221(6位小数)
  • 支付计划ID:0

设置、安装和依赖

该技能是skills/sohopay下的一个小型Node.js项目。

  1. 1. 在OpenClaw运行的环境中设置PRIVATE_KEY
bash export PRIVATEKEY=0xYOURKEY_HERE

该地址将成为Base主网/Base Sepolia上的SOHO Pay代理。

  1. 2. 安装技能和依赖
bash clawhub install sohopay cd skills/sohopay npm install

这将安装package.json中声明的运行时依赖(当前为ethers和dotenv)。

  1. 3. 在所选网络上注册代理一次(在支付之前):
bash # Base主网(默认) node scripts/register.js

# 显式主网
node scripts/register.js mainnet

# Base Sepolia测试网
node scripts/register.js testnet

这将使用PRIVATE_KEY地址在BorrowerManager合约上调用registerAgent(agent)。

  1. 4. 注册后使用scripts/pay.js进行支付
bash # Base主网(未提供网络参数时的默认值) node scripts/pay.js 10 0xMerchantOnMainnet

# 显式主网
node scripts/pay.js mainnet 10 0xMerchantOnMainnet

# Base Sepolia测试网
node scripts/pay.js testnet 10 0xMerchantOnTestnet

这将使用SOHO Pay Creditor合约通过spendWithAuthorization进行信用消费。

  1. 5. 使用scripts/status.js检查状态/资料和余额
bash # Base主网 node scripts/status.js mainnet

# Base Sepolia测试网
node scripts/status.js testnet

这将读取代理的BorrowerManager资料和USDC钱包余额,并打印人类可读的摘要(信用额度、未偿债务、总额、评分和USDC余额)。

  1. 6. 使用USDC通过scripts/repay.js偿还未偿债务
bash # Base主网 node scripts/repay.js mainnet 10

# Base Sepolia测试网
node scripts/repay.js testnet 10

这将使用代理钱包中的USDC通过Creditor合约偿还outstandingDebt,更新借款人资料和金库债务,并发出还款事件。

安全说明

  • - PRIVATEKEY高度敏感。请像对待普通钱包密钥一样对待它:任何拥有此值的人都可以转移其控制的所有资金。
  • 仅本地签名:脚本在本地签署交易,从不通过网络传输原始私钥。只有签名和交易被发送到RPC端点。
  • 该技能从不自行触发;仅在用户、cron作业或更高级别工作流调用时执行。只要您理解这些自动化将如何使用您的PRIVATEKEY,将其接入自主流程(例如

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 soho-1776314769 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 soho-1776314769 技能

通过命令行安装

skillhub install soho-1776314769

下载

⬇ 下载 sohopay v1.0.17(免费)

文件大小: 16.63 KB | 发布时间: 2026-4-16 18:29

v1.0.17 最新 2026-4-16 18:29
**Summary: Simplified SOHO Pay agent skill, now using local wallet key for all actions and clearer helper scripts.**

- Refactored skill to use a single local PRIVATE_KEY for signing all authorizations (removed support for remote/abstract wallet signers).
- Added new helper scripts: `register.js`, `repay.js`, and `status.js` for agent registration, credit repayment, and borrower profile/status checks.
- Removed `src/signer/` logic and old `pay.js` in favor of simplified script structure under `scripts/`.
- Updated documentation for easier setup, natural-language mapping, and explicit security warnings about PRIVATE_KEY usage.
- Switched to a plain, default contract set for both Base mainnet and Base Sepolia, with hardcoded addresses and config checks.

Archiver·手机版·闲社网·闲社论坛·智能体自动化市场· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2026 闲社网·AI智能体论坛·AI自动化解决方案·http://xianshe.com

p2p_official_large
返回顶部