We should also evaluate if it makes sense to keep the zebra-scan crate inside the zebra repo as it is now or whether we need to move it to another repo.
Related work
This a step towards enabling zcashd deprecation by replacing the zcashd built in wallet with a zebra backed equivalent as per zcash/librustzcash#1373 .
Motivation
In order to keep private key material outside of zebra, we need to decouple zebra-scan functionality from zebrad.
Design
Some diagrams for the design can be found in https://github.com/oxarbitrage/zebra-grpc-scan-spec/blob/main/zebra-scanner-process.md
We want to get started with the finalized state (reading from the database) part of the blockchain:
ReadStateService::init
method: https://github.com/ZcashFoundation/zebra/issues/8520ChainTipChange
so we can use it inzebra_scanner::spawn_init
: https://github.com/ZcashFoundation/zebra/issues/8580Non finalized state:
We should also evaluate if it makes sense to keep the zebra-scan crate inside the zebra repo as it is now or whether we need to move it to another repo.
Related work
This a step towards enabling zcashd deprecation by replacing the zcashd built in wallet with a zebra backed equivalent as per zcash/librustzcash#1373 .