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

Update getblockchaininfo RPC method #8449

Open
Tracked by #8435
mpguerra opened this issue Apr 24, 2024 · 0 comments
Open
Tracked by #8435

Update getblockchaininfo RPC method #8449

mpguerra opened this issue Apr 24, 2024 · 0 comments
Assignees

Comments

@mpguerra
Copy link
Contributor

mpguerra commented Apr 24, 2024

Motivation

In order to enable zcashd deprecation, we need to ensure that RPC methods that are used by existing zcashd consumers are implemented in zebra to cater to their usecases.

Specification

zcashd's getblockchaininfo RPC method is documented here: https://zcash.github.io/rpc/getblockchaininfo.html

Zebra already partially implements the getblockchaininfo RPC method, however, it is missing the following fields:

  • "initial_block_download_complete": xx, (boolean) true if the initial download of the blockchain is complete
  • "headers": xxxxxx, (numeric) the current number of headers we have validated
  • "difficulty": xxxxxx, (numeric) the current difficulty
  • "verificationprogress": xxxx, (numeric) estimate of verification progress [0..1]
  • "chainwork": "xxxx" (string) total amount of work in active chain, in hexadecimal
  • "size_on_disk": xxxxxx, (numeric) the estimated size of the block and undo files on disk
  • "commitments": xxxxxx, (numeric) the current number of note commitments in the commitment tree
  • "chainSupply": (object) information about the total supply
    • "monitored": xx, (boolean) true if the total supply is being monitored
    • "chainValue": xxxxxx, (numeric, optional) total chain supply after this block, in ZEC
    • "chainValueZat": xxxxxx, (numeric, optional) total chain supply after this block, in zatoshis
  • For the valuePools object:
    • "monitored": xx, (boolean) true if the pool is being monitored
  • "softforks": (array) status of softforks in progress
    • "id": "xxxx", (string) name of softfork
    • "version": xx, (numeric) block version
    • "enforce": (object) progress toward enforcing the softfork rules for new-version blocks
      • "status": xx, (boolean) true if threshold reached
      • "found": xx, (numeric) number of blocks with the new version found
      • "required": xx, (numeric) number of blocks required to trigger
      • "window": xx, (numeric) maximum size of examined window of recent blocks
    • "reject": { ... } (object) progress toward rejecting pre-softfork blocks (same fields as "enforce")

We need to:

  1. Check which fields, if any, are needed by existing zcashd consumers.
  2. Implement the required changes to support the relevant usecases.

Related work

We might want to do #8939 at the same time

@github-project-automation github-project-automation bot moved this to New in Zebra Apr 24, 2024
@mpguerra mpguerra added this to the Block Explorer Support milestone Apr 24, 2024
@mpguerra mpguerra moved this from New to Product Backlog in Zebra Apr 24, 2024
@mpguerra mpguerra removed this from the Block Explorer Support milestone Oct 18, 2024
@mpguerra mpguerra moved this from Product Backlog to Sprint Backlog in Zebra Jan 22, 2025
@mpguerra mpguerra moved this from Sprint Backlog to Product Backlog in Zebra Jan 23, 2025
@mpguerra mpguerra moved this from Product Backlog to Sprint Backlog in Zebra Jan 23, 2025
@mpguerra mpguerra assigned upbqdn and arya2 and unassigned upbqdn Jan 31, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Sprint Backlog
Development

No branches or pull requests

3 participants