diff --git a/documentation/data-syncing.md b/documentation/data-syncing.md index 558cf13b..e838e47c 100644 --- a/documentation/data-syncing.md +++ b/documentation/data-syncing.md @@ -7,10 +7,21 @@ Syncs block headers from a running Ethereum node into the VulcanizeDB table `hea - Validates headers from the last 15 blocks to ensure that data is up to date. - Useful when you want a minimal baseline from which to track targeted data on the blockchain (e.g. individual smart contract storage values or event logs). -##### Usage -1. Start Ethereum node. -1. In a separate terminal start VulcanizeDB: -`./vulcanizedb headerSync --config --starting-block-number ` +#### Usage +- Run: `./vulcanizedb headerSync --config --starting-block-number ` +- The config file must be formatted as follows, and should contain an ipc path to a running Ethereum node: +```toml +[database] + name = "vulcanize_public" + hostname = "localhost" + user = "vulcanize" + password = "vulcanize" + port = 5432 + +[client] + ipcPath = +``` +- Alternatively, the ipc path can be passed as a flag instead `--client-ipcPath`. ## sync Syncs blocks, transactions, receipts and logs from a running Ethereum node into VulcanizeDB tables named @@ -19,21 +30,47 @@ Syncs blocks, transactions, receipts and logs from a running Ethereum node into - Validates headers from the last 15 blocks to ensure that data is up to date. - Useful when you want to maintain a broad cache of what's happening on the blockchain. -##### Usage -1. Start Ethereum node (**if fast syncing your Ethereum node, wait for initial sync to finish**). -1. In a separate terminal start VulcanizeDB: -`./vulcanizedb sync --config --starting-block-number ` +#### Usage +- Run `./vulcanizedb sync --config --starting-block-number ` +- The config file must be formatted as follows, and should contain an ipc path to a running Ethereum node: +```toml +[database] + name = "vulcanize_public" + hostname = "localhost" + user = "vulcanize" + password = "vulcanize" + port = 5432 + +[client] + ipcPath = +``` +- Alternatively, the ipc path can be passed as a flag instead `--client-ipcPath`. + +*Please note, that if you are fast syncing your Ethereum node, wait for the initial sync to finish.* ## coldImport Syncs VulcanizeDB from Geth's underlying LevelDB datastore and persists Ethereum blocks, transactions, receipts and logs into VulcanizeDB tables named `blocks`, `uncles`, `full_sync_transactions`, `full_sync_receipts` and `logs` respectively. -##### Usage -1. Assure node is not running, and that it has synced to the desired block height. -1. Start vulcanize_db - - `./vulcanizedb coldImport --config ` +#### Usage +1. Ensure the Ethereum node you're point at is not running, and that it has synced to the desired block height. +1. Run `./vulcanizedb coldImport --config ` 1. Optional flags: - `--starting-block-number `/`-s `: block number to start syncing from - `--ending-block-number `/`-e `: block number to sync to - `--all`/`-a`: sync all missing blocks + +The config file can be formatted as follows, and must contain the LevelDB path. + +```toml +[database] + name = "vulcanize_public" + hostname = "localhost" + user = "vulcanize" + password = "vulcanize" + port = 5432 + +[client] + leveldbpath = "/Users/user/Library/Ethereum/geth/chaindata" +```