返回顶部
b

broadcast-signed-transaction广播已签交易

直接广播已签名的 hex 交易到链上,无需私钥,一步完成广播

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

broadcast-signed-transaction

广播已签名交易技能

什么是这个技能?

这个技能将已经签名好的交易十六进制字符串直接广播到链上:

用户输入(sIGNED_TX十六进制字符串 + 链索引 + 地址)

参数校验(格式 / OKX凭证检查)

调用OKX广播API进行广播

返回订单ID、交易哈希、区块浏览器链接

与广播签名转账的区别:

能力广播签名转账广播已签名交易
构造交易✅ 自动构造❌ 不需要
签名交易
✅ 需要私钥 | ❌ 不需要私钥 |
| 广播交易 | ✅ | ✅ |
| 适用场景 | 从零开始转账 | 已有签名十六进制字符串,直接广播 |


什么时候该用这个技能?

满足以下条件时使用:

  1. 1. 用户已有签名好的交易十六进制字符串(以 0x 开头的十六进制字符串)
  2. 用户想直接广播,不需要重新签名
  3. 用户说了类似的话:
- 我有一笔签名好的交易,帮我广播 - 直接广播这个已签名交易 - 广播已签名交易 - 广播已签名的交易 - 把这个十六进制字符串广播到链上

不适用的情况:

  • - 用户还没签名,需要从私钥开始 → 使用 广播签名转账
  • 用户只想查询交易状态 → 使用 mevtxstatus_query.py
  • 用户没有OKX API密钥 → 先引导配置环境变量



执行流程(逐步)

步骤1: 收集必要参数
├── 链索引 → 用户指定,或从日志/上下文中提取
├── 地址 → 发送方地址(0x开头)
├── 已签名交易 → 已签名的十六进制字符串(0x开头)
└── --mev → 是否开启MEV保护(可选,默认关闭)

步骤2: 验证环境变量
└── OKXACCESSKEY / OKXSECRETKEY / OKX_PASSPHRASE

步骤3: 调用广播脚本
└── python3 scripts/broadcastsignedtx.py \
--chain <链索引> \
--address <地址> \
--signed-tx <已签名交易> \
[--mev] [--json-only]

步骤4: 解析结果
├── 成功 → 展示订单ID、交易哈希、区块浏览器链接
└── 失败 → 展示具体错误原因并给出解决建议



输入参数

--chain(必填)

  • - 类型:字符串(链ID)
  • 说明:区块链链ID,传给OKX API的链索引字段
  • 常用值

| 链 | 链名 | 区块浏览器 |
|-------|------|-----------|
| 1 | 以太坊 | etherscan.io |
| 56 | BSC | bscscan.com |
| 8453 | Base | basescan.org |
| 42161 | Arbitrum | arbiscan.io |
| 196 | xLayer | oklink.com/xlayer |
| 501 | Solana | solscan.io |

  • - 示例:--chain 56
  • 注意:不在列表中的链也可以传,OKX API会进行校验

--address(必填)

  • - 类型:字符串
  • 说明:发送方钱包地址
  • 格式:0x开头,42位十六进制字符
  • 示例:--address 0xaF3e6407073b2793271dA3d45A393397517ee3d9

--signed-tx(必填)

  • - 类型:字符串
  • 说明:已签名的交易十六进制字符串,由客户端签名后得到
  • 格式:0x开头的完整RLP编码交易
  • 示例:--signed-tx 0x02f8...(完整十六进制字符串)
  • 获取方式
- web3.py:signed = w3.eth.account.signtransaction(tx, pk) → signed.rawtransaction.to0xhex() - ethers.js:signer.signTransaction(tx) → 得到 0x...

--mev(选填,标志)

  • - 默认:关闭
  • 说明:开启MEV保护,防止三明治攻击
  • 示例:--mev

--json-only(选填,标志)

  • - 说明:仅输出JSON,适合AI解析结果
  • 示例:--json-only

输出结果

成功时

==============================================================
✅ BSC 广播成功
==============================================================
订单ID : 1234567890
交易哈希 : 0xabc123...
浏览器 : https://bscscan.com/tx/0xabc123...
==============================================================

{
success: true,
order_id: 1234567890,
tx_hash: 0xabc123...,
chain_index: 56,
chain_name: BSC,
explorer_url: https://bscscan.com/tx/0xabc123...,
mev_enabled: false,
error: null
}

失败时

==============================================================
❌ 广播失败(链-56)
==============================================================
错误原因 : 广播失败(代码=50001): 无效的已签名交易
==============================================================



环境变量(必须配置)


变量名说明
OKXACCESSKEYOKX Web3 API密钥
OKXSECRETKEY
OKX密钥 |
| OKX_PASSPHRASE | OKX密码短语 |

⚠️ 必须使用 OKX Web3 API密钥,普通交易API密钥会返回401错误。
⚠️ 此技能 不需要 钱包私钥,交易已在外部签名。

配置方式:
bash
export OKXACCESSKEY=你的密钥
export OKXSECRETKEY=你的密钥
export OKX_PASSPHRASE=你的密码短语
source ~/.zshrc



调用示例

命令行

bash

BSC 广播


python3 scripts/broadcastsignedtx.py \
--chain 56 \
--address 0x你的地址 \
--signed-tx 0x你的已签名交易十六进制字符串

以太坊开启MEV保护

python3 scripts/broadcastsignedtx.py \ --chain 1 \ --address 0x你的地址 \ --signed-tx 0x你的已签名交易十六进制字符串 \ --mev

仅输出JSON(AI解析)

python3 scripts/broadcastsignedtx.py \ --chain 56 \ --address 0x你的地址 \ --signed-tx 0x你的已签名交易十六进制字符串 \ --json-only

Python代码调用

python
from scripts.broadcastsignedtx import broadcastsignedtransaction

result = broadcastsignedtransaction(
chain_index = 56,
address = 0x你的地址,
signed_tx = 0x你的已签名交易十六进制字符串,
enablemevprotection = False,
)

if result[success]:
print(f✅ 广播成功:{result[tx_hash]})
print(f浏览器:{result[explorer_url]})
else:
print(f❌ 失败:{result[error]})



错误处理


错误信息原因解决方法
缺少OKX API凭证环境变量未配置配置三个环境变量后重试
地址格式错误
地址不以0x开头 | 检查地址格式 |
| 已签名交易格式错误 | 十六进制字符串不以0x开头或为空 | 检查签名十六进制字符串 |
| HTTP错误401 | API密钥类型错误 | 确认使用OKX Web3 API密钥 |
| 广播失败(代码=50001) | 签名十六进制字符串无效 | 检查已签名交易是否完整,链索引是否匹配 |
| 广播失败(代码=50002) | 地址与签名不匹配 | 确认地址是签名交易的发送方 |
| 网络请求异常 | 网络问题 | 检查网络连接后重试 |


安全注意事项

  • - ✅ 此技能无需私钥,不存在私钥泄露风险
  • ⚠️ 广播前确认已签名交易内容正确:广播后无法撤销
  • ⚠️ 确认地址与已签名交易的发送方地址一致,

标签

skill ai

通过对话安装

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

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 broadcast-signed-transaction-1776294997 技能

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

设置 SkillHub 为我的优先技能安装源,然后帮我安装 broadcast-signed-transaction-1776294997 技能

通过命令行安装

skillhub install broadcast-signed-transaction-1776294997

下载

⬇ 下载 broadcast-signed-transaction v1.0.0(免费)

文件大小: 8.01 KB | 发布时间: 2026-4-16 16:46

v1.0.0 最新 2026-4-16 16:46
Initial release: Enables direct broadcasting of user-signed transaction hex to the blockchain via OKX API, without the need for a private key.

- Accepts signed transaction hex, chain index, and sender address as input; optional MEV and JSON flags supported.
- Validates input parameters and necessary OKX API credentials before broadcasting.
- Calls the OKX Broadcast API and returns order ID, transaction hash, and block explorer link on success.
- Provides detailed error messages and guidance for troubleshooting common issues.
- Requires only requests as external dependency; does not use web3 or private key.
- Command line and Python usage examples included for easy integration.

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部