From eefd9d9dd2164c6ff222250934812ac62df9bc15 Mon Sep 17 00:00:00 2001 From: Fabio Berger Date: Mon, 26 Nov 2018 14:59:27 +0000 Subject: Add command-line interface to @0x/migrations --- packages/migrations/src/cli.ts | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 packages/migrations/src/cli.ts (limited to 'packages/migrations/src/cli.ts') diff --git a/packages/migrations/src/cli.ts b/packages/migrations/src/cli.ts new file mode 100644 index 000000000..46a524e85 --- /dev/null +++ b/packages/migrations/src/cli.ts @@ -0,0 +1,38 @@ +#!/usr/bin/env node +import { RPCSubprovider, Web3ProviderEngine } from '@0x/subproviders'; +import { logUtils } from '@0x/utils'; +import * as yargs from 'yargs'; + +import { runMigrationsAsync } from './migration'; + +const args = yargs + .option('node-endpoint', { + describe: 'Endpoint where backing Ethereum node is hosted', + type: 'string', + demandOption: false, + default: 'http://localhost:8545', + }) + .option('from', { + describe: 'Ethereum address from which to deploy the contracts', + type: 'string', + demandOption: true, + }) + .example( + '$0 --node-endpoiont http://localhost:8545 --from 0x5409ed021d9299bf6814279a6a1411a7e866a631', + 'Full usage example', + ).argv; + +(async () => { + const rpcSubprovider = new RPCSubprovider(args['node-endpoint']); + const provider = new Web3ProviderEngine(); + provider.addProvider(rpcSubprovider); + provider.start(); + const txDefaults = { + from: args.from, + }; + await runMigrationsAsync(provider, txDefaults); + process.exit(0); +})().catch(err => { + logUtils.log(err); + process.exit(1); +}); -- cgit v1.2.3 From 527f074e598c8ac2e473428e0c192cfbb7a9314d Mon Sep 17 00:00:00 2001 From: Fabio Berger Date: Mon, 26 Nov 2018 15:03:58 +0000 Subject: Fix typo --- packages/migrations/src/cli.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'packages/migrations/src/cli.ts') diff --git a/packages/migrations/src/cli.ts b/packages/migrations/src/cli.ts index 46a524e85..94fbb5fe2 100644 --- a/packages/migrations/src/cli.ts +++ b/packages/migrations/src/cli.ts @@ -18,7 +18,7 @@ const args = yargs demandOption: true, }) .example( - '$0 --node-endpoiont http://localhost:8545 --from 0x5409ed021d9299bf6814279a6a1411a7e866a631', + '$0 --node-endpoint http://localhost:8545 --from 0x5409ed021d9299bf6814279a6a1411a7e866a631', 'Full usage example', ).argv; -- cgit v1.2.3 From c6592148a725768f652ddfa8f94aa3e2c6f7f213 Mon Sep 17 00:00:00 2001 From: Fabio Berger Date: Mon, 26 Nov 2018 15:57:49 +0000 Subject: Rename node-endpoint to rpc-url for clarity --- packages/migrations/src/cli.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'packages/migrations/src/cli.ts') diff --git a/packages/migrations/src/cli.ts b/packages/migrations/src/cli.ts index 94fbb5fe2..2404e7921 100644 --- a/packages/migrations/src/cli.ts +++ b/packages/migrations/src/cli.ts @@ -6,8 +6,8 @@ import * as yargs from 'yargs'; import { runMigrationsAsync } from './migration'; const args = yargs - .option('node-endpoint', { - describe: 'Endpoint where backing Ethereum node is hosted', + .option('rpc-url', { + describe: 'Endpoint where backing Ethereum JSON RPC interface is available', type: 'string', demandOption: false, default: 'http://localhost:8545', @@ -18,12 +18,12 @@ const args = yargs demandOption: true, }) .example( - '$0 --node-endpoint http://localhost:8545 --from 0x5409ed021d9299bf6814279a6a1411a7e866a631', + '$0 --rpc-url http://localhost:8545 --from 0x5409ed021d9299bf6814279a6a1411a7e866a631', 'Full usage example', ).argv; (async () => { - const rpcSubprovider = new RPCSubprovider(args['node-endpoint']); + const rpcSubprovider = new RPCSubprovider(args['rpc-url']); const provider = new Web3ProviderEngine(); provider.addProvider(rpcSubprovider); provider.start(); -- cgit v1.2.3