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

Tracking: Block Explorer support #8435

Open
6 of 18 tasks
mpguerra opened this issue Apr 24, 2024 · 11 comments
Open
6 of 18 tasks

Tracking: Block Explorer support #8435

mpguerra opened this issue Apr 24, 2024 · 11 comments
Assignees
Labels
C-tracking-issue Category: This is a tracking issue for other tasks

Comments

@mpguerra
Copy link
Contributor

mpguerra commented Apr 24, 2024

@mpguerra mpguerra added this to the Block Explorer Support milestone Apr 24, 2024
@github-project-automation github-project-automation bot moved this to New in Zebra Apr 24, 2024
@mpguerra mpguerra added the C-tracking-issue Category: This is a tracking issue for other tasks label Apr 24, 2024
@mpguerra mpguerra moved this from New to Product Backlog in Zebra Apr 24, 2024
@oxarbitrage
Copy link
Contributor

Hey @mpguerra , thank you for putting all this together. I think we need a ticket to install (fork if changes are needed) locally the https://github.com/nighthawk-apps/zcash-explorer

@mpguerra
Copy link
Contributor Author

Hey @mpguerra , thank you for putting all this together. I think we need a ticket to install (fork if changes are needed) locally the https://github.com/nighthawk-apps/zcash-explorer

This is now #8456

@upbqdn
Copy link
Member

upbqdn commented Apr 24, 2024

@mpguerra could you add the resources you used to compose the lists of the RPCs?

@mpguerra
Copy link
Contributor Author

@mpguerra could you add the resources you used to compose the lists of the RPCs?

https://gist.github.com/oxarbitrage/a56f7e6b9b198ba70150a3afb2ffc949

@mpguerra
Copy link
Contributor Author

It may be that we want to prioritise some RPC methods first as there may be some features from the Tools section that we may not want to support from the start:
Screenshot 2024-04-25 at 10 18 35

@upbqdn
Copy link
Member

upbqdn commented Jun 6, 2024

@conradoplg I noticed you tried running https://github.com/nighthawk-apps/zcash-explorer locally. It should use this tool https://github.com/nighthawk-apps/zcashex as a middleware between the explorer and full node. It looks like it should be sufficient to implement the RPCs used in this file https://github.com/nighthawk-apps/zcashex/blob/main/lib/zcashex.ex to have a full support of the block explorer.

@upbqdn
Copy link
Member

upbqdn commented Jun 6, 2024

(So I think you don't need to list the RPCs manually.)

@upbqdn
Copy link
Member

upbqdn commented Jun 6, 2024

I extracted the RPCs from https://github.com/nighthawk-apps/zcashex/blob/main/lib/zcashex.ex:

  • getblockchaininfo
  • getmempoolinfo
  • gettxoutsetinfo
  • getinfo
  • getmemoryinfo
  • getmininginfo
  • getnetworkinfo
  • getpeerinfo
  • getbestblockhash
  • getblockcount
  • getdifficulty
  • getblock
  • getblocksubsidy
  • getnetworksolps
  • getblockhashes
  • getrawtransaction
  • getaddressbalance
  • getaddressdeltas
  • getaddresstxids
  • getblockheader
  • getrawmempool
  • sendrawtransaction
  • decoderawtransaction
  • generate
  • validateaddress
  • z_validatepaymentdisclosure
  • z_validateaddress
  • z_listunifiedreceivers

Some of the RPCs are already listed in the PR description, but these are missing:

  • gettxoutsetinfo
  • getmemoryinfo
  • getmininginfo
  • getnetworkinfo
  • getbestblockhash
  • getblockcount
  • getdifficulty
  • getblocksubsidy
  • getaddresstxids
  • sendrawtransaction
  • decoderawtransaction
  • generate

@upbqdn
Copy link
Member

upbqdn commented Jul 12, 2024

Here's a list of RPCs from Conrado which splits them according to what Zebra does and doesn't implement:

Zebra has:
getblockchaininfo
getinfo
getmininginfo
getpeerinfo
getbestblockhash
getblockcount
getdifficulty
getblock
getblocksubsidy
getnetworksolps
getrawtransaction
sendrawtransaction
getaddressbalance
getaddresstxids
validateaddress
z_validateaddress
getrawmempool
z_listunifiedreceivers

Zebra doesn't have:
getmempoolinfo
gettxoutsetinfo
getmemoryinfo
getnetworkinfo
getblockhashes
z_validatepaymentdisclosure
getaddressdeltas
decoderawtransaction
getblockheader

@pacu
Copy link

pacu commented Sep 5, 2024

@oxarbitrage Is the elastic search feature of Zebra oriented to support Zcash Block Explorer uniquely or does it go beyond the scope of this tracking issue?

@mpguerra
Copy link
Contributor Author

mpguerra commented Sep 5, 2024

@oxarbitrage Is the elastic search feature of Zebra oriented to support Zcash Block Explorer uniquely or does it go beyond the scope of this tracking issue?

The elastic search feature was NOT meant to support a Zcash block explorer, it was just a hack sprint experiment that @oxarbitrage wanted to try out.

It's our intention to implement the RPC methods in this tracking issue in order to support a block explorer such as Nighthawk's Zcash Explorer.

However, we are not aware of anyone that is currently maintaining this block explorer, nor do we intend to take over maintenance of it. Ideally, we would collaborate with some existing teams that are running zcash block explorers and help them to replace their zcashd instance with zebra by implementing their required RPC methods.

EDIT: If someone has plans to take over development of https://github.com/nighthawk-apps/zcash-explorer we'd be interested in providing some feedback on some incompatibilities with JSON-RPC standards, @upbqdn has more details on this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-tracking-issue Category: This is a tracking issue for other tasks
Projects
Status: Product Backlog
Development

No branches or pull requests

4 participants