electrum

Electrum Bitcoin wallet
git clone https://git.parazyd.org/electrum
Log | Files | Refs | Submodules

commit a132525a2b73f6f23b2fe6d4105aead6b23c7ad1
parent da544794b7726bd6eeb5e83f7bc5465e507aa492
Author: ThomasV <thomasv@electrum.org>
Date:   Wed, 21 Sep 2016 14:48:05 +0200

Merge pull request #1935 from ser/add-ws-host-port

Adding possibility of websockets configuration
Diffstat:
Mlib/wallet.py | 2++
Mlib/www/index.html | 33+++++++++++++++++++--------------
2 files changed, 21 insertions(+), 14 deletions(-)

diff --git a/lib/wallet.py b/lib/wallet.py @@ -1052,6 +1052,8 @@ class Abstract_Wallet(PrintError): out['request_url'] = os.path.join(baseurl, key) out['URI'] += '&r=' + out['request_url'] out['index_url'] = os.path.join(baseurl, 'index.html') + '?id=' + key + out['websocket_server'] = config.get('websocket_server', 'localhost') + out['websocket_port'] = config.get('websocket_port', 9999) return out def get_request_status(self, key): diff --git a/lib/www/index.html b/lib/www/index.html @@ -34,11 +34,13 @@ if (id) { $("<p />").text(data.amount/100000000 + "BTC").appendTo($("p#amount")); $("a").attr("href", data.URI); $("<p />").text("Powered by Electrum").appendTo($("p#powered")); + var websocket_server = data.websocket_server; + var websocket_port = data.websocket_port; $(function () { var current; var max = 100; var initial = data.time; - var duration = data.exp; + var duration = data.exp; if(duration){ var current = 100 * (Math.floor(Date.now()/1000) - initial)/duration; $("#progressbar").progressbar({ @@ -57,6 +59,22 @@ if (id) { var interval = setInterval(update, 1000); } }); + + var wss_address = "wss://" + websocket_server + ":" + websocket_port +"/"); + console.log("Opening WSS: " + wss_address) + var ws = new WebSocket(wss_address); + + ws.onopen = function() { + ws.send('id:' + id); + }; + ws.onmessage = function (evt) { + var received_msg = evt.data; + if(received_msg == 'paid'){ + $("#container").html("This invoice has been paid."); + } + else alert("Message is received:"+ received_msg); + }; + }) .fail(function() { console.log("error fail"); @@ -64,19 +82,6 @@ if (id) { }); }; -var ws = new WebSocket("wss://" + window.location.hostname + ":9999/"); -ws.onopen = function() { - ws.send('id:' + id); -}; -ws.onmessage = function (evt) { - var received_msg = evt.data; - if(received_msg == 'paid'){ - $("#container").html("This invoice has been paid."); - } - else alert("Message is received:"+ received_msg); -}; - - // See http://stackoverflow.com/questions/29186154/chrome-clicking-mailto-links-closes-websocket-connection $(document).on('click', 'a[href^="bitcoin:"]', function (e) { e.preventDefault();