Update documentation and tests
parent
0d47b69b3c
commit
ac1465d091
|
@ -765,6 +765,7 @@ The websocket interface provides the following requests:
|
|||
The client can subscribe to the following events:
|
||||
|
||||
- `subscribeNewBlock` - new block added to blockchain
|
||||
- `subscribeNewTransaction` - new transaction added to blockchain (mempool for all addresses)
|
||||
- `subscribeAddresses` - new transaction for given address (list of addresses)
|
||||
- `subscribeFiatRates` - new currency rate ticker
|
||||
|
||||
|
@ -791,5 +792,3 @@ Example for subscribing to an address (or multiple addresses)
|
|||
}
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
|
|
|
@ -1421,6 +1421,20 @@ func websocketTestsBitcoinType(t *testing.T, ts *httptest.Server) {
|
|||
},
|
||||
want: `{"id":"36","data":[{"time":1521514800,"txs":1,"received":"1","sent":"0","sentToSelf":"0","rates":{"eur":1301,"usd":2001}}]}`,
|
||||
},
|
||||
{
|
||||
name: "websocket subscribeNewTransaction",
|
||||
req: websocketReq{
|
||||
Method: "subscribeNewTransaction",
|
||||
},
|
||||
want: `{"id":"37","data":{"subscribed":true}}`,
|
||||
},
|
||||
{
|
||||
name: "websocket unsubscribeNewTransaction",
|
||||
req: websocketReq{
|
||||
Method: "unsubscribeNewTransaction",
|
||||
},
|
||||
want: `{"id":"38","data":{"subscribed":false}}`,
|
||||
},
|
||||
}
|
||||
|
||||
// send all requests at once
|
||||
|
|
|
@ -55,6 +55,7 @@
|
|||
pendingMessages = {};
|
||||
subscriptions = {};
|
||||
subscribeNewBlockId = "";
|
||||
subscribeNewTransactionId = "";
|
||||
subscribeAddressesId = "";
|
||||
if (server.startsWith("http")) {
|
||||
server = server.replace("http", "ws");
|
||||
|
@ -269,6 +270,33 @@
|
|||
});
|
||||
}
|
||||
|
||||
function subscribeNewTransaction() {
|
||||
const method = 'subscribeNewTransaction';
|
||||
const params = {
|
||||
};
|
||||
if (subscribeNewTransactionId) {
|
||||
delete subscriptions[subscribeNewTransactionId];
|
||||
subscribeNewTransactionId = "";
|
||||
}
|
||||
subscribeNewTransactionId = subscribe(method, params, function (result) {
|
||||
document.getElementById('subscribeNewTransactionResult').innerText += JSON.stringify(result).replace(/,/g, ", ") + "\n";
|
||||
});
|
||||
document.getElementById('subscribeNewTransactionId').innerText = subscribeNewTransactionId;
|
||||
document.getElementById('unsubscribeNewTransactionButton').setAttribute("style", "display: inherit;");
|
||||
}
|
||||
|
||||
function unsubscribeNewTransaction() {
|
||||
const method = 'unsubscribeNewTransaction';
|
||||
const params = {
|
||||
};
|
||||
unsubscribe(method, subscribeNewTransactionId, params, function (result) {
|
||||
subscribeNewTransactionId = "";
|
||||
document.getElementById('subscribeNewTransactionResult').innerText += JSON.stringify(result).replace(/,/g, ", ") + "\n";
|
||||
document.getElementById('subscribeNewTransactionId').innerText = "";
|
||||
document.getElementById('unsubscribeNewTransactionButton').setAttribute("style", "display: none;");
|
||||
});
|
||||
}
|
||||
|
||||
function subscribeAddresses() {
|
||||
const method = 'subscribeAddresses';
|
||||
var addresses = document.getElementById('subscribeAddressesName').value.split(",");
|
||||
|
@ -585,6 +613,20 @@
|
|||
<div class="row">
|
||||
<div class="col" id="subscribeNewBlockResult"></div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<input class="btn btn-secondary" type="button" value="subscribe new transaction" onclick="subscribeNewTransaction()">
|
||||
</div>
|
||||
<div class="col-4">
|
||||
<span id="subscribeNewTransactionId"></span>
|
||||
</div>
|
||||
<div class="col">
|
||||
<input class="btn btn-secondary" id="unsubscribeNewTransactionButton" style="display: none;" type="button" value="unsubscribe" onclick="unsubscribeNewTransaction()">
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col" id="subscribeNewTransactionResult"></div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<input class="btn btn-secondary" type="button" value="subscribe address" onclick="subscribeAddresses()">
|
||||
|
|
Loading…
Reference in New Issue