diff --git a/src/core/index.js b/src/core/index.js index ba43f5703e..4bcd07a4b3 100644 --- a/src/core/index.js +++ b/src/core/index.js @@ -187,6 +187,14 @@ class IPFS extends EventEmitter { } boot(this) + this.once('ready', () => { this.__ready = true }) + } + get ready () { + return new Promise((resolve, reject) => { + if (this.__ready) return resolve(this) + this.on('ready', () => resolve(this)) + this.on('error', reject) + }) } } @@ -195,3 +203,8 @@ exports = module.exports = IPFS exports.createNode = (options) => { return new IPFS(options) } + +exports.create = (options) => { + let node = new IPFS(options) + return node.ready +}