Skip to content

Repository files navigation

ixo-blocksync

ixo GitHub GitHub repo size License: Apache 2.0

PostgresExpress.jsNodeJSTypeScriptDocker

Indexer-only service: syncs all the public info from an ixo blockchain to an instance of PostgreSQL (reads are served by ixo-blocksync-api). It gets fed from a ixo-blocksync-core database in order to speed up indexing and put less strain on nodes, which means you need an ixo-blocksync-core database connection in order to run this.

For now the only source for information is a ixo-blocksync-core database connection, but we plan on expanding that to different sources in the near future

Run

From Source

Requirements

git clone https://github.com/ixofoundation/ixo-blocksync.git
cd ixo-blocksync/

Copy .env.example to .env and configure. If this step is skipped, ixo-blocksync will use .env.example as the configuration by default.

  • Create a database called Blocksync
yarn install
yarn build
yarn start

Using Docker (with Compose)

Requirements

git clone https://github.com/ixofoundation/ixo-blocksync.git
cd ixo-blocksync/

Copy .env.example to .env and configure. If this step is skipped, ixo-blocksync will use .env.example as the configuration by default. Don't use quotations when asign env vars for docker Delete the seed folder in src/seed/* if you do not plan to import data from json Create a role(e.g. app_user) in the DB for postgress to work

docker build -t ixofoundation/ixo-blocksync:latest .
docker compose up -d

Indexer only — no query API

ixo-blocksync is the write half of the blocksync pair: it indexes the chain into PostgreSQL and runs the write-side cron jobs (tokenomics account refresh, entity externalId resolution, claim schemaType fetch from cellnode). All query traffic — GraphQL and REST — is served by ixo-blocksync-api from the same database.

The only public endpoints are for health monitoring:

Path Description
GET / Plain liveness text ("Indexer is Running") — used by k8s probes
GET /healthz DB round-trip returning the latest indexed chainId + blockHeight, so monitoring can verify the indexer is alive and progressing

About

Syncs all the public info from an ixo blockchain to an instance of PostgreSQL.

Topics

Resources

Stars

4 stars

Watchers

7 watching

Forks

Releases

Packages

Used by

Contributors

Languages