Skip to content

Commit 6ceb29a

Browse files
authored
Readme update images (#95)
* Update README file Added formatting and process updates to the README file. * Add images to README.md
1 parent c8e0bbd commit 6ceb29a

File tree

1 file changed

+18
-77
lines changed

1 file changed

+18
-77
lines changed

README.md

Lines changed: 18 additions & 77 deletions
Original file line numberDiff line numberDiff line change
@@ -115,43 +115,11 @@ _If you cloned the repository, you can run `make run-testnet-offline`._
115115
from [`rosetta-sdk-go`](https://github.com/coinbase/rosetta-sdk-go) instead
116116
of a new Bitcoin-specific implementation of packages of similar functionality. Below
117117
you can find a high-level overview of how everything fits together:
118-
```text
119-
+------------------------------------------------------------------+
120-
| |
121-
| +--------------------------------------+ |
122-
| | | |
123-
| | indexer | |
124-
| | | |
125-
| | +--------+ | |
126-
+-------------------+ pruner <----------+ | |
127-
| | +--------+ | | |
128-
+-----v----+ | | | |
129-
| bitcoind | | +------+--------+ | |
130-
+-----+----+ | +--------> block_storage <----+ | |
131-
| | | +---------------+ | | |
132-
| | +---+----+ | | |
133-
+-------------------> syncer | | | |
134-
| +---+----+ | | |
135-
| | +--------------+ | | |
136-
| +--------> coin_storage | | | |
137-
| +------^-------+ | | |
138-
| | | | |
139-
+--------------------------------------+ |
140-
| | |
141-
+-------------------------------------------------------------------------------------------+ |
142-
| | | | |
143-
| +------------------------------------------------------------+ | | |
144-
| | | | |
145-
| | +---------------------+-----------------------+------+ | |
146-
| | | | | | |
147-
| +-------+---------+ +-------+---------+ +-------+-------+ +-----------+----------+ | |
148-
| | account_service | | network_service | | block_service | | construction_service +--------+
149-
| +-----------------+ +-----------------+ +---------------+ +----------------------+ |
150-
| |
151-
| server |
152-
| |
153-
+-------------------------------------------------------------------------------------------+
154-
```
118+
<p align="center">
119+
<a href="https://www.rosetta-api.org">
120+
<img width="90%" alt="Architecture" src="https://www.rosetta-api.org/img/rosetta_bitcoin_architecture.jpg">
121+
</a>
122+
</p>
155123

156124
### Optimizations
157125
* Automatically prune bitcoind while indexing blocks
@@ -160,50 +128,23 @@ you can find a high-level overview of how everything fits together:
160128

161129
#### Concurrent Block Syncing
162130
To speed up indexing, `rosetta-bitcoin` uses concurrent block processing with a "wait free" design (using [the channels function](https://golangdocs.com/channels-in-golang) instead of [the sleep function](https://pkg.go.dev/time#Sleep) to signal which threads are unblocked). This allows `rosetta-bitcoin` to fetch multiple inputs from disk while it waits for inputs that appeared in recently processed blocks to save to disk.
163-
```text
164-
+----------+
165-
| bitcoind |
166-
+-----+----+
167-
|
168-
|
169-
+---------+ fetch block data / unpopulated txs |
170-
| block 1 <------------------------------------+
171-
+---------+ |
172-
+--> tx 1 | |
173-
| +---------+ |
174-
| | tx 2 | |
175-
| +----+----+ |
176-
| | |
177-
| | +---------+ |
178-
| | | block 2 <-------------------+
179-
| | +---------+ |
180-
| +-----------> tx 3 +--+ |
181-
| +---------+ | |
182-
+-------------------> tx 4 | | |
183-
| +---------+ | |
184-
| | |
185-
| retrieve previously synced | +---------+ |
186-
| inputs needed for future | | block 3 <--+
187-
| blocks while waiting for | +---------+
188-
| populated blocks to save to +---> tx 5 |
189-
| disk +---------+
190-
+------------------------------------> tx 6 |
191-
| +---------+
192-
|
193-
|
194-
+------+--------+
195-
| coin_storage |
196-
+---------------+
197-
```
131+
132+
<p align="center">
133+
<a href="https://www.rosetta-api.org">
134+
<img width="90%" alt="Concurrent Block Syncing" src="https://www.rosetta-api.org/img/rosetta_bitcoin_concurrent_block_synching.jpg">
135+
</a>
136+
</p>
198137

199138
## Testing with rosetta-cli
200-
To validate `rosetta-bitcoin`, [install `rosetta-cli`](https://github.com/coinbase/rosetta-cli#install) and run one of the following commands:
201-
* `rosetta-cli check:data --configuration-file rosetta-cli-conf/testnet/config.json` - This command validates that the Data API implementation is correct using the Bitcoin `testnet` node. It also ensures that the implementation does not miss any balance-changing operations.
202-
* `rosetta-cli check:construction --configuration-file rosetta-cli-conf/testnet/config.json` - This command validates the Construction API implementation. It also verifies transaction construction, signing, and submissions to the `testnet` network.
203-
* `rosetta-cli check:data --configuration-file rosetta-cli-conf/mainnet/config.json` - This command validates that the Data API implementation is correct using the Bitcoin `mainnet` node. It also ensures that the implementation does not miss any balance-changing operations.
139+
To validate `rosetta-bitcoin`, [install `rosetta-cli`](https://github.com/coinbase/rosetta-cli#install)
140+
and run one of the following commands:
141+
* `rosetta-cli check:data --configuration-file rosetta-cli-conf/testnet/config.json` - This command validates that the Data API information in the `testnet` network is correct. It also ensures that the implementation does not miss any balance-changing operations.
142+
* `rosetta-cli check:construction --configuration-file rosetta-cli-conf/testnet/config.json` - This command validates the blockchain’s construction, signing, and broadcasting.
143+
* `rosetta-cli check:data --configuration-file rosetta-cli-conf/mainnet/config.json` - This command validates that the Data API information in the `mainnet` network is correct. It also ensures that the implementation does not miss any balance-changing operations.
204144

205145
## Issues
206-
Interested in helping fix issues in this repository? You can find to-dos in the [Issues](https://github.com/coinbase/rosetta-bitcoin/issues) section. Be sure to reach out on our [community](https://community.rosetta-api.org) before you tackle anything on this list.
146+
Interested in helping fix issues in this repository? You can find to-dos in the [Issues](https://github.com/coinbase/rosetta-bitcoin/issues) section with the `help wanted` tag. Be sure to reach out on our [community](https://community.rosetta-api.org) before you tackle anything on this list.
147+
207148

208149
## Development
209150
* `make deps` to install dependencies

0 commit comments

Comments
 (0)