Zcash Block Explorer Grant

I confirm that no one on our team created that account.

And yes, all the grant discussions are out in the open and it does invite conversation around the specifics. While it is not possible to get in to every small detail, I’ll do my best to answer the questions as much as possible.

2 Likes

My post has been marked as inappropriate.

I’ve re-read it and the guide lines, and I am sorry if it sounded insulting or as a derogatory comment - @aiyadt

Gonna be more constructive and less accusing next time I wake up on a complaining mood :roll_eyes:

2 Likes

Zcash Block Explorer (Beta) is live :

https://zcashblockexplorer.com/

V3 Tor : http://zcashfgzdzxwiy7yq74uejvo2ykppu4pzgioplcvdnpmc6gcu5k6vwyd.onion/

Upcoming tasks:

  • IVK transactions fetching.
  • Privacy Policy, Terms, Warranty Canary.
  • UI polishing & performance optimizing.
9 Likes

Nice! Looking very good :slightly_smiling_face:

3 Likes

Exciting times indeed!

3 Likes

Looks sleek. Good work

2 Likes

:tada: Zcash Block Explorer is off beta and live at https://zcashblockexplorer.com & http://zcashfgzdzxwiy7yq74uejvo2ykppu4pzgioplcvdnpmc6gcu5k6vwyd.onion/

Based on the feature specs discussed in this thread, we were able to deliver the following -

Core features:

  • Broadcast raw transaction
  • Payment Disclosure option for Sapling Shielded transactions.
  • No logging/analytics
  • Only necessary cookies

Add-on features:

  • Get transactions by Viewing Key.
  • Price & Mempool info.

Hosting features:

  • v3 onion support.
  • No Google, no Cloudflare, no hCaptcha.

Source code is available at:

  1. Elixir client library to interact with the JSON-RPC endpoint provided by a Zcash full node - GitHub - nighthawk-apps/zcashex: An elixir client library to interact with the JSON-RPC endpoint provided by a Zcash full node.
  2. Zcash Explorer - GitHub - nighthawk-apps/zcash-explorer: Zcash Block Explorer

Thanks to @ZcashGrants for funding the building of an expandable, privacy preserving, open source Block Explorer for Zcash.
This initiative completes the base vision of Nighthawk Suite with user facing wallets @NighthawkApps + Backend Infra https://lightwalletd.com + Zcash Block Explorer, all code being forkable.

Next steps:

  • We will review the changes in NU5 testnet release in the next few weeks and plan on supporting the Orchard transactions.
  • Get in touch with the parties who contacted us with interest in hosting Zcash Explorer.
  • Maintain the hosting of the explorer on AWS for 12 months per the grant.
  • Maintain a combined Warranty Canary for ZcashBlockExplorer at lightwalletd.com
12 Likes

Awesome :+1:

7 Likes

I tried the Get transactions by Viewing Key feature because it’s a feature that other blockchain explorers don’t have.


I started by putting in a viewing key.

Then I see it creates a new wallet using zecwallet-cli

And then after 10 mn, it shows a blank screen.

2 Likes

Thanks for trying it out !

zxviews1q0duytgcqqqqpqre26wkl45gvwwwd706xw608hucmvfalr759ejwf7qshjf5r9aa7323zulvz6plhttp5mltqcgs9t039cx2d09mgq05ts63n8u35hyv6h9nc9ctqqtue2u7cer2mqegunuulq2luhq3ywjcz35yyljewa4mgkgjzyfwh6fr6jd0dzd44ghk0nxdv2hnv4j5nxfwv24rwdmgllhe0p8568sgqt9ckt02v2kxf5ahtql6s0ltjpkckw8gtymxtxuu9gcr0swvz for this VK ( zecpages ) and non zero height , I am able to see the o/p.

with 0 height, there seems to be an issue in TX parsing. I will check it out.

side note : for the Zecpages VK, zecwallet-cli gets really slow / almost gets struct around ( 69 % ) in my past tests. I will try to figure out why that happens.

2 Likes

I’ve put the birthheight 780532 but now it’s stuck.

id: 2, blocks: 50%, decryptions: 50%, tx_scan: 14%

1 Like

Thanks for testing it and helping us make it better.
I was able to reproduce the error locally.

Error: Error getting client: tonic::transport::Error(Transport, hyper::Error(Connect, Custom { kind: UnexpectedEof, error: "tls handshake eof" }))

update: trying out a few things, will post an update here after some time.

2 Likes

TC and ZEC believer, @extrapo. That is all. Dig in to the the Thorchain project and I think you will feel the same. DEX is the future, and TC will fast track open, permissionless money to the people.

1 Like

I’m sorry to cause you trouble @aiyadt! Just a passionate Zcash and Thorchain believer here.

1 Like

Sockpuppet here…haha. Love it.

I can bring clarity. Thorchain LP :white_check_mark: and Zcash long :white_check_mark:.

That is all, but this project matters. Carry on with the good work, Sir.

1 Like

The viewkey functionality is a wrapper for zecwallet-cli ?

When someone imports their fvk the stdout from zecwallet-cli is appended to a div (gets very long!!), would be better UI to fix the div size/position and scroll but its clunky.

Why not use ‘try_sapling_note_decryption’ from librustzcash to decode selected transactions? Then you don’t have to create wallets for every key or do full scans.

Those scans must really bog down the server. How many concurrent users can it handle with the current chain length? How many a year from now when the chain is 420k blocks longer ?

EDIT: When the import finished I got a blank page, there should be some kind of prompt ? I’m assuming the client can now lookup shielded txns but its not at all obvious.

2 Likes

Thanks for suggestions @ChileBob .

I have fixed the container’s height and made it vertically scrollable. ( will be deployed soon )

we spin up a container ( docker for now, might switch to podman ) for every VK import call . we run zecwallet-cli import and list inside the container , send the TX json to the webapp and stream the results over websocket.

When creating the container itself we set a flag to destroy the container after it’s done running.

in this way we don’t store any VK’s that user’s entered.

regarding the blank screen :

you have most likely faced a timeout ( rare but happens ) …
if the VK you tried is already public, can you please point me to it ? ( I am aware of the zecpages one ) …

2 Likes

Hi, since you spawn a container for each person who uses this feature, how many concurrent users does the block explorer support?

I am concerned that the block explorer is subject to denial of service since there is no Captcha or identification. Therefore, someone could post multiple requests.

It seems that a few users would be enough to overload the service.

2 Likes

Hey Han, thanks for your feedback. The no captcha was put forward as a requirement when the idea for the block explorer was under discussion.

I understand your concerns, the hosted zcashblockexplorer.com is configured to limit 10 instances at a time for the VK retrieval support. And we are working on improving the issues reported earlier for fetching really old history, even though the primary use cases targeted for the hosted instance is publicizing charity donations, exchanges proving custody and other short-term proving of history as listed here Explaining viewing keys - Electric Coin Company

We are looking forward for alternative hosts of the explorers who might configure their hosting of explorer to extend its features, while we work on debugging and improving the performance of the explorer.

If you have ideas to improve the functionality or extend the features, please feel free to contribute ideas and make a PR to improve the offering to the Zcash community.

2 Likes

Yup, I remember the non-captcha requirement.

When you say 10 instances, do you mean 10 containers? Does the machine actually able to run 10 containers? AFAIK, zecwallet-cli keeps everything in memory…

I thought that would be examples of long term history…

A charity would keep the same donation address,
exchanges, their address could originate from their incorporation, …

The idea that @ChileBob mentioned above seems to be pretty good, doesn’t it?

1 Like