diff --git a/.gitignore b/.gitignore index 4b3b67a..5a5d3ba 100644 --- a/.gitignore +++ b/.gitignore @@ -68,3 +68,6 @@ typings/ backend/apollo-miner/apollo-miner.* backend/apollo-miner/*config* backend/apollo-miner/miner.events +backend/apollo-miner/futurebit-miner +backend/node/bitcoind +backend/start_swap.sh diff --git a/src/init.js b/src/init.js index 0ed2bd3..fa8f5aa 100644 --- a/src/init.js +++ b/src/init.js @@ -1,12 +1,15 @@ -const { writeFileSync, existsSync } = require('fs') +const { writeFileSync, readFileSync, existsSync } = require('fs') const { join } = require('path') const crypto = require('crypto') +const generator = require('generate-password') +const utils = require('./utils') +const { knex } = require('./db') initEnvFile() runMigrations() .then(startServer) -function initEnvFile () { +async function initEnvFile () { const envPath = join(__dirname, '..', '.env') const envExists = existsSync(envPath) if (!envExists) { @@ -23,11 +26,27 @@ function initEnvFile () { .map(({ name, value }) => `${name}=${value}`) .join('\n') + '\n' writeFileSync(envPath, envFile) + } else { + const envFile = readFileSync(envPath) + let envString = envFile.toString(); + if (!envString.match(/BITCOIND_PASSWORD=.*/)) { + console.log('Generating Bitcoin RPC password') + + const rpcPassword = generator.generate({ + length: 12, + numbers: true + }) + + await knex('settings').update({ + node_rpc_password: rpcPassword + }) + + await utils.auth.changeNodeRpcPassword(rpcPassword) + } } } async function runMigrations () { - const { knex } = require('./db') try { const resp = await knex.migrate.latest() } catch (err) {