diff --git a/server/src/helpers/gear.ts b/server/src/helpers/gear.ts index 4047ae6..d5fa287 100644 --- a/server/src/helpers/gear.ts +++ b/server/src/helpers/gear.ts @@ -29,12 +29,27 @@ export class GearApi { runtime: this.runtime, signedExtensions: this.signedExtensions, }); + + this.api.on('connected', () => { + logger.info('Connected established!'); + }); + this.api.on('disconnected', () => { - logger.warn('Reconnection...'); + logger.warn('Disconnected from node. Attempting to reconnect.'); this.connect(); }); + + this.api.on('error', (err: Error) => { + logger.error( + 'An error occurred with the node connection. Sleeping for 60 seconds then attempting to reconnect.', + { error: err } + ); + + const sleep = (ms: number) => new Promise(r => setTimeout(r, ms)); + sleep(60000).then(this.connect); + }); + this.genesis = this.api.genesisHash.toHex(); - return this.api; } static async connect(config: NetworkConfig): Promise {