ipld-eth-server/README.md
2018-04-10 09:07:55 -05:00

2.0 KiB

Vulcanize DB

Build Status

Dependencies

Installation

go get github.com/vulcanize/vulcanizedb

Setting up the Database

  1. Install Postgres

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

  3. createdb vulcanize_public

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

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

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

    • See below for configuring additional environments

Configuration

  • To use a local Ethereum node, copy environments/public.toml.example to environments/public.toml and update the ipcPath to the local node's IPC filepath:

    • when using geth:

      • The IPC file is called geth.ipc.
      • The geth IPC file path is printed to the console when you start geth.
      • The default location is:
        • Mac: $HOME/Library/Ethereum
        • Linux: $HOME/.ethereum
    • when using parity:

      • The IPC file is called jsonrpc.ipc.
      • The default location is:
        • Mac: $HOME/Library/Application\ Support/io.parity.ethereum/
        • Linux: $HOME/.local/share/io.parity.ethereum/
  • See environments/infura.toml to configure commands to run against infura, if a local node is unavailable

Start syncing with postgres

Syncs VulcanizeDB with the configured Ethereum node.

  1. Start node (if fast syncing wait for initial sync to finish)
  2. In a separate terminal start vulcanize_db
    • vulcanizedb sync --config <config.toml> --starting-block-number <block-number>

Running the Tests

Unit Tests

  • go test ./pkg/...

Integration Tests

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