Server backend for indexed ETH IPLD objects
Go to file
2018-03-12 14:21:34 -05:00
cmd Allow Parity as ingest node (#36) 2018-03-07 15:29:21 -06:00
db Allow Parity as ingest node (#36) 2018-03-07 15:29:21 -06:00
environments Get logs for a contract (#99) 2017-12-11 15:08:00 -06:00
integration_test Remove unused contract methods 2018-03-12 14:21:34 -05:00
libraries/shared Handle events 2018-03-05 10:01:50 -06:00
pkg Update FetchContractData to allow optional args 2018-03-12 14:21:34 -05:00
scripts Allow Parity as ingest node (#36) 2018-03-07 15:29:21 -06:00
test_config Handle events 2018-03-05 10:01:50 -06:00
utils Handle events 2018-03-05 10:01:50 -06:00
vendor Allow Parity as ingest node (#36) 2018-03-07 15:29:21 -06:00
.gitignore Handle events 2018-03-05 10:01:50 -06:00
.private_blockchain_password Add integration test 2017-10-24 15:36:50 -05:00
.travis.yml Allow Parity as ingest node (#36) 2018-03-07 15:29:21 -06:00
Gopkg.lock Allow Parity as ingest node (#36) 2018-03-07 15:29:21 -06:00
Gopkg.toml Allow Parity as ingest node (#36) 2018-03-07 15:29:21 -06:00
LICENSE Add LICENSE 2017-11-09 12:58:17 -06:00
main.go Merge old private repo into vulcanize 2018-01-25 18:08:26 -06:00
Makefile Allow Parity as ingest node (#36) 2018-03-07 15:29:21 -06:00
README.md Update README.md 2018-03-07 15:34:55 -06:00

Vulcanize DB

Build Status

Dependencies

Installation

go get github.com/vulcanize/vulcanizedb

Setting up the Databases

  1. Install Postgres

  2. Create a superuser for yourself and make sure psql --list works without prompting for a password.

  3. createdb vulcanize_private

  4. cd $GOPATH/src/github.com/vulcanize/vulcanizedb

  5. Import the schema: psql vulcanize_private < db/schema.sql

    or run the migrations: make migrate HOST_NAME=localhost NAME=vulcanize_public PORT=5432

    • See below for configuring additional environments

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 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 <config.toml> --starting-block-number <block-number>
    • see ./environments for example config

Running the Tests

Unit Tests

  1. go test ./pkg/...

Integration Test

  1. Run make startprivate in a separate terminal

  2. Setup a test database and import the schema:

    createdb vulcanize_private

    psql vulcanize_private < db/schema.sql

  3. go test ./... to run all tests.