Javascript/Blockchain.info Websocket API地址订阅

Javascript/Blockchain.info Websocket API地址订阅

问题描述:

我是比特币,Blockchain.info API和JavaScript的新手,但是,我试图实现跟踪特定比特币地址上的Live Payments通知的代码。这里的想法是......在用户扫描QR图像<img src="http://chart.googleapis.com/chart?chs=200x200&cht=qr&chl=12fMma2J15qre9bZPsX3AerdgWd9Poe9ee">并且支付到BTC地址12fMma2J15qre9bZPsX3AerdgWd9Poe9ee后,具有ID #websocket的Div将立即显示Live(不刷新网页),将比特币的数量转移到地址,从而将div的初始内容从monitoring...切换到转移金额Recieved: 0.003 BTCJavascript/Blockchain.info Websocket API地址订阅

我写了一段代码......但我不确定我错过了什么。请帮忙。谢谢。

代码:

 <div class="row"> 
      <div class="col-md-4 "> 
       <img src="http://chart.googleapis.com/chart?chs=200x200&cht=qr&chl=12fMma2J15qre9bZPsX3AerdgWd9Poe9ee"> 
       <div id="websocket"> 
        Monitoring Transactions ... 
       </div> 

       <script> 
       var btcs = new WebSocket("12fMma2J15qre9bZPsX3AerdgWd9Poe9ee"); 
       btcs.onopen = function() { 
        btcs.send(JSON.stringify({"op":"addr_sub", "addr":"12fMma2J15qre9bZPsX3AerdgWd9Poe9ee"})); 
       }; 

       btcs.onmessage = function (onmsg) { 
        var response = JSON.parse(onmsg.data); 
        var getOutputs = response.x.out; 
        var countOuts = getOutputs.length; 

        for (i=0; i < countOuts; i++){ 
         var outAdd = response.x.out[i].addr; 
         var address = "12fMma2J15qre9bZPsX3AerdgWd9Poe9ee"; 
         if (outAdd == address){ 
          var amount =response.x.out[i].value; 
          var calAmount = Amount/100000000; 
          document.getElementById("websocket").innerHTML = "Recieved" + calAmount + "BTC"; 
         } 
        } 
       }; 
       </script> 

      </div> 
      <div class="col-md-8"> 
       <!-- more html stuff goes here --> 
      </div> 
     </div> 

也许你需要把wss://ws.blockchain.info/inv而起始地址的地方一个新的套接字。

我没有看到一个连接正在取得blockchain的API代码的任何地方,所以我猜这个

var btcs = new WebSocket("12fMma2J15qre9bZPsX3AerdgWd9Poe9ee"); 

应该使用来代替目标比特币钱包地址API的地址。