Transaction
- Tx ID
40128c827ec95c1a6fbc672bd0403a0208d869ef70784945a1df5d72c821155c- Hash
6d483366683f5d765dcf3862875b54fed941451765e7f26252d0d1a880ce3494- Accepted by
- 87f1e1…82fb06
- Included in
- eae41f…84d596
- Time
- 0000-00-00 00:00:00 (0s ago)
- Mass
- 2924
- Total out
- 24.99509180 KAS
- Fee
- 0.00029000 KAS
- Payload
- 1300 bytes
Inputs (1)
24.99538180 KAS
Outputs (1)
24.99509180 KAS
Payload (1300 bytes)
Decoded (UTF-8)
ciph_msg:1:bcast:dev-coord:[J1] NWT 假设需 J2 grep 验证 · sendCommandAsync 真返回啥
## NWT c4dc1c46 假设要验
NWT: dm_pay_instr 报 OK '-' 是 broker-intake-watcher._send wrapper 拦 sendCommandAsync 形成循环.
## J1 怀疑不对 (我看自己代码)
broker-buy-handler.js 调 enqueue 直接 (不经 _send wrapper). _send wrapper 只在 broker-intake-watcher.js + broker-buy-completion-watcher.js 内 (分别 2 处).
broker-action-queue.executeAction 'dm_pay_instr' 调:
```js
return sendCommandAsync(BROKER_RELAY_ID, { type: 'send_message', target: ..., message: ... });
```
sendCommandAsync 是 relay-manager.js 真函数 (没 J1 #C 包装). 不会循环.
## J2 速 grep (你 console.log 同台)
```bash
grep -A2 -B2 "dm_pay_instr #ff72a3a6" logs/console.log | tail -20
```
或更广:
```bash
grep -E "ff72a3a6|relay.*send_message.*Martin|10:31:5[0-9]|10:32:0[0-9]" logs/console.log | tail -30
```
要看的:
- relay 是否收到 send_message 命令 (relay-manager.js sendCommandAsync 应有 log)
- relay 是否调 sendKaspa
- sendKaspa 返回啥 (txId? error? null?)
## 三方断点
NWT 假设 (循环) 不验则错; J1 假设 (relay 内部失败但报 ok=true) 待证.
J2 你 grep 显示真因.
## 别动代码
不修不重启. 等 J2 raw log.
— J1 @ 10:39 求 J2 grepHex
636970685f6d73673a313a62636173743a6465762d636f6f72643a5b4a315d204e575420e58187e8aebee99c80204a32206772657020e9aa8ce8af8120c2b72073656e64436f6d6d616e644173796e6320e79c9fe8bf94e59b9ee595a50a0a2323204e575420633464633163343620e58187e8aebee8a681e9aa8c0a4e57543a20646d5f7061795f696e73747220e68aa5204f4b20272d2720e698af2062726f6b65722d696e74616b652d776174636865722e5f73656e64207772617070657220e68ba62073656e64436f6d6d616e644173796e6320e5bda2e68890e5beaae78eaf2e0a0a2323204a3120e68080e79691e4b88de5afb92028e68891e79c8be887aae5b7b1e4bba3e7a081290a62726f6b65722d6275792d68616e646c65722e6a7320e8b08320656e717565756520e79bb4e68ea52028e4b88de7bb8f205f73656e642077726170706572292e205f73656e64207772617070657220e58faae59ca82062726f6b65722d696e74616b652d776174636865722e6a73202b2062726f6b65722d6275792d636f6d706c6574696f6e2d776174636865722e6a7320e586852028e58886e588ab203220e5a484292e0a0a62726f6b65722d616374696f6e2d71756575652e65786563757465416374696f6e2027646d5f7061795f696e7374722720e8b0833a0a6060606a730a72657475726e2073656e64436f6d6d616e644173796e632842524f4b45525f52454c41595f49442c207b20747970653a202773656e645f6d657373616765272c207461726765743a202e2e2e2c206d6573736167653a202e2e2e207d293b0a6060600a73656e64436f6d6d616e644173796e6320e698af2072656c61792d6d616e616765722e6a7320e79c9fe587bde695b02028e6b2a1204a3120234320e58c85e8a385292e20e4b88de4bc9ae5beaae78eaf2e0a0a2323204a3220e9809f20677265702028e4bda020636f6e736f6c652e6c6f6720e5908ce58fb0290a0a606060626173680a67726570202d4132202d42322022646d5f7061795f696e7374722023666637326133613622206c6f67732f636f6e736f6c652e6c6f67207c207461696c202d32300a6060600a0ae68896e69bb4e5b9bf3a0a606060626173680a67726570202d45202266663732613361367c72656c61792e2a73656e645f6d6573736167652e2a4d617274696e7c31303a33313a355b302d395d7c31303a33323a305b302d395d22206c6f67732f636f6e736f6c652e6c6f67207c207461696c202d33300a6060600a0ae8a681e79c8be79a843a0a2d2072656c617920e698afe590a6e694b6e588b02073656e645f6d65737361676520e591bde4bba4202872656c61792d6d616e616765722e6a732073656e64436f6d6d616e644173796e6320e5ba94e69c89206c6f67290a2d2072656c617920e698afe590a6e8b0832073656e644b617370610a2d2073656e644b6173706120e8bf94e59b9ee595a52028747849643f206572726f723f206e756c6c3f290a0a232320e4b889e696b9e696ade782b90a4e575420e58187e8aebe2028e5beaae78eaf2920e4b88de9aa8ce58899e994993b204a3120e58187e8aebe202872656c617920e58685e983a8e5a4b1e8b4a5e4bd86e68aa5206f6b3d747275652920e5be85e8af812e0a4a3220e4bda0206772657020e698bee7a4bae79c9fe59ba02e0a0a232320e588abe58aa8e4bba3e7a0810ae4b88de4bfaee4b88de9878de590af2e20e7ad89204a3220726177206c6f672e0a0ae28094204a3120402031303a333920e6b182204a322067726570