Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Epic: Blockchain Scanning #7728

Open
21 of 69 tasks
mpguerra opened this issue Oct 11, 2023 · 3 comments
Open
21 of 69 tasks

Epic: Blockchain Scanning #7728

mpguerra opened this issue Oct 11, 2023 · 3 comments
Labels
A-blockchain-scanner Area: Blockchain scanner of shielded transactions A-compatibility Area: Compatibility with other nodes or wallets, or standard rules C-feature Category: New features C-tracking-issue Category: This is a tracking issue for other tasks Epic Zenhub Label. Denotes a theme of work under which related issues will be grouped

Comments

@mpguerra
Copy link
Contributor

mpguerra commented Oct 11, 2023

Motivation

We want zebra to be able to scan shielded transactions using viewing keys. This issue will track the steps and work necessary in order for zebra to implement blockchain scanning.

Scope

scope diagram

Feature: De-couple zebra-scan from zebrad

Future Iterations

RPC Interface improvements

Key and scanning results database

Scanner

Integration with zebrad

Security

User Testing / Experimental Builds

Performance Improvements

Broadcast channel

Implemented

Feature: RPC Interface - ✅

Issues - [x] #8153 - [x] Implement `ScanService` Requests - [x] #8203 - [x] #8220 - [x] #8204 - [x] #8205 - [x] #8206 - [x] #8207 - [x] Implement RPCs - [x] #8161 - [x] #8162 - [x] #8163 - [x] #8176 - [x] #8235 - [x] #8242 - [x] #8244 - [x] #8256 - [x] #8285 - [x] #8286 - [x] #8259

PoC - ✅

Issues - [x] #7727 - [x] #7903

MVP (v0.1) - ✅

For the MVP, let's assume the following:

  • No external client (i.e. no RPCs)
  • User has the necessary technical skills to query our database/datastore/however-we-store-the-scanning-results directly
  • User controls their whole machine (so file permissions and secret data deletion don’t matter)
  • We want to store the scanning results so that they can be made available to the User at a time of their choosing
Issues

Key and scanning results database

Scanner

Integration with zebrad

Testing & Validation

Documentation

Security

Lower Priority Tests

References

Related work

@mpguerra mpguerra added C-tracking-issue Category: This is a tracking issue for other tasks P-Medium ⚡ C-feature Category: New features A-compatibility Area: Compatibility with other nodes or wallets, or standard rules labels Oct 11, 2023
@mpguerra mpguerra linked a pull request Nov 2, 2023 that will close this issue
@oxarbitrage oxarbitrage added the A-blockchain-scanner Area: Blockchain scanner of shielded transactions label Nov 3, 2023
@mpguerra
Copy link
Contributor Author

@oxarbitrage I've created a new section for the minimum viable product work and renamed the "Implementation" section to "Future iterations". Can you please move any issues that should be part of the MVP to this new section to help me with scheduling?

@mpguerra mpguerra added the Epic Zenhub Label. Denotes a theme of work under which related issues will be grouped label Nov 15, 2023
@mpguerra mpguerra changed the title Tracking: Blockchain Scanning Epic: Blockchain Scanning Nov 15, 2023
@arya2
Copy link
Contributor

arya2 commented Nov 21, 2023

There's a discussion for the MVP here: #7975

@teor2345
Copy link
Contributor

We aren't running the scanner task in CI yet, so I added this task to the MVP:

  • Run Zebra's unit tests with the scanner enabled, by adding shielded-scan to the RUST_EXPERIMENTAL_FEATURES GitHub repository variable

if [[ -n "${{ vars.RUST_EXPERIMENTAL_FEATURES }}" && "${{ vars.RUST_EXPERIMENTAL_FEATURES }}" != " " ]]; then
docker run -e NETWORK --name zebrad-tests-experimental --tty ${{ vars.GAR_BASE }}/${{ vars.CI_IMAGE_NAME }}@${{ needs.build.outputs.image_digest }} cargo test --locked --release --features "${{ env.EXPERIMENTAL_FEATURES }} " --workspace -- --include-ignored
fi

It takes less than a minute to enable it, but I wanted to check with the team first.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-blockchain-scanner Area: Blockchain scanner of shielded transactions A-compatibility Area: Compatibility with other nodes or wallets, or standard rules C-feature Category: New features C-tracking-issue Category: This is a tracking issue for other tasks Epic Zenhub Label. Denotes a theme of work under which related issues will be grouped
Projects
Status: Product Backlog
Development

Successfully merging a pull request may close this issue.

4 participants