Use enode RPC in UI (#3108)
* add enode rpc * spaces -> tabs * Added Enode to JSAPI // Use it to display in Status (#3106) * Added enode to JSON RPC Interfaces #3108
This commit is contained in:
committed by
Gav Wood
parent
d101cb5247
commit
d99f1b517c
@@ -29,6 +29,20 @@ export default class Status {
|
||||
this._pollPing();
|
||||
this._pollStatus();
|
||||
this._pollLogs();
|
||||
this._fetchEnode();
|
||||
}
|
||||
|
||||
_fetchEnode () {
|
||||
this._api
|
||||
.ethcore.enode()
|
||||
.then((enode) => {
|
||||
this._store.dispatch(statusCollection({ enode }));
|
||||
})
|
||||
.catch(() => {
|
||||
window.setTimeout(() => {
|
||||
this._fetchEnode();
|
||||
}, 1000);
|
||||
});
|
||||
}
|
||||
|
||||
_subscribeBlockNumber () {
|
||||
@@ -68,11 +82,17 @@ export default class Status {
|
||||
|
||||
_pollStatus = () => {
|
||||
const { secureToken, isConnected, isConnecting, needsToken } = this._api;
|
||||
|
||||
const nextTimeout = (timeout = 1000) => {
|
||||
setTimeout(this._pollStatus, timeout);
|
||||
};
|
||||
|
||||
if (isConnected !== this._store.getState().nodeStatus.isConnected) {
|
||||
this._fetchEnode();
|
||||
}
|
||||
|
||||
this._store.dispatch(statusCollection({ isConnected, isConnecting, needsToken, secureToken }));
|
||||
|
||||
if (!isConnected) {
|
||||
nextTimeout(250);
|
||||
return;
|
||||
|
||||
@@ -25,6 +25,7 @@ const initialState = {
|
||||
clientVersion: '',
|
||||
coinbase: '',
|
||||
defaultExtraData: '',
|
||||
enode: '',
|
||||
extraData: '',
|
||||
gasFloorTarget: new BigNumber(0),
|
||||
hashrate: new BigNumber(0),
|
||||
|
||||
Reference in New Issue
Block a user