Skip to content

CodeChain-io/codechain-indexer

Repository files navigation

CodeChain Indexer Build Status codecov

A blockchain data indexing tool for CodeChain

Table of Contents

Install

Requirements

The software dependencies required to install and run CodeChain-indexer are:

  • Latest version of the CodeChain
  • PostgreSQL v11.*
  • Nodejs higher than version 10

Download

Download CodeChain-indexer code from the GitHub repository

git clone git@github.com:kodebox-io/codechain-indexer.git
cd codechain-indexer

Install packages

Use yarn package manager to install packages

yarn install

Before start

Dependency

  • Get CodeChain ready with the CodeChain RPC server
  • Get PostgreSQL database ready for indexing block data

Create the database and user on the PostgreSQL

Update configuration

Update ./create_user_and_db.sql and config/* files before creating database schema. If you want to create a production datatabase, please create config/production.json by copying config/dev.json

Mac
# Download postgresql with Homebrew
brew install postgresql
brew services start postgresql

# Create users and databases
psql postgres -f create_user_and_db.sql

# Create tables for production
NODE_ENV=production yarn migrate

# Create tables for development
yarn run migrate
Ubuntu
# Download postgresql
sudo apt install postgresql postgresql-contrib

# Create users and databases
sudo -u postgres psql -f create_user_and_db.sql

# Create tables for production
NODE_ENV=production yarn migrate

# Create tables for development
yarn migrate

Run (for development)

yarn run start

# You can change the host of CodeChain and DB host on the config/dev.json

Check CCCChanges

If you run the Indexer with the environment ENABLE_CCC_CHANGES_CHECK variable, the Indexer checks to see if CCCChanges is well calculated. If you want to receive an email when an error is found, please set the SENDGRID_API_KEY and SENDGRID_TO variables. If you want to receive a slack notification, please set the SLACK_WEBHOOK variable.

Run (for production)

yarn build
NODE_ENV=production node ./build/index.js

# You can change the host of CodeChain and DB host on the config/production.json

Test

# Create the test database
NODE_ENV=test yarn run migrate

# Start testing
yarn run test

API document

NODE_ENV=dev yarn run start

# Swagger UI is running at "http://host:port/api-docs/"

Tools

Delete all database data

yarn run reset

About

A blockchain data indexing tool for CodeChain

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published