TzStats Update #1
TzStats is the first Tezos Analytics Explorer, extending the functionality of traditional block explorers with comprehensive data analytics.
Today we would like to give you an update on the current progress and state of development.
If you are interested in the proposed values and ambitions for the project, please read our introductory article A new Tezos Explorer on the Block(chain)
For now we have mostly focused on research, ux/ui design and general infrastructure set up.
Research
We have talked to many people in the ecosystem to figure out which data points are of general interest. After a few meetings and internal discussions we have decided to focus on:
- Staking
- Governance
- Market Data
- Global Metrics
- Network Health
This is in addition to the traditional information on accounts, blocks and transactions an explorer usually displays. Our aim is to convey better insights into processes happening on and around the blockchain. We also want to do this in a way that is easy to understand by new investors and people outside the current community. With that in mind, our design philosophy embraces:
- Intuitive Experience
- Simplified Terminology
- Dark Color Scheme
- Responsive Design
- Focus on Data with narrow color-board
Likely Features:
There are some optional features we’d like to include when there’s enough time and resources.
- Currency Selector (to switch between USD, EUR, BTC, ETH as quote currency)
- Professional/Basic Viewing Mode (basic may add additional explanations in the context)
Unlikely Features:
We are leaving it open to possibly include some of these features, but probably we will not be able to implement them for the first version of TzStats.
- Day/Night Mode
- Language Selection
- Networks besides Mainnet
To make sure we put emphasis on the analytics of your interest, we truly value any kind of feedback and want to include the community into the development process as much as possible.
Personas
We have brainstormed 9 Personas, to investigate possible behaviours and motivations from users that visit the website.
We have categorized them into :
- Owners (Baker, Protocol Developer, Foundation Manager)
- Investors (Fund Manager, Data Scientist, Trader)
- General Public (Journalist, Influencer, Creative Adopter)
For the actual designs we have decided to focus on 2 personas that best represent our defined values and are currently underserved by other block explorers.
Fund Manager:
- Knowledgeable, smart and decisive
- Focus on long-term investment and growth
- Wants to be in control of the data
- Seeks models for prediction and comparison
Creative Adopter:
- Envisions and pursues own ideas
- Driven by long-term values and appreciation
- Keen to be educated
- Needs simplified and easy consumable info
Please note, that the website will obviously still serve all personas and we will just use the chosen ones to pursue a sleek design process.
Design
Today we would like to present you 3 Screens that give a general overview of the sites feeling and structure.
We have decided to use a dashboard style that responds well to our chosen personas. It implies familiar styles from e.g. the Bloomberg Terminal (Fund Manager), the Ableton Software UI or Photoshop (Creative Adopter). It might also remind of dashboards created with e.g. Grafana.
The website is kept in a dark design to emphasize the depth of the data presented.
The sidebar and the search bar will be accessible throughout the website.
A Cycle Clock will be one of the core design elements in TzStats. We believe it looks great and it conveys one of the most central aspects about the Tezos protocol. The Clock features the cycle number, a countdown, and 16 sections representing the 16 snapshot blocks taken to select staking rights later on. As a cycle progresses the clock fills up and once a snapshot has been randomly selected, it emphasizes the corresponding section. Thus each cycle will have its own unique visual representation.
The Latest Block Number with the seconds since its creation conveys that the data displayed on TzStats is fresh.
Price and Market Cap and the 24h change give a great overview of the current market situation.
Network Health is a metric that presents the stability and security of the Tezos Blockchain derived from most recent block spacing, block priorities, endorsement rate, orphan rate and staking participation.
The Search Bar is actually more like a “Finder” because it allows to lookup blocks, cycles, operations, accounts and proposals by hash or number, so that any lookup directly leads to the individual page rather than a list of search results. We are currently exploring complexity of “Name Search” for Bakers and Proposals. This is not decided yet.
Next to the Search Bar is a Currency Selector, which defines which quote currency will be used throughout the site. In the same style there is the Toggle for professional and basic views.
Landing Page
The Landing Page will show a 30 day Price History Chart and plain numbers for highest/lowest prices. We chose the candle chart style as we believe it adds a rather diversified view to the graph.
The current Supplies will be displayed in bar charts. We plan to categorize them for Total, Circulating, Activated, Staking, Frozen and Vested. Considering the overlap of those categories we have not yet decided how many bar charts we’re going to display. The current design just gives an idea about how things will be visualized.
The Voting Overview presents either the most voted proposal (in Proposal Period) or the current Voting Progress (in Exploration and Propagation Period). In the Testing Period it will likely present the final state of Exploration.
The Tezos Account Growth is a novel metric that presents the number of newly funded accounts vis-a-vis the cleared (or removed) accounts on the Blockchain. It is an easy yet powerful way to understanding growth and churn.
Account Page (Baker)
Accounts are labelled by category, e.g. Baker-Account, Delegator-Account, Smart Contract etc. and will display relevant data for each category.
The screen for bakers will present life-time totals for baked blocks, missed blocks as well as received rewards etc. Baker performance and fees are stats that will help to evaluate the baker as a possible staking provider.
The balance history will display a graph to show how well the account has been funded over time. Balance spread display plain numbers from the source or use of funds. In- and Out-Flow gives an understanding of the account’s general activity.
Still missing from the design are:
- next baking/endorsing right
- last baking/endorsing right
- a list of all past and future baking/endorsing rights
- a list of all sent and received operations, e.g. transactions
- a logo
We’d like to show some or all of these points, but are unsure if they are of general interest or how to present them.
Market Overview
An in-depth market screen is supposed to help investors to better understand the current market sentiment.
The Price History Chart can show different time-frames, exchanges and quote currencies.
Trading patterns on a daily or weekly basis can be recognized from a heatmap that shows global trading volume over time.
Trades by quote currency gives a good overview of the most traded Tezos currency pairs and the volumes by exchanges is good to evaluate which exchange runs the most liquid markets.
Infrastructure and Tech-Stack
Backend
We have evaluated different block indexers and decided to use the Blockwatch indexer as it delivers the most comprehensive metrics and details about on-chain activity on the market. Without it we could not get anywhere close to the depth of data we’d like to display. Even though this indexer is not open-source, we will have a dedicated API backend at api.tzstats.com and will make all data available free of charge. We believe this decision will provide the most value to the community and users of the platform right now. After all, we’ve only got 2 months time to deliver TzStats.
As the frontend will be fully open source, we’ll take care that switching to another indexer backend remains an option.
Our backends runs on dedicated hardware to get top performance at the best price. We’re running the following software stack right now
- Centos 7 OS
- Docker
- Nginx
- Tezos full archive node (175GB storage)
- Custom Tezos RPC proxy (to speed up indexing times by caching RPC responses, 7GB storage)
- Custom Tezos Blockchain Indexer (with custom embedded analytics database, 1.6GB storage)
Hardware configuration
- CPU Intel Cannon Lake Xeon E-2176G @ 3.70GHz 6-core HT
- Memory 64 GB ECC, 384k L1 / 1.5M L2 / 12M L3 cache
- Storage 2x 960GB Samsung NVMe drives in Raid-1
- Network 1Gbit/s
Frontend
Frontend work has just started a week ago and we’re eager to deliver the first beta version next week. We’re using the following frontend stack:
- React Single-Page Javascript App
- Custom D3 graphs
- Fully Responsive Design (using cards of 3 sizes and a mobile/desktop friendly layout)
- Optional pre-renderer (backend) for optimized SEO
How can you get involved?
We are building an open-source project and are happy for any kind of contributions.
We'd love to get your input on our first public beta, which is to be released very soon.
If you like to contribute to the project in any other way or if you have any questions, feel free to reach out to us at any time.
Email us at tzstats@blockwatch.cc
Follow us on Twitter
Join our Discord Server