diff --git a/index.js b/index.js index 5e89146..fea4d77 100755 --- a/index.js +++ b/index.js @@ -50,15 +50,22 @@ debug(`IPFS node:`, ipfsConfig); // TODO redesign IPFS wrapper API and do not use an internal attribute const ipfsApi = kredits.ipfs._ipfsAPI; + let connectBootstrapNode = true; - await ipfsApi.id().catch(e => { + await ipfsApi.id().then(res => { + if (res.id === argv.bootstrapNode.split('/')[argv.bootstrapNode.split('/').length-1]) { + connectBootstrapNode = false; + } + }).catch(e => { console.log('Failed to initialize IPFS:'); console.log(e.message); process.exit(1); }); - debug(`Connecting to known IPFS node ${argv.bootstrapNode}`); - await ipfsApi.swarm.connect(argv.bootstrapNode); + if (connectBootstrapNode) { + debug(`Connecting to known IPFS node ${argv.bootstrapNode}`); + await ipfsApi.swarm.connect(argv.bootstrapNode); + } const ipfsPinner = new IpfsPinner(kredits, { progress: argv.progress