From 662d7e1d794334dbdc5d97508c80105cf7b67315 Mon Sep 17 00:00:00 2001 From: Matt Krump Date: Fri, 26 Jan 2018 13:51:13 -0600 Subject: [PATCH] Update README --- README.md | 55 +++++++++++++++++++++++-------------------------------- 1 file changed, 23 insertions(+), 32 deletions(-) diff --git a/README.md b/README.md index 23a45d42..c3201cc4 100644 --- a/README.md +++ b/README.md @@ -23,45 +23,34 @@ or run the migrations: `make migrate HOST_NAME=localhost NAME=vulcanize_public PORT=5432` * See below for configuring additional environments -Adding a new migration: `./scripts/create_migration ` - -## Start syncing with postgres -1. Start geth node (**if fast syncing wait for geth to finsh initial sync**) -2. In a separate terminal start vulcanize_db - - `vulcanizedb sync --config --starting-block-number ` - - * see `environments` for example config - -## Watch specific events -1. Start geth -2. In a separate terminal start vulcanize_db - - `vulcanizedb sync --config --starting-block-number ` -3. Create event filter - - `vulcanizedb addFilter --config --filter-filepath ` -4. The filters are tracked in the `log_filters` table and the filtered events -will show up in the `watched_log_events` view - * see `./filters` for example filter - -## Development Setup - -### Creating/Using a test node - -Syncing the against the public network takes many hours for the initial sync and will download 20+ GB of data. -Here are some instructions for creating a private test node that does not depend on having a network connection. - -1. Run `./scripts/setup` to create a private blockchain with a new account. - * This will result in a warning. -2. Run `./scripts/start_private_blockchain`. - ### IPC File Paths The default location for Ethereum is: - `$HOME/Library/Ethereum` for Mac - `$HOME/.ethereum` for Ubuntu - - `$GOPATH/src/gihub.com/vulcanize/vulcanizedb/test_data_dir/geth.ipc` for private blockchain. + - `$GOPATH/src/gihub.com/vulcanize/vulcanizedb/test_data_dir/geth.ipc` for private node. **Note the location of the ipc file is printed to the console when you start geth. It is needed to for configuration** +## Start syncing with postgres +1. Start geth node (**if fast syncing wait for geth to finsh initial sync**) +2. In a separate terminal start vulcanize_db + - `vulcanizedb sync --config --starting-block-number ` + + * see `./environments` for example config + +## Watch specific events +1. Start geth +2. In a separate terminal start vulcanize_db + - `vulcanizedb sync --config --starting-block-number ` +3. Create event filter + - `vulcanizedb addFilter --config --filter-filepath ` + * see `./filters` for example filter +4. The filters are tracked in the `log_filters` table and the filtered events +will show up in the `watched_log_events` view + +## Development Setup + ## Running the Tests ### Unit Tests @@ -70,7 +59,9 @@ The default location for Ethereum is: ### Integration Test -In order to run the integration tests, you will need to run them against a real blockchain. At the moment the integration tests require [Geth v1.7.2](https://ethereum.github.io/go-ethereum/downloads/) as they depend on the `--dev` mode, which changed in v1.7.3 +### Creating/Using a test node + +In order to run the integration tests, you will need to run them against a real node. At the moment the integration tests require [Geth v1.7.2](https://ethereum.github.io/go-ethereum/downloads/) as they depend on the `--dev` mode, which changed in v1.7.3 1. Run `make startprivate` in a separate terminal 2. Setup a test database and import the schema: