Skip to content

Permissionless-Software-Foundation/psf-slp-indexer

Repository files navigation

psf-slp-indexer

js-standard-style semantic-release

This application crawls the Bitcoin Cash (BCH) blockchain and indexes SLP token transactions. This code base is intended to be a replacement for SLPDB. The work is based on this report and the work was funded by this Flipstarter.

This indexer is one part of a collection of blockchain infrastructure. To understand how all the pieces fit together, read the Cash Stack Documentation.

If you have question or need help, ask in the community support Telegram channel.

Videos

Installation and Usage

This software is intended to be run inside a Docker container, controlled with Docker Compose, on a Ubuntu 20 OS.

  • Enter the production/docker directory.
  • Build the image with docker-compose build --no-cache
  • Ensure you have a BCHN full node running and fully synced. docker-bchn is recommended for running a full node.
  • Start the indexer with docker-compose up -d

Features

  • Written in standard JavaScript, using the Clean Architecture design pattern.
  • 100% unit test coverage. This allows for operational reliability and easy code collaboration.
  • GPLv2 Licensed to encourage wide adoption and free use throughout the crypto ecosystem.
  • LevelDB used for fast, efficient indexing and querying.
  • Drastically reduced memory usage, compared to SLPDB.
  • Fast indexing using transaction maps.
  • Docker container for easy deployment and horizontal scaling.

Development Environment

See the developer documentation for more information.

Requirements

  • Ubuntu Linux OS v20.4+
  • node ^16.17.0
  • npm ^8.15.0

Dev Environment Installation

Customize the slp-indexer.sh bash shell script to point to the a BCH full node with the standard JSON RPC. docker-bchn is recommended for running a full node.

git clone https://github.com/Permissionless-Software-Foundation/psf-slp-indexer
cd psf-slp-indexer
npm install
./slp-indexer.sh

See the developer documentation for more information.

Usage

  • npm start Start server on live mode
  • npm run docs Generate API documentation
  • npm test Run mocha tests
  • docker-compose build Build a 'production' Docker container
  • docker-compose up Run the docker container

License

GPLv2

Contributing

Contribution are welcome! Check out the Contribution guide for guidence on contributing to this repository.