--- tags: ZCash, Grant Landing --- # Zcash Service Status Dashboard - Proposal 00 ## Overview We believe that the best use of ECC (Electric Coin Company) and ZCash developers mindspace is in focusing on the core protocol and the ecosystem around it and hence it becomes cumbersome to maintain awareness around the truth value of various external services that exist in the ZCash ecosystem. This sheet covers all the different services that exist in the ZCash ecosystem sorted into categories: https://docs.google.com/spreadsheets/d/1ESq4EA4dQ9UB3sUNiBwLEXm26YhUMheXbzr-ednFI0M/edit#gid=0 We seek to offset that load by creating a single source of truth for these external services. We will do it by: * Creating a health check monitoring service for different categories of external services that exist in the ZCash ecosystem. * That also involves building support for monitoring category specific nuances. * Creating a user friendly dashboard to view as a single source of truth. ## Outcome This is proposal 00 that covers the expenses related in laying the foundation of healthcare services. The idea is to start small, ship something out, gain feedback from the community and then start integrating the other categories into the core monitoring system. We will be submitting followup proposals after shipping proposal 00. This proposal covers shipping monitoring services for 2 categories: * Community and Forums * Exchanges ### Community and Forums * Entities getting monitored: * https://chat.zcashcommunity.com/home * https://forum.zcashcommunity.com/ * https://www.zcashcommunity.com/ * https://z.cash/ * https://www.zfnd.org/ * Parameters that are being monitored: * Response time: * Graph Type: Time Series. * Axis Specs: * X Axis: Time. * Y Axis: Response time in seconds. * Availability: * Graph Type: [Status.](https://grafana.com/plugins/vonage-status-panel) * Status Specs: * Green: Service is available. * Red: Service is not available. * Interval checks: at every 1-minute. * Consolidated Specs: * Dashboard - `Community and Forums` * Total Entity Count: 5 * Total graphs per entity: 2 * Hence total graphs: 10 ### Exchanges * Entities getting monitored: * Bitfinex * Bitlish * Bittrex * Cex * Binance * Changelly * Coinbase * Gemini * Kraken * Exmo * Trading pairs being monitored: * ZEC/BTC * ZEC/USD * Parameters that are being monitored: * Spot Price is not equal to 0 * Graph Type: [Status.](https://grafana.com/plugins/vonage-status-panel) * Status Specs: * Green: Spot Price != 0 * Red: Spot Price == 0 * Transaction Volume is not equal to 0. * Graph Type: [Status.](https://grafana.com/plugins/vonage-status-panel) * Status Specs: * Green: Transaction Volume != 0 * Red: Transaction Price == 0 * Price Deviation > 10%: * Graph Type: Time Series. * Axis Specs: * X axis: Time. * Y axis: Absolute percentage change w.r.t to median. * Graph Indicators: * A fixed parrallel line to X axis at Y = 10%. * Any exchange's spot price which deviates more than 10% from the median at time `t` is represented by coordinates (`t`, `price>10%`). Users will easily be able to spot from a glance that which exchange's are deviating a lot from the median. * Interval checks: at every 5-minutes. * Consolidated Specs: * Dashboard: `Exchanges` * Trading Pair: 2 * Total graphs per trading pair: 21 * Transaction Volume ! = 0: 10 * Graph per exchange: 1 * Total exchanges: 10 * Spot Price != 0: 10 * Graph per exchange: 1 * Total exchanges: 10 * Price Deviation > 10%: 1 * All exhanges visualized on one graph. * Total graphs: 42 #### Storing Logs: In this proposal, we will maintain 7 day log retention. ## Deliverables * Backend: * Setup: Server (Amazon EC2 instance), * Database (InfluxDB) * Scripts: for monitoring the above categories. * Frontend: Dashboard for the community to visualize, and understand the metrics (Grafana) * Along the lines of https://statoshi.info/. * Sample view of the homepage (it would be more classy than this):![](https://i.imgur.com/i8aAkFL.png) Hierarhical View: ``` * Home Page: https://zcashservicestatus.info * Dashboards: * Communities And Forums * <entity panel> * Availability Graph * Response Time Graph * Exchanges: * <Trading Pair Panel> * Spot Price !=0 Panel: Status graphs for 10 exchanges. * Transaction Volume!=0 Panel: Status graphs for 10 exchanges * Price Deviation > 10% graph ``` All code will be open source under MIT license and in depth installation instructions would be provided. Delivery estimate: 3 weeks ### Roadmap #### Week 1 - Week 2 First 2 weeks would be taken up in setting up the foundation as well as shipping monitoring for "Community and Forums" category. Buffer time is also taken into consideration of externalities coming up while building the system. #### Week 3 Completing all exchanges integration. Testing and getting feedback/approval from the community. ## Funding Details: Cost breakdown: * Delivery Cost: $3500 * Server Cost: $890/year * Domain Cost: $4/year * SSL Cost: $8/year Total cost: $4402 (48.87 ZEC at the time of writing) ## Upkeep/Maintenance Irrespective of the notion that we would be submitting followup proposals around extending the monitoring service dashboard, we would be: * Maintaining the system actively for the next 3 months. That means bug fixes if any with the specs mentioned in the current proposal. * For 1 year: support if the system goes down. * Since reality may be very different at the end of one year (websites archived, communities/exchanges API may change, new services being added into categories, new categories being added etc.), we would like to submit followup proposals to accomodate these changes, but we shoudn't be held accountable for it if we aren't able to do so. ## Reporting Weekly reports being submitted in [#the-zcash-foundation ](https://chat.zcashcommunity.com/channel/the-zcash-foundation) channel. The community can keep us accountable by going through each step described in the timeline & double check if these were implemented. ## Future Iterations In this proposal 0, we have just covered 2 categories. The next proposal(s) will involve: * API support: all information publicly accessible by a programmatic API. * Historical Logs Support. * Exchanges: * Support rest of the exchanges: * AirTM * Coinsave * Coinut * Coinjar * Coinrail * CoinRoom * Gopax * Litebit * OKCoin * The Rock Trading * VALR * Upbit * Support rest of the trading pairs: * ZEC/BNB * ZEC/ETH * ZEC/PAC * ZEC/TUSD * ZEC/USDC * ZEC/USDT * More sanity checks: * Spot Price not fluctuating for more than 50% in 5 consecutive transactions at each exchange. * Blockchain Explorers Monitoring. * Rest of the categories as mentioned in the sheet here: https://docs.google.com/spreadsheets/d/1ESq4EA4dQ9UB3sUNiBwLEXm26YhUMheXbzr-ednFI0M/edit#gid=0 ## Why us? We believe that financial privacy is a fundamental right for every individual. We can help ZCash community by building key infrastructure projects for the ecosystem. We are already shilling ZCash to our developer friends and our focus is in getting them onboarded to help the community. One of the ways we did was to create an [FAQ](https://forum.zcashcommunity.com/t/faq-around-grant-ideas/33648/3) around the proposed grants ideas to reduce information asymmetry. Team's individualistic capabilities: * Prastut - comes from a UX and product management background. On a mission to increase meritocracy and solve equal access to opportunity for all. Currently building a career accelerator that upskills experienced full stack engineers with blockchain skills and readies them for remote jobs. [Github](https://github.com/prastut), [CV](https://drive.google.com/file/d/15_oS6XtO_DRlITjG6WyTAEavaiSnBsdL/view?usp=sharing). * Aviral - comes from backend development and data engineering background. Led data infrastructure at [Socialcops](http://socialcops.com/), one of the fastest growing startups in India. Current research interests lie in building intuitive and perceptive systems using large scale data. [Website](http://aviralsrivastava.com/), [Github](https://github.com/avisrivastava254084), [CV](http://aviralsrivastava.com/assets/documents/Aviral_Srivastava_CV.pdf).