Stub out Sled trees for zebra-client / blockchain scanning state

Co-authored-by: Henry de Valence <hdevalence@hdevalence.ca>
This commit is contained in:
Deirdre Connolly 2020-10-26 16:56:21 -04:00 committed by Deirdre Connolly
parent 31421b55d3
commit 32ed09262d
1 changed files with 14 additions and 3 deletions

View File

@ -149,10 +149,21 @@ blocks to other peers, as they are validated.
## Online client component
This component maintains its own sled tree. See RFC#0005
This component maintains its own Sled tree. See RFC#0005 for more details on Sled.
```
```
We use the following Sled trees:
| Tree | Keys | Values |
|-----------------------|-----------------------|-------------------------------------|
| `viewing_keys` | `IncomingViewingKey` | `String` |
| `height_by_key` | `IncomingViewingKey` | `BE32(height)` |
| `received_set_by_key` | `IncomingViewingKey` | ? |
| `spend_set_by_key` | `IncomingViewingKey` | ? |
| `nullifier_map_by_key`| `IncomingViewingKey` | ? |
See https://zips.z.cash/protocol/protocol.pdf#saplingscan
Zcash structures are encoded using `ZcashSerialize`/`ZcashDeserialize`.
This component runs inside zebrad. After incoming viewing keys are registered,
it holds onto them in order to do blockchain scanning. The component keeps track