blockbook/README.md

78 lines
3.0 KiB
Markdown
Raw Normal View History

# Blockbook
2017-08-28 11:10:33 -06:00
> **Blockbook is currently in the state of heavy development, do not expect this documentation to be up to date**
2018-05-30 09:15:22 -06:00
## Build and installation instructions
2018-05-30 09:15:22 -06:00
2018-08-29 02:13:17 -06:00
Officially supported platform is **Debian Linux** and **AMD64** architecture. Memory requirements for initial sync are
around 32 GB RAM and 100 GB of disk size. Fully synchronized instance takes around 10 GB RAM. Note that fast SSD disks
are highly recommended.
2018-08-28 07:19:08 -06:00
Developer build guide is [here](/docs/build.md).
2018-02-07 14:51:19 -07:00
Sysadmin installation guide is [here](https://wiki.trezor.io/Blockbook).
2018-02-28 04:54:09 -07:00
2018-06-12 09:26:46 -06:00
# Implemented coins
2018-02-28 04:54:09 -07:00
The most significant coins implemented by Blockbook are:
- Bitcoin
- Bitcoin Testnet
- Bcash
- Bcash Testnet
2018-06-12 09:26:46 -06:00
- Bgold
- ZCash
2018-05-30 09:15:22 -06:00
- ZCash Testnet
2018-06-12 09:26:46 -06:00
- Dash
- Dash Testnet
- Litecoin
- Litecoin Testnet
- Ethereum
- Ethereum Testnet Ropsten
2018-01-25 10:04:35 -07:00
They are also supported by Trezor wallet. List of all coins is [here](/docs/ports.md).
2018-01-25 10:04:35 -07:00
# Data storage in RocksDB
2018-01-27 16:30:55 -07:00
Blockbook stores data the key-value store RocksDB. Database format is described [here](/docs/rocksdb.md).
2018-02-02 09:25:14 -07:00
## Registry of ports
Reserved ports are described [here](/docs/ports.md)
2018-02-02 09:25:14 -07:00
## Todo
2018-05-14 07:46:39 -06:00
- add db data version (column data version) checking to db to avoid data corruption
2018-05-11 06:20:01 -06:00
- improve txcache (time of storage, number/size of cached txs, purge cache)
- create/integrate blockchain explorer
2018-05-31 04:57:03 -06:00
- support all coins from https://github.com/trezor/trezor-common/tree/master/defs/coins
2018-05-11 06:20:01 -06:00
- full ethereum support (tokens, balance)
- protobuf websocket interface instead of socket.io
2018-02-02 09:25:14 -07:00
- xpub index
- tests
2018-03-14 05:34:26 -06:00
- fix program dependencies to concrete versions
2018-05-11 06:20:01 -06:00
- protect socket.io interface against illicit usage
2018-08-29 02:13:17 -06:00
- ~~update documentation~~
2018-06-12 13:23:46 -06:00
- ~~collect blockbook db stats (number of items in indexes, etc)~~
2018-05-30 09:15:22 -06:00
- ~~optimize mempool (use non verbose get transaction, possibly parallelize)~~
- ~~update used paths and users according to specification by system admin~~
2018-05-11 06:20:01 -06:00
- ~~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~~
2018-04-06 04:01:28 -06:00
- ~~zcash support~~
- ~~basic ethereum support~~
2018-03-14 05:34:26 -06:00
- ~~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~~
2018-03-08 11:52:25 -07:00
- ~~support altcoins, abstraction of blockchain server/service~~
2018-03-07 15:27:40 -07:00
- ~~cache transactions in RocksDB~~
2018-03-03 17:08:57 -07:00
- ~~parallel sync - rewrite - it is not possible to gracefully stop it now, can leave holes in the block~~
2018-02-28 04:54:09 -07:00
- ~~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~~