blockbook

command module
v0.0.0-...-bbc531f Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 6, 2020 License: AGPL-3.0 Imports: 24 Imported by: 0

README

Blockbook/RUBTC

This is a fork of back-end service for Trezor wallet. Main features are:

  • index of addresses and address balances of the connected block chain
  • fast searches in the indexes
  • simple blockchain explorer
  • websocket, API and legacy Bitcore Insight compatible socket.io interfaces

Build and installation instructions

Officially supported platform is Debian Linux and AMD64 architecture.

Developer build guide is here.

Implemented coins

This fork is focused on Russian Bitcoin support. No other coins are implemented.

Common issues when running Blockbook or implementing additional coins

Out of memory when doing initial synchronization

How to reduce memory footprint of the initial sync:

  • disable rocksdb cache by parameter -dbcache=0, the default size is 500MB
  • run blockbook with parameter -workers=1. This disables bulk import mode, which caches a lot of data in memory (not in rocksdb cache). It will run about twice as slowly but especially for smaller blockchains it is no problem at all.
Error internalState: database is in inconsistent state and cannot be used

Blockbook was killed during the initial import, most commonly by OOM killer. By default, Blockbook performs the initial import in bulk import mode, which for performance reasons does not store all the data immediately to the database. If Blockbook is killed during this phase, the database is left in an inconsistent state.

See above how to reduce the memory footprint, delete the database files and run the import again.

Data storage in RocksDB

Blockbook stores data the key-value store RocksDB. Database format is described here.

API

Blockbook API is described here.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
Package bchain is a generated protocol buffer package.
Package bchain is a generated protocol buffer package.
Package tests provides functions for loading and running integration tests
Package tests provides functions for loading and running integration tests
rpc
Package rpc implements integration tests of blockchain RPC layer
Package rpc implements integration tests of blockchain RPC layer
sync
Package sync implements integration tests of synchronization code
Package sync implements integration tests of synchronization code

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL