diff --git a/index.js b/index.js index 077f6d4..5e89146 100755 --- a/index.js +++ b/index.js @@ -39,44 +39,45 @@ const ipfsConfig = { debug(`IPFS node:`, ipfsConfig); (async () => { - try { - const kredits = await Kredits.for( - { rpcUrl: argv.rpcUrl }, - { ipfsConfig: ipfsConfig } - ).init(); - - // Check the connection to the IPFS client - // TODO redesign IPFS wrapper API and do not use an internal attribute - const ipfsApi = kredits.ipfs._ipfsAPI; - - await ipfsApi.id(); - - debug(`Connecting to known IPFS node ${argv.bootstrapNode}`); - await ipfsApi.swarm.connect(argv.bootstrapNode); - - const ipfsPinner = new IpfsPinner(kredits, { - progress: argv.progress - }); - - await ipfsPinner.pinAll().then(cids => { - console.log(`\nSuccessfully pinned ${cids.length} documents`) - }); - - if (argv.watch) { - console.log('\nWatching contract events for new documents...'); - - ipfsPinner.watch(pin => { - console.log('Pinned a new document:', pin[0]["hash"]); - }); - } else { - process.exit(0); - } - - // TODO Add new deployment/DAO/org ID or all contract proxy addresses - // console.log(`Subscribed to DAO: ${kredits.Kernel.contract.address}`); - } catch(e) { - console.log('Failed to start'); - console.log(e); + const kredits = await Kredits.for( + { rpcUrl: argv.rpcUrl }, + { ipfsConfig: ipfsConfig } + ).init().catch(e => { + console.log('Failed to initialize Kredits:'); + console.log(e.message); process.exit(1); + }); + + // TODO redesign IPFS wrapper API and do not use an internal attribute + const ipfsApi = kredits.ipfs._ipfsAPI; + + await ipfsApi.id().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); + + const ipfsPinner = new IpfsPinner(kredits, { + progress: argv.progress + }); + + await ipfsPinner.pinAll().then(cids => { + console.log(`\nSuccessfully pinned ${cids.length} documents`) + }); + + if (argv.watch) { + console.log('\nWatching contract events for new documents...'); + + ipfsPinner.watch(pin => { + console.log('Pinned a new document:', pin[0]["hash"]); + }); + } else { + process.exit(0); } + + // TODO Add new deployment/DAO/org ID or all contract proxy addresses + // console.log(`Subscribed to DAO: ${kredits.Kernel.contract.address}`); })();