Open mvaivre opened 3 years ago
Block time, the number of chains, the number of total blocks can be interesting as well.
After talking to @tdroxler:
Some other ideas :
Other explorers/sources/interesting analytics :
Continuing the discussion started in #27
Do we want to allow people to "select" an area of the chart and "zoom in", like on Etherscan.io? Do we want to allow people to export the chart in PDF/PNG/JPEG/SVG, like on Etherscan.io and blockchain.com? Do we want to allow people to export the data in JSON/CSV, like on Etherscan.io and blockchain.com? Do we want to allow people to select to view the data of the last [30 days|60 days|180 days|1 year|3 years|All Time], like on blockchain.com? Do we want to display a linear scale or also a logarithmic one, like on blockchain.com?
My comments after reviewing Etherescan.io and Blockchain.com:
- Both show daily average hashrate. Do we want to display more frequent than that? I doubt it. In that case, exporting a file from Prometheus/Grafana once a day and feeding it into the explorer would be sufficient.
- Both allow to "zoom in/out", either by selecting a custom area of the chart or by clicking on predefined buttons to see the latest periods (30|60|180 days, 1|3 years, All time). Is that a useful feature for our explorer users, or should we stick to a static "All time" chart for now?
- Both allow exporting the data in CSV and image.
Considering both what users want
and implementation complexity
, Me personally think these metrics are the first to support: current hashrate, current circulating supply, total number of transactions (transaction per day is nicer, but it takes more effort to implement for now). Maybe also show number of chains, number of blocks. We could fit these in one row on the homepage of explorer
Edit: only need real-time numbers for such metrics. No need of charts for now so we could focus more on wallet development
I'm currently working on the hashrate
.
Here is the resulting mockup taking into accounts the facts discussed above.
The goal was to keep it as simple as it can be for now, while giving ways to evolve in the future once we'll have more data to show.
How often should the statistics be updated? The current update time for latest blocks is every 10 seconds.
Do the endpoints in the backend always give the latest values or are they cached? If they are cached, I would say to update whenever the caches expire. If they are not, then every time we query for new blocks we can also query for new statistics. WDYT?
then every time we query for new blocks we can also query for new statistics.
My thoughts too.
Do the endpoints in the backend always give the latest values or are they cached?
I'm about to research this and anything which is missing that'll be needed by this iteration.
It appears SyncService.scala
takes care of re-calculating those computation-heavy values every once in awhile. I suggest for the first iteration we stick to updating with the block updates every 10 seconds.
This leads me to my next question: this is going to look "noisey" if for each update spinners appear: should I instead use some sort of animation between value changes?
I would say just update the value without spinners. A value is already there, so why show a spinner while a new value is being fetched?
I've checked off the values we implemented in the end.
Currently there's only historical data for hashrates. I would like to see historical data for:
Personally, as they are good indicators of people using the network. @mvaivre @nop33 ?
@tdroxler could we focus on this next?
A community member already implemented the "Number of addresses with funds > 0": https://alephium.ono.re/api/stats/addresses?top=10&human
I don't find that statistic useful. What might be useful however is to see "active addresses of [day | week | month]" by simply checking that the latest timestamp of a transaction of an address is within range.
Here's part of the conversation I had with the user:
I think so. However, how do you define "active"? Does it mean "has received funds at least once in the history of the blockchain"? Wouldn't a more time-strict definition fit better the word "active" (i.e. last 1/7/30 days)? See an example here: https://studio.glassnode.com/metrics?a=BTC&m=addresses.ActiveCount&resolution=1month You can switch the resolution to 1 month or 1 week, and the number of active addresses changes.
I agree; actually I think maybe more useful is TX per day, since a few addresses may have a lot of activity.
I would be good to start with a chart that reflects the growth / activity on the network. I'd put it on the home page, as many explorers do. Many of them display the number of transactions per day, so we could also start with this one.
I'll start to work on a mockup rn.
First iteration visible in the figma file.
As you can see, we would need a sixth stat box for this to be visually pleasing :) An estimation of the number of nodes would be awesome IMO. @polarker what do you think? Do you see a way to get this data, or do you have another proposition?
We would like to display live, interactive charts showing how our network is performing, and how it's evolving over time. Some inspiration:
1) Interesting aggregated metrics to start with (big numbers)
This will come first.
2) Interesting charts to start with
This can come in a second phase after the big aggregated real-time numbers.
Research
Design
Implementation
TBC