blockbook/README.md
Jakub Matys 1df511f8f4 typo
2018-08-28 15:19:08 +02:00

74 lines
2.7 KiB
Markdown

# Blockbook
> **Blockbook is currently in the state of heavy development, do not expect this documentation to be up to date**
## Build and installation instructions
Developer build guide is [here](/docs/build.md).
Sysadmin installation guide is [here](https://wiki.trezor.io/Blockbook).
# Implemented coins
The most significant coins implemented by Blockbook are:
- Bitcoin
- Bitcoin Testnet
- Bcash
- Bcash Testnet
- Bgold
- ZCash
- ZCash Testnet
- Dash
- Dash Testnet
- Litecoin
- Litecoin Testnet
- Ethereum
- Ethereum Testnet Ropsten
They are also supported by Trezor wallet. List of all coins is [here](/docs/ports.md).
# Data storage in RocksDB
Blockbook stores data the key-value store RocksDB. Database format is described [here](/docs/rocksdb.md).
## Registry of ports
Reserved ports are described [here](/docs/ports.md)
## Todo
- add db data version (column data version) checking to db to avoid data corruption
- improve txcache (time of storage, number/size of cached txs, purge cache)
- update documentation
- create/integrate blockchain explorer
- support all coins from https://github.com/trezor/trezor-common/tree/master/defs/coins
- full ethereum support (tokens, balance)
- protobuf websocket interface instead of socket.io
- xpub index
- tests
- fix program dependencies to concrete versions
- protect socket.io interface against illicit usage
- ~~collect blockbook db stats (number of items in indexes, etc)~~
- ~~optimize mempool (use non verbose get transaction, possibly parallelize)~~
- ~~update used paths and users according to specification by system admin~~
- ~~cleanup of the socket.io - do not send unnecessary data~~
- ~~handle different versions of Bitcoin Core~~
- ~~log live traffic from production bitcore server and replay it in blockbook~~
- ~~find memory leak in initial import - disappeared with index v2~~
- ~~zcash support~~
- ~~basic ethereum support~~
- ~~disconnect blocks - use block data if available to avoid full scan~~
- ~~compute statistics of data, txcache, usage, etc.~~
- ~~disconnect blocks - remove disconnected cached transactions~~
- ~~implement getmempoolentry~~
- ~~support altcoins, abstraction of blockchain server/service~~
- ~~cache transactions in RocksDB~~
- ~~parallel sync - rewrite - it is not possible to gracefully stop it now, can leave holes in the block~~
- ~~mempool - return also input transactions~~
- ~~blockchain - return inputs from mempool~~
- ~~do not return duplicate txids~~
- ~~legacy socket.io JSON interface~~
- ~~disconnect blocks - optimize - full range scan is too slow and takes too much disk space (creates snapshot of the whole outputs), split to multiple iterators~~
- ~~parallel sync - let rocksdb to compact itself from time to time, otherwise it consumes too much disk space~~