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:
Nicolas Gotchac
2016-11-03 12:04:25 +01:00
committed by Gav Wood
parent d101cb5247
commit d99f1b517c
6 changed files with 62 additions and 2 deletions

View File

@@ -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;

View File

@@ -25,6 +25,7 @@ const initialState = {
clientVersion: '',
coinbase: '',
defaultExtraData: '',
enode: '',
extraData: '',
gasFloorTarget: new BigNumber(0),
hashrate: new BigNumber(0),