blockbook/README.md

74 lines
2.7 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-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)
- update documentation
- 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-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~~