All Projects β†’ trezor β†’ Blockbook

trezor / Blockbook

Licence: agpl-3.0
πŸ“˜ Trezor address/account balance backend

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to Blockbook

Trezor Firmware
πŸ”’ Trezor Firmware Monorepo
Stars: ✭ 430 (+40.98%)
Mutual labels:  bitcoin, trezor
Python Mnemonic
🐍 Mnemonic code for generating deterministic keys, BIP39
Stars: ✭ 369 (+20.98%)
Mutual labels:  bitcoin, trezor
Trezor Mcu
πŸ”’ Don't use this repo, use the new monorepo instead:
Stars: ✭ 315 (+3.28%)
Mutual labels:  bitcoin, trezor
Python Trezor
🐍 Don't use this repo, use the new monorepo instead:
Stars: ✭ 198 (-35.08%)
Mutual labels:  bitcoin, trezor
Trezor Hardware
πŸ”§ Hardware design of Trezor
Stars: ✭ 110 (-63.93%)
Mutual labels:  bitcoin, trezor
Trezor Crypto
πŸ”’ Don't use this repo, use the new monorepo instead:
Stars: ✭ 458 (+50.16%)
Mutual labels:  bitcoin, trezor
Trezor Core
πŸ”’ Don't use this repo, use the new monorepo instead:
Stars: ✭ 330 (+8.2%)
Mutual labels:  bitcoin, trezor
Trezor.js
⚠️ OBSOLETE. DO NOT USE! Use https://github.com/trezor/connect instead
Stars: ✭ 97 (-68.2%)
Mutual labels:  bitcoin, trezor
Trezor Suite
🍬 Trezor Suite Monorepo
Stars: ✭ 144 (-52.79%)
Mutual labels:  bitcoin, trezor
Connect
πŸ”— A platform for easy integration of Trezor into 3rd party services
Stars: ✭ 263 (-13.77%)
Mutual labels:  bitcoin, trezor
Go Coinbasepro
Go (golang) Client for the Coinbase Pro API https://docs.pro.coinbase.com
Stars: ✭ 277 (-9.18%)
Mutual labels:  bitcoin
Roadmap Do Desenvolvedor Web
🎒 Roadmap para se tornar um desenvolvedor web! Atualização 2021!
Stars: ✭ 276 (-9.51%)
Mutual labels:  backend
Xdag
XDAG (Dagger Coin) Official Main Repository. XDAG is a novel DAG based cryptocurrency.
Stars: ✭ 297 (-2.62%)
Mutual labels:  bitcoin
Edge React Gui
Edge Wallet React Native GUI for iOS and Android
Stars: ✭ 303 (-0.66%)
Mutual labels:  bitcoin
Orbit
Blockchain Transactions Investigation Tool
Stars: ✭ 278 (-8.85%)
Mutual labels:  bitcoin
Cli
✨ A powerful CLI for the Create Go App project. Create a new production-ready project with backend, frontend and deploy automation by running one CLI command!
Stars: ✭ 292 (-4.26%)
Mutual labels:  backend
Vim Monokai Tasty
VIM Colour scheme
Stars: ✭ 279 (-8.52%)
Mutual labels:  bitcoin
Balance Open
Balance Open: A GPL3-licensed macOS menu bar app for all the world’s currencies.
Stars: ✭ 279 (-8.52%)
Mutual labels:  bitcoin
Bitcoinprivate Legacy
Bitcoin Private is a Bitcoin and Zclassic fork which uses ZK-SNARK technology for privacy and fungibility.
Stars: ✭ 279 (-8.52%)
Mutual labels:  bitcoin
Varharrie.github.io
πŸ“˜ Personal blog site based on github issues.
Stars: ✭ 3,343 (+996.07%)
Mutual labels:  backend

Go Report Card

Blockbook

Blockbook is back-end service for Trezor wallet. Main features of Blockbook 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
  • support of multiple coins (Bitcoin and Ethereum type), with easy extensibility for other coins
  • scripts for easy creation of debian packages for backend and blockbook

Build and installation instructions

Officially supported platform is Debian Linux and AMD64 architecture.

Memory and disk requirements for initial synchronization of Bitcoin mainnet are around 32 GB RAM and over 180 GB of disk space. After initial synchronization, fully synchronized instance uses about 10 GB RAM. Other coins should have lower requirements, depending on the size of their block chain. Note that fast SSD disks are highly recommended.

User installation guide is here.

Developer build guide is here.

Contribution guide is here.

Implemented coins

Blockbook currently supports over 30 coins. The Trezor team implemented

  • Bitcoin, Bitcoin Cash, Zcash, Dash, Litecoin, Bitcoin Gold, Ethereum, Ethereum Classic, Dogecoin, Namecoin, Vertcoin, DigiByte, Liquid

the rest of coins were implemented by the community.

Testnets for some coins are also supported, for example:

  • Bitcoin Testnet, Bitcoin Cash Testnet, ZCash Testnet, Ethereum Testnet Ropsten

List of all implemented coins is in the registry of ports.

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.

Please add your experience to this issue.

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.

Check this or this issue for more info.

Running on Ubuntu

This issue discusses how to run Blockbook on Ubuntu. If you have some additional experience with Blockbook on Ubuntu, please add it to this issue.

My coin implementation is reporting parse errors when importing blockchain

Your coin's block/transaction data may not be compatible with BitcoinParser ParseBlock/ParseTx, which is used by default. In that case, implement your coin in a similar way we used in case of zcash and some other coins. The principle is not to parse the block/transaction data in Blockbook but instead to get parsed transactions as json from the backend.

Data storage in RocksDB

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

API

Blockbook API is described here.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].