AI 辅助接入
面向开发者说明如何使用 AI 编程助手定位 TRON 广播入口、生成接入改造方案、检查安全边界,并完成 CatFee 无感能量联调。
Last updated
项目类型:Node.js / Java / Python / Go / PHP / 其他
当前 TRON SDK 或节点调用方式:例如 TronWeb、HTTP API、gRPC、自研网关
签名发生位置:前端钱包、本地服务、后端服务、第三方钱包
广播入口:如果已知,写出函数名、文件名或接口路径
当前广播路径:/wallet/broadcasttransaction 或 /wallet/broadcasthex
目标无感能量节点:https://{NodeSlug}.catfee.vip
鉴权方式:API KEY / 绑定地址 / 临时不鉴权
AccessKey:不要提供真实值,只写 {AccessKey}
余额不足策略:继续广播 / 停止广播 / 待确认
测试交易类型:小额 TRC20 转账、授权或低风险合约调用broadcasttransaction
broadcasthex
BroadcastTransaction
sendRawTransaction
tronWeb.trx.sendRawTransaction
fullNode
TronWeb
/wallet/你是熟悉 TRON 和后端交易广播链路的开发者。
请阅读我提供的代码片段,帮我定位“已签名交易最终广播到 TRON 节点”的位置。
要求:
1. 区分构造交易、签名交易、广播交易三个阶段。
2. 只找广播入口,不要修改签名逻辑。
3. 标出可能调用 /wallet/broadcasttransaction、/wallet/broadcasthex、BroadcastTransaction 或 sendRawTransaction 的代码。
4. 如果当前代码把查询、构造和广播共用同一个节点配置,请说明只替换广播入口的风险和可选方案。
5. 不要要求我提供私钥、助记词、keystore 或真实 AccessKey。你是资深 TRON 开发者。我要把现有系统的已签名交易广播入口接入 CatFee 无感能量。
已知信息:
- 无感能量只处理已签名交易的广播阶段。
- 原交易仍由我的钱包或后端本地签名。
- 广播域名替换为 https://{NodeSlug}.catfee.vip。
- HTTP 路径保持 TRON 原格式,例如 /wallet/broadcasttransaction 或 /wallet/broadcasthex。
- 如果使用 API KEY,请通过 HTTP header 或 gRPC metadata 传递 CF-NODE-KEY: {AccessKey}。
- 不允许把私钥、助记词、keystore 或 AccessKey 写进前端源码。
请基于我提供的代码:
1. 给出最小改动方案。
2. 明确哪些文件要改,哪些文件不要改。
3. 保持签名、交易体、owner 地址和合约参数不变。
4. 增加环境变量读取节点域名和 AccessKey 的示例。
5. 给出联调验证清单。请以代码审查方式检查这次 CatFee 无感能量接入改动。
重点检查:
1. 是否只改了已签名交易广播入口。
2. 是否误改了签名逻辑、交易构造逻辑、owner 地址或合约参数。
3. 是否把 CF-NODE-KEY、AccessKey、节点域名或其他凭证暴露在前端包、日志、公开仓库或截图中。
4. 是否区分了合约交易和普通 TRX 转账的预期行为。
5. 是否处理了余额不足、节点停用、鉴权失败、限频和广播失败。
6. 是否用小额 TRC20 转账或授权交易完成端到端验证。
请按“必须修改 / 建议优化 / 可以上线前确认”的格式输出。const nodeUrl = process.env.CATFEE_NODE_URL;
const nodeKey = process.env.CATFEE_NODE_KEY;
async function broadcastSignedTransaction(signedTransaction) {
const response = await fetch(`${nodeUrl}/wallet/broadcasttransaction`, {
method: "POST",
headers: {
"Content-Type": "application/json",
"CF-NODE-KEY": nodeKey,
},
body: JSON.stringify(signedTransaction),
});
return response.json();
}