【问题标题】:Why no response from Blockchain websocket API?为什么 Blockchain websocket API 没有响应?
【发布时间】:2022-01-21 05:07:38
【问题描述】:

我的 websocket 连接有问题。 (就像你可能理解的那样,我想在地址获得交易时得到通知,等等......)

就 javascript 而言,我不是“超级明星”,但在我的脑海中,从我所读到的内容来看,这应该可行。

websocket 似乎已打开并正常工作,因为当我发送“op”:“blocks_sub”而不是地址时,我得到了未确认的交易,等等......

如果有人能指出我头痛的正确方向,我将不胜感激......

这是我的代码:

<!DOCTYPE html>
<html>
<meta charset="utf-8" />
<title>WebSocket</title>

<h1>WebSocket</h1>

<div id="output" style="font-size: x-large; color: blueviolet;">
    output go here ...
</div>
<br>

<script>
    $bitcoin_address = "bc1qcg3x50m3785la5qc5tqe2z8htutcn8deyjvc8u";

    var btcs = new WebSocket("wss://ws.blockchain.info/inv");

    btcs.onopen = function() {
        btcs.send(JSON.stringify({
            // "op": "blocks_sub"
            "op": "addr_sub",
            "addr": "$bitcoin_address"
        }));
    };

    btcs.onmessage = function(onmsg) {
        var response = JSON.parse(onmsg.data);
        var amount = response.x.out[0].value;
        var calAmount = amount / 100000000;
        document.getElementById("output").innerHTML = calAmount + "btc";
    }
</script>

【问题讨论】:

  • blockchain.info 文档说明了什么时候你将如何获得通知?
  • "$bitcoin_address" 模板字面量不是这样工作的,反正也不需要。

标签: javascript api websocket bitcoin


【解决方案1】:

没有与此地址相关的交易。与地址 bc1qcg3x50m3785la5qc5tqe2z8htutcn8deyjvc8u 的最后一笔交易发生在 @2022-01-20 20:09 UTCi.e.~ 11 小时前。 可能你后来订阅了。

【讨论】:

  • 是的,这是我最近做的一笔交易,看看它是否有效。但我确实在我希望的页面上收到了通知。
  • 您是否在您的程序正在侦听 websocket 时进行此事务?
  • 订阅后试试{ "op": "ping_tx }"看看能不能最新的交易。这个地址。
  • 是的。我在进行交易时打开了页面(上面的代码)。加上我的“onopen 函数”中的这一行: document.getElementById("output").innerHTML = "Connected";并且 DIV(输出)表示已连接
  • 进行交易之前这样做了吗?
猜你喜欢
  • 1970-01-01
  • 2021-11-08
  • 2021-03-10
  • 2020-10-16
  • 2021-09-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多