* moved JSON read writes to database.js

+ show commutative price and price per etho
+ use Roboto as the default font
+ use subscribe for new blocks to sync transactions better
This commit is contained in:
Taegus
2018-12-28 08:56:20 +01:00
parent 3315677ede
commit d33f90b738
14 changed files with 343 additions and 171 deletions

View File

@@ -2,7 +2,10 @@
const {ipcRenderer} = require('electron');
class Blockchain {
constructor() {}
constructor() {
this.txSubscribe = null;
this.bhSubscribe = null;
}
getBlock(blockToGet, includeData, clbError, clbSuccess) {
web3Local.eth.getBlock(blockToGet, includeData, function(error, block) {
@@ -129,7 +132,7 @@ class Blockchain {
rendererData.sumBalance = 0;
rendererData.addressData = [];
var wallets = ipcRenderer.sendSync('getJSONFile', 'wallets.json');
var wallets = EthoDatatabse.getWallets();
var counter = 0;
web3Local.eth.getAccounts(function(err, res) {
@@ -178,7 +181,7 @@ class Blockchain {
var rendererData = {};
rendererData.addressData = [];
var wallets = ipcRenderer.sendSync('getJSONFile', 'wallets.json');
var wallets = EthoDatatabse.getWallets();
var counter = 0;
web3Local.eth.getAccounts(function(err, res) {
@@ -212,6 +215,54 @@ class Blockchain {
});
}
subsribePendingTransactions(clbError, clbSuccess, clbData) {
this.txSubscribe = web3Local.eth.subscribe('pendingTransactions', function(error, result){
if (error) {
clbError(error);
} else {
clbSuccess(result);
}
}).on("data", function(transaction){
if (clbData) {
clbData(transaction);
}
});
}
unsubsribePendingTransactions(clbError, clbSuccess) {
this.txSubscribe.unsubscribe(function(error, success){
if(error) {
clbError(error);
} else {
clbSuccess(success) ;
}
});
}
subsribeNewBlockHeaders(clbError, clbSuccess, clbData) {
this.bhSubscribe = web3Local.eth.subscribe('newBlockHeaders', function(error, result){
if (error) {
clbError(error);
} else {
clbSuccess(result);
}
}).on("data", function(blockHeader){
if (clbData) {
clbData(blockHeader);
}
});
}
unsubsribeNewBlockHeaders(clbError, clbSuccess) {
this.bhSubscribe.unsubscribe(function(error, success){
if(error) {
clbError(error);
} else {
clbSuccess(success) ;
}
});
}
closeConnection() {
web3Local.currentProvider.connection.close();
}