Put architecture at top
This commit is contained in:
parent
bd55ee7bbb
commit
398cbb2817
1 changed files with 43 additions and 43 deletions
86
README.md
86
README.md
|
@ -67,6 +67,49 @@ enabling it._
|
|||
You should also modify your open file settings to `100000`. This can be done on a linux-based OS
|
||||
with the command: `ulimit -n 100000`.
|
||||
|
||||
## Architecture
|
||||
`rosetta-bitcoin` uses the `syncer`, `storage`, `parser`, and `server` package
|
||||
from [`rosetta-sdk-go`](https://github.com/coinbase/rosetta-sdk-go) instead
|
||||
of a new Bitcoin-specific implementation of packages of similar functionality. Below
|
||||
you can find a high-level overview of how everything fits together:
|
||||
```text
|
||||
+------------------------------------------------------------------+
|
||||
| |
|
||||
| +--------------------------------------+ |
|
||||
| | | |
|
||||
| | indexer | |
|
||||
| | | |
|
||||
| | +--------+ | |
|
||||
+-------------------+ pruner <----------+ | |
|
||||
| | +--------+ | | |
|
||||
+-----v----+ | | | |
|
||||
| bitcoind | | +------+--------+ | |
|
||||
+-----+----+ | +--------> block_storage <----+ | |
|
||||
| | | +---------------+ | | |
|
||||
| | +---+----+ | | |
|
||||
+-------------------> syncer | | | |
|
||||
| +---+----+ | | |
|
||||
| | +--------------+ | | |
|
||||
| +--------> coin_storage | | | |
|
||||
| +------^-------+ | | |
|
||||
| | | | |
|
||||
+--------------------------------------+ |
|
||||
| | |
|
||||
+-------------------------------------------------------------------------------------------+ |
|
||||
| | | | |
|
||||
| +------------------------------------------------------------+ | | |
|
||||
| | | | |
|
||||
| | +---------------------+-----------------------+------+ | |
|
||||
| | | | | | |
|
||||
| +-------+---------+ +-------+---------+ +-------+-------+ +-----------+----------+ | |
|
||||
| | account_service | | network_service | | block_service | | construction_service +--------+
|
||||
| +-----------------+ +-----------------+ +---------------+ +----------------------+ |
|
||||
| |
|
||||
| server |
|
||||
| |
|
||||
+-------------------------------------------------------------------------------------------+
|
||||
```
|
||||
|
||||
### Optimizations
|
||||
* Automatically prune bitcoind while indexing blocks
|
||||
* Reduce sync time with concurrent block indexing
|
||||
|
@ -115,49 +158,6 @@ in recently processed blocks to save to disk.
|
|||
+---------------+
|
||||
```
|
||||
|
||||
### Architecture
|
||||
`rosetta-bitcoin` uses the `syncer`, `storage`, `parser`, and `server` package
|
||||
from [`rosetta-sdk-go`](https://github.com/coinbase/rosetta-sdk-go) instead
|
||||
of a new Bitcoin-specific implementation of packages of similar functionality. Below
|
||||
you can find a high-level overview of how everything fits together:
|
||||
```text
|
||||
+------------------------------------------------------------------+
|
||||
| |
|
||||
| +--------------------------------------+ |
|
||||
| | | |
|
||||
| | indexer | |
|
||||
| | | |
|
||||
| | +--------+ | |
|
||||
+-------------------+ pruner <----------+ | |
|
||||
| | +--------+ | | |
|
||||
+-----v----+ | | | |
|
||||
| bitcoind | | +------+--------+ | |
|
||||
+-----+----+ | +--------> block_storage <----+ | |
|
||||
| | | +---------------+ | | |
|
||||
| | +---+----+ | | |
|
||||
+-------------------> syncer | | | |
|
||||
| +---+----+ | | |
|
||||
| | +--------------+ | | |
|
||||
| +--------> coin_storage | | | |
|
||||
| +------^-------+ | | |
|
||||
| | | | |
|
||||
+--------------------------------------+ |
|
||||
| | |
|
||||
+-------------------------------------------------------------------------------------------+ |
|
||||
| | | | |
|
||||
| +------------------------------------------------------------+ | | |
|
||||
| | | | |
|
||||
| | +---------------------+-----------------------+------+ | |
|
||||
| | | | | | |
|
||||
| +-------+---------+ +-------+---------+ +-------+-------+ +-----------+----------+ | |
|
||||
| | account_service | | network_service | | block_service | | construction_service +--------+
|
||||
| +-----------------+ +-----------------+ +---------------+ +----------------------+ |
|
||||
| |
|
||||
| server |
|
||||
| |
|
||||
+-------------------------------------------------------------------------------------------+
|
||||
```
|
||||
|
||||
## Testing with rosetta-cli
|
||||
To validate `rosetta-bitcoin`, [install `rosetta-cli`](https://github.com/coinbase/rosetta-cli#install)
|
||||
and run one of the following commands:
|
||||
|
|
Loading…
Reference in a new issue