153 lines
5.9 KiB
HTML
153 lines
5.9 KiB
HTML
<!doctype html>
|
|
<html lang="en">
|
|
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
|
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm"
|
|
crossorigin="anonymous">
|
|
<style>
|
|
.row {
|
|
margin-top: 1%;
|
|
}
|
|
</style>
|
|
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/1.7.4/socket.io.js"></script>
|
|
<title>Test socket.io</title>
|
|
<script>
|
|
var socket;
|
|
function connect(server) {
|
|
socket = io(server, { transports: ['websocket'] });
|
|
socket.on('connect', function () {
|
|
console.log('socket connected');
|
|
document.getElementById('connectionStatus').innerText = "connected";
|
|
});
|
|
}
|
|
|
|
function getAddressTxids() {
|
|
var addresses = document.getElementById('getAddressTxidsAddresses').value.split(",");
|
|
var mempool = document.getElementById("getAddressTxidsMempool").checked;
|
|
lookupTransactionsIdsMempool(addresses, mempool, 2000000, 0, function (result) {
|
|
console.log('getAddressTxids sent successfully');
|
|
console.log(result);
|
|
document.getElementById('getAddressTxidsResult').innerText = JSON.stringify(result).replace(/,/g, ", ");
|
|
});
|
|
}
|
|
|
|
function lookupTransactionsIdsMempool(addresses, mempool, start, end, f) {
|
|
const method = 'getAddressTxids';
|
|
const rangeParam = mempool ? {
|
|
start,
|
|
end,
|
|
queryMempoolOnly: true,
|
|
} : {
|
|
start,
|
|
end,
|
|
queryMempol: false,
|
|
};
|
|
const params = [
|
|
addresses,
|
|
rangeParam,
|
|
];
|
|
return socket.send({ method, params }, f);
|
|
}
|
|
|
|
function getBlockHeader() {
|
|
var height = document.getElementById('getBlockHeaderHeight').value;
|
|
lookupBlockHash(parseInt(height), function (result) {
|
|
console.log('getBlockHeader sent successfully');
|
|
console.log(result);
|
|
document.getElementById('getBlockHeaderResult').innerText = JSON.stringify(result).replace(/,/g, ", ");
|
|
});
|
|
}
|
|
|
|
function lookupBlockHash(height, f) {
|
|
const method = 'getBlockHeader';
|
|
const params = [height];
|
|
return socket.send({ method, params }, f);
|
|
}
|
|
|
|
function estimateSmartFee() {
|
|
var blocks = document.getElementById('estimateSmartFeeBlocks').value;
|
|
var conservative = document.getElementById("estimateSmartFeeConservative").checked;
|
|
estimateSmartTxFee(parseInt(blocks), conservative, function (result) {
|
|
console.log('estimateSmartFee sent successfully');
|
|
console.log(result);
|
|
document.getElementById('estimateSmartFeeResult').innerText = JSON.stringify(result).replace(/,/g, ", ");
|
|
});
|
|
}
|
|
|
|
function estimateSmartTxFee(blocks, conservative, f) {
|
|
const method = 'estimateSmartFee';
|
|
const params = [blocks, conservative];
|
|
return socket.send({ method, params }, f);
|
|
}
|
|
</script>
|
|
</head>
|
|
|
|
<body>
|
|
<div class="container">
|
|
<div class="row justify-content-center">
|
|
<h1>Socket.io tester</h1>
|
|
</div>
|
|
<div class="row">
|
|
<div class="col">
|
|
<input class="btn btn-secondary" type="button" value="Login" onclick="connect(document.getElementById('serverAddress').value)">
|
|
</div>
|
|
<div class="col-8">
|
|
<input type="text" class="form-control" id="serverAddress" value="ws://127.0.0.1:8334">
|
|
</div>
|
|
<div class="col form-inline">
|
|
<label id="connectionStatus">not connected</label>
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="col">
|
|
<input class="btn btn-secondary" type="button" value="getAddressTxids" onclick="getAddressTxids()">
|
|
</div>
|
|
<div class="col-8">
|
|
<input type="text" class="form-control" id="getAddressTxidsAddresses" value="2MxvKTW83yhVsGCr4BSRqmhca7r8TB2dgW8,bc1qrsf2l34jvqnq0lduyz0j5pfu2nkd93nnq0qggn">
|
|
</div>
|
|
<div class="col form-inline">
|
|
<input type="checkbox" id="getAddressTxidsMempool">
|
|
<label>only mempool</label>
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="col" id="getAddressTxidsResult">
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="col">
|
|
<input class="btn btn-secondary" type="button" value="getBlockHeader" onclick="getBlockHeader()">
|
|
</div>
|
|
<div class="col-8">
|
|
<input type="text" class="form-control" id="getBlockHeaderHeight" value="0">
|
|
</div>
|
|
<div class="col">
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="col" id="getBlockHeaderResult">
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="col">
|
|
<input class="btn btn-secondary" type="button" value="estimateSmartFee" onclick="estimateSmartFee()">
|
|
</div>
|
|
<div class="col-8">
|
|
<input type="text" class="form-control" id="estimateSmartFeeBlocks" value="20">
|
|
</div>
|
|
<div class="col form-inline">
|
|
<input type="checkbox" id="estimateSmartFeeConservative" checked>
|
|
<label>conservative</label>
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="col" id="estimateSmartFeeResult">
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</body>
|
|
|
|
</html> |