diff --git a/docs/developing/information/block-explorers.md b/docs/developing/information/block-explorers.md index 14cbeab28..db11679fa 100644 --- a/docs/developing/information/block-explorers.md +++ b/docs/developing/information/block-explorers.md @@ -1,45 +1,56 @@ --- -title: Block Explorers +title: Block explorers last_update: - date: 22 December 2023 + date: 31 January 2025 --- -**What is a blockchain explorer?** - -A _blockchain explorer_, also known as a _block explorer_, is an app that tracks activity on a blockchain. All transactions ever performed on a network can be viewed using such a tool. +A _blockchain explorer_, also known as a _block explorer_, is an app that tracks activity on a blockchain. +They record all transactions made on a network and allow users to search for transactions by the hash of the transaction or the accounts involved in the transaction. **Blockchain explorers are like search engines for blockchains.** -You can think of it as a window into the blockchain world, allowing you to observe what's happening in it. +You can think of a block explorer as a window into the blockchain world, allowing you to observe what's happening in it. -Cryptocurrency users and developers use such a tool to view the status of past or present transactions. +Cryptocurrency users and developers use such a tool to view the status of past or present transactions, look up information about accounts, and see information about tokens. -Some of the most basic information available on blockchain explorers includes (but are not limited to): +Some of the most basic information available on blockchain explorers includes (but is not limited to): * **Block feed**: This allows you to view all the confirmed and pending blocks on the blockchain. * **Transaction feed**: The transaction feed displays all the most recent and pending transactions. * **Transaction viewer**: Each transaction can be viewed individually to reveal the public addresses of the sending and receiving parties. -* **Wallet history**: All past and present transactions of an individual wallet address. +* **Account history**: All past and present transactions of an individual account address. +* **Smart contract status**: Information about smart contracts, including their interface and current balance and information about the tokens they manage. +* **Staking and delegation**: Information about which accounts are staking and delegating to which other accounts and information about the rewards for bakers and stakers. -#### Block Explorer use cases +## Block explorer use cases -Block explorers are not only made for casual users to check if their coins are still safe or for delegators to verify that their baker is not cheating with their earnings. +Many different kinds of users use block explorers: -Block explorers are also used by: +* Individual Tezos users who need to check their token balances and staking rewards +* Blockchain engineers who develop and debug new Tezos features +* App developers who need debugging tools and more visibility into the current and past state of their contracts running on testnets and Mainnet +* Bakers and staking services who need reliable data about delegation and earnings history to calculate correct payouts, plan their bond pools, and execute operations +* Auditors and regulators who need a trusted copy of the full on-chain history in a format that's easy to digest for spreadsheets and compliance tools -* blockchain engineers who develop and debug new features in sandboxes (e.g. new blockchain consensus). -* app developers who need debugging tools and more visibility into the current and past state of their contracts running on internal testnets and Mainnet. +Different block explorers show data in different ways, so if one block explorer doesn't show information that you need or use the format that you need, try a different one. +For example, some block explorers focus on information about bakers. +Also, [Explorus](https://explorus.io/) has a section on the Data Availability Layer. -* bakers and staking services who need reliable data about delegation and earnings history to calculate correct payouts, plan their bond pools and execute operations. -* less technical user groups like auditors and regulators with strict requirements for data quality, as they need to access a trusted copy of the full on-chain history in a format that's easy to digest for their spreadsheets and compliance tools. +## Public block explorers Here are some commonly used Tezos block explorers: - [TzStats](https://tzstats.com/) - [TzKT](https://tzkt.io/) -- [Arronax](https://arronax.io) - [Baking Bad](https://baking-bad.org) - [Better Call Dev](https://better-call.dev) - [Explorus](https://explorus.io/) - [Etherlink Explorer](https://explorer.etherlink.com/) - [TzFlow](https://tzflow.com/) + +If you can't find the information that you need on public block explorers, you can set up an [indexer](/developing/information/indexers) to get the information that you need. + +## APIs + +Some block explorers provide public APIs that developers can call to get information from. +For example, the [TzKT](https://tzkt.io/) block explorer has documentation for its API at https://api.tzkt.io. diff --git a/docs/developing/information/block-explorers/inspect-contract-tzstats.md b/docs/developing/information/block-explorers/inspect-contract-tzstats.md deleted file mode 100644 index 7a49c8037..000000000 --- a/docs/developing/information/block-explorers/inspect-contract-tzstats.md +++ /dev/null @@ -1,262 +0,0 @@ ---- -title: Inspecting deployed contracts -authors: Benjamin Pila -last_update: - date: 28 June 2023 ---- - -As a developer, you will often want to check the state of your deployed smart contracts. Using a blockchain explorer is a fast and easy way to do so. In this section, we will find a smart contract and check it out on _TzStats_. - -## Find your smart contract on _TzStats_ - -Once you have the address of your smart contract, go to the _TzStats_ website associated with the network you deployed your contract on. - -Remember, the following TzStats website links are the following: -- **Mainnet**: [tzstats.com](https://tzstats.com) -- **Ghostnet**: [florence.tzstats.com](https://ghost.tzstats.com/) - -Copy/paste your address in the search bar: - -![](/img/developing/tzStats_search_bar.png) - -TzStats then shows a page with information related to your smart contract, e.g. the balance of the contract, the amounts sent and received, the originator's address, etc. - -![](/img/developing/tzStats_smart_contract_general_information.png) - -Below the general information, you have a list of tabs allowing you to see: - -- the calls -- the entrypoints -- the contract code -- the storage -- the different *big_maps* of your smart contract (if there are any) - -For the following examples, we will check out the smart contract, deployed on the Mainnet, whose address is the following: - -``` -KT1HbQepzV1nVGg8QVznG7z4RcHseD5kwqBn -``` - -Available at this [link](https://tzstats.com/KT1HbQepzV1nVGg8QVznG7z4RcHseD5kwqBn). - -### Calls - -Here you have the history of all transactions related to your smart contract. - -You can see: -- the transactions with the amount and the address of the sender -- the calls made to the entrypoints with the name of the entrypoint in question -- on the right the status of the block with the number of confirmations received - -![](/img/developing/tzStats_smart_contract_calls.png) - -### Entrypoints - -Here you have a list of all your entrypoints and their parameters. Furthermore, you can see how many calls each entrypoint has received. - -![](/img/developing/tzStats_smart_contract_entrypoints.png) - -### Contract Code - -Here you have the Michelson code of your smart contract. - -![](/img/developing/tzStats_smart_contract_code.png) - -### Storage - -Here you have access to the content of your storage with the type of each variable and its current value. Notice that the content excludes big_maps as they are specific tabs for them. - -![](/img/developing/tzStats_smart_contract_storage.png) - -### Big_map - -Here you have the content of your big_map. - -![](/img/developing/tzStats_smart_contract_bigmap.png) - -## API Calls - - - -The same pieces of information can be retrieved by API calls, without using the frontend. -A full documentation is available [here](https://tzstats.com/docs/api#tezos-api). - -The following API endpoints are the following: -- Mainnet: https://api.tzstats.com -- Mainnet Staging: https://api.staging.tzstats.com -- Ghostnet: https://api.ghost.tzstats.com - -First, let's get the contract information. -The "explorer" endpoints will be used (full reference [here](https://tzstats.com/docs/api#explorer-api)). - -In this example, one of the contracts has been deployed on the Mainnet to `KT1HbQepzV1nVGg8QVznG7z4RcHseD5kwqBn`. - -Let's retrieve the contract details: - -```shell -$ curl https://api.tzstats.com/explorer/contract/KT1HbQepzV1nVGg8QVznG7z4RcHseD5kwqBn -{ - account_id: 1571823, - address: "KT1HbQepzV1nVGg8QVznG7z4RcHseD5kwqBn", - creator: "tz1Y1j7FK1X9Rrv2VdPz5bXoU7SszF8W1RnK", - baker: "", - storage_size: 76, - storage_paid: 137130499, - storage_burn: 34282.62475, - total_fees_used: 35107.200459, - first_seen: 1540787, - last_seen: 3785361, - first_seen_time: "2021-07-03T02:48:58Z", - last_seen_time: "2023-06-28T11:55:20Z", - n_calls_in: 5327898, - n_calls_out: 12802647, - n_calls_failed: 48128, - bigmaps: { - metadata: 6071, - swaps: 6072 - }, - iface_hash: "a357937cb9a451f0", - code_hash: "c1c14f183e87db20", - storage_hash: "2ddc5c4d726ee5c1", - call_stats: { - cancel_swap: 755121, - collect: 2982990, - swap: 1589781, - update_fee: 3, - update_manager: 3 - }, - features: [ - "transfer_tokens" - ], - interfaces: [ ] -} -``` - - -The pieces of information do match those from the web interface: *address*, *creator*, *first_seen_time*, *last_seen_time*... - -The call to the entrypoints "swap" can be seen in the `call_stats` field: 3366 calls have indeed been made to this entrypoint. - -More details can be fetched about those calls: - -```shell -$ curl https://api.tzstats.com/explorer/contract/KT1HbQepzV1nVGg8QVznG7z4RcHseD5kwqBn/calls -[ - { - id: 100977803329, - hash: "ooKQreNc41frgFB6JyeiC2Z7yug6nwdPhG9vxEyUtovzCSCn3wF", - type: "transaction", - block: "BLk9c3KZ7gxsfczy1n9vSBY3TjVBQAmUMRwpetM157kmRRLPmJi", - time: "2021-07-03T03:09:30Z", - height: 1540799, - cycle: 376, - counter: 11788641, - op_n: 65, - op_p: 21, - status: "applied", - is_success: true, - is_contract: true, - gas_limit: 68256, - gas_used: 41186, - storage_limit: 209, - storage_paid: 142, - fee: 0.010003, - burned: 0.0355, - parameters: { - entrypoint: "swap", - value: { - creator: "tz1Y1j7FK1X9Rrv2VdPz5bXoU7SszF8W1RnK", - objkt_amount: "1", - objkt_id: "127648", - royalties: "150", - xtz_per_objkt: "15000000" - } - }, - code_hash: "c1c14f183e87db20", - sender: "tz1Y1j7FK1X9Rrv2VdPz5bXoU7SszF8W1RnK", - receiver: "KT1HbQepzV1nVGg8QVznG7z4RcHseD5kwqBn", - confirmations: 2244817 - } -], ... -``` - -It details the inputs used for this entrypoint, the storage after the call, the differences in the big_map that have changed after the call, etc... - -The current storage can be fetched, with this endpoint: - -```shell -$ curl https://api.tzstats.com/explorer/contract/KT1HbQepzV1nVGg8QVznG7z4RcHseD5kwqBn/storage -{ - "value":{ - counter: "2089781", - fee: "10", - manager: "tz1UBZUkXpKGhYsP5KtzDNqLLchwF4uHrGjw", - metadata: 6071, - objkt: "KT1RJ6PbjHpwc3M5rw5s2Nbmefwbuwbdxton", - swaps: 6072 - } -} -``` - -The storage returned by the API does match the one displayed in the web interface. -The `swaps` big_map holds a big_map id, instead of the values. -Indeed, a big_map is meant to hold unbounded data size. Thus, fetching the storage could quickly become expensive, if the big_map holds a lot of values. - -The values of a big_map have to be retrieved from a separate endpoint, thanks to its id (`6072` in this case): - -```shell -$ curl https://api.tzstats.com/explorer/bigmap/6072/values -[ - { - key: "500004", - hash: "exprvBRmMqhYfn6WbKRvc1ZpgapmqWqxb6GMuGRJFhU2yCcJBnoKAh", - value: { - creator: "tz1fFvDY3knjU1rYYf4vxccRLhG76rFzkbRh", - issuer: "tz1fFvDY3knjU1rYYf4vxccRLhG76rFzkbRh", - objkt_amount: "8000", - objkt_id: "156939", - royalties: "100", - xtz_per_objkt: "3000000" - } - }, - { - key: "500005", - hash: "expru8BYHanpVTF2qmCQ2h1hXef94dcmyJMe3MMXQkvPi2A2ea233F", - value: { - creator: "tz1L5rVycD7yn8F6rxnN6u94FW9JZAbWU5ab", - issuer: "tz1L5rVycD7yn8F6rxnN6u94FW9JZAbWU5ab", - objkt_amount: "0", - objkt_id: "158301", - royalties: "230", - xtz_per_objkt: "2000000" - } - }, ... -] -``` - -All of the pieces of information displayed in the web interface can be retrieved from the API. -All these API calls can of course be made from any libraries and thus can be automated in any program. - -# Conclusion - -tzstats.com is extremely useful to monitor what is happening on Mainnet and public testnets. -All the pieces of information regarding the cycles, the blocks, the transactions, the smart contracts, etc... can quickly be found, thanks to a user-friendly interface. - -In addition, _TzStats_ provides a complete and free REST API (for non-commercial use), without any authentication or enforcement of rate limits (as long as it remains reasonable). See the introduction of the [Tzstats API](https://tzstats.com/docs/api#tezos-api). - -Those calls can be performed by any library: the pieces of information retrieved about a public Tezos network can be used in another monitoring tool, or even in Dapps. - -Indeed, API calls can be used within Dapps to retrieve those kinds of information. For instance, _Taquito_ (a TypeScript library to interact with a Tezos node) is not able to retrieve the keys of a big_map with a simple call. A call to the _TzStats_ API solves this issue. - -Those tools are also available for private networks. -This will be detailed in the next chapter, where a private _TzStats_ is set up to monitor a private network. - -## References - -[1] https://tzstats.com/ - -[2] https://tzstats.com/KT1HbQepzV1nVGg8QVznG7z4RcHseD5kwqBn - -[3] https://tzstats.com/docs/api#tezos-api - -[4] https://tzstats.com/docs/api#explorer-endpoints diff --git a/docs/developing/information/block-explorers/tzkt.mdx b/docs/developing/information/block-explorers/tzkt.mdx deleted file mode 100644 index 88fe632c1..000000000 --- a/docs/developing/information/block-explorers/tzkt.mdx +++ /dev/null @@ -1,55 +0,0 @@ ---- -title: TzKT Tezos blockchain explorer -authors: Baking Bad -last_update: - date: 12 December 2023 ---- - -import Figure from '@site/src/components/Figure'; - -[TzKT explorer](https://tzkt.io/) from the Baking Bad team is designed to improve experience for both newcomers and advanced Tezos Blockchain users. In this article we will reveal the main features of this explorer. - -[Main Page](https://tzkt.io/): Contains general information on the blockchain: current cycle and block, Governance status, accounts and transactions stats, current price chart. The dropdown tab in the header allows you to switch the explorer to the testnets. - -
- -Also, there is a [Liquidity Baking tab](https://tzkt.io/KT1TxqZ8QtKvLu3V3JH7Gx58n7Co8pgtpQU5/dex?baseCurrency=XTZ"eCurrency=tzBTC&tradingTimestamp=daily), where you can interact with the Sirius DEX contract directly from TzKT. Sirius is an AMM tzBTC/XTZ DEX directly integrated into Tezos with a protocol subsidy. - -
- - -[API](https://api.tzkt.io/): Leads to the powerful API sub-site, where all API documentation is located, free for use by Tezos developers. - -
- -[Tezos DAPPs](https://tzkt.io/dapps): List of DAPPs present in Tezos ecosystem. Chart can be sorted by category or any parameters like TVL, Volume, Users, Interactions with a different timeframes (1D, 7D, 30D) - -
- -[Stats](https://tzkt.io/stats): The entire ecosystem of Tezos, expressed in graphs. Useful to view the dynamics of the L1 protocol according to a wide list of indicators like transactions, volume, contract interactions, active users, total accounts and other. - -
- -[Bakers](https://tzkt.io/bakers): Provides a list of all Tezos Bakers. By default, this tab displays only active public bakers - this measure is to secure the newcomer delegators. Use filters or switch to “all bakers” tab for advanced search. - -
- -**Blockchain**: a wide range of tools for users to get specific data. Cycles and blocks list, accounts information, particular operations, governance events, software overview etc. - -
- -**Search and bookmarks**. On the header right side there is a search bar. The search is configured to find the right user or contract by name, address and Tezos Domain, as well as to prompt you with similar results. Bookmark any address to ease its use for you. Export and import it to easily set on other devices or share with your mates. diff --git a/docs/developing/information/block-explorers/tzstats.mdx b/docs/developing/information/block-explorers/tzstats.mdx deleted file mode 100644 index b0d98d568..000000000 --- a/docs/developing/information/block-explorers/tzstats.mdx +++ /dev/null @@ -1,69 +0,0 @@ ---- -title: The tzStats blockchain explorer -authors: Maxime Sallerin -last_update: - date: 28 June 2023 ---- - -import Figure from '@site/src/components/Figure'; - -In this chapter, we will use the [TzStats](https://tzstats.com/) explorer to illustrate the different features of an explorer, but similar features are usually available on others. Concerning the observation of smart contracts, the different aspects are discussed in the [following chapter](/developing/information/block-explorers/inspect-contract-tzstats). - -[TzStats](https://tzstats.com/) is developed by _Blockwatch Data Inc._ It is a block explorer for public and private Tezos networks and it is based on the [TzIndex indexer](https://github.com/blockwatch-cc/tzindex). - -Each Tezos network has its own _TzStats_ version: - -- **Mainnet**: [tzstats.com](https://tzstats.com) -- **Ghostnet**: [florence.tzstats.com](https://ghost.tzstats.com/) - -## TzStats' main features - -TzStats has a complete guide available [here](https://tzstats.com/docs/guide). - -- [Main Dashboard](https://tzstats.com/): This page provides a quick view of all the main activity on the Tezos network, e.g. staking activity, gas price, tez supply, transaction volume, etc. -
- -- [Cycle](https://tzstats.com/cycle/head): This page provides general information about a specific cycle number. A cycle is a way of measuring time. Every cycle is equal to 4096 blocks. -
- -- [Block](https://tzstats.com/1496426): This page provides general information about a specific block number along with its technical details such as gas used, block health (Endorsed Slots, Missed Priorities and Missed Endorsements), etc. -
- -- [Network Activity](https://tzstats.com/activity): This page provides a world map with the location of where new blocks are being baked. There is also the list of _whale operations_ (i.e. a list of high-value transfers >= $100,000). -
- -- [Bakers](https://tzstats.com/bakers): This page provides the total number of Tezos bakers. Several lists are also available to gain an overview of the Tezos baker landscape. You can choose between several tabs, namely, Public, Private, Closing, and Leaderboard. -
- -- [Protocols](https://tzstats.com/protocols): This page shows the past and current protocol used by Tezos and the overall age of the Tezos blockchain. See [History of amendments](/architecture/governance/amendment-history) to understand each protocol. -
- -- [Voting](https://tzstats.com/election/head): This page shows the past and current elections and indicates when it ends. See [Governance](/architecture/governance) to understand the voting process. -
- -- [Markets](https://tzstats.com/markets): This page provides an overview of the current market activity, e.g. list of exchanges, 1 day's volume, overall market capitalization, etc. -
- -Here the main features have been presented and, in the next chapter, we will see how to check out your smart contract. - -## References - -[1] https://tzstats.com - -[2] https://tzstats.com/docs/guide diff --git a/sidebars.js b/sidebars.js index 94f55968d..1af346933 100644 --- a/sidebars.js +++ b/sidebars.js @@ -103,20 +103,9 @@ const sidebars = { id: 'developing/information', type: 'doc', }, + items: [ - { - type: 'category', - label: 'Block explorers', - link: { - id: 'developing/information/block-explorers', - type: 'doc', - }, - items: [ - 'developing/information/block-explorers/tzkt', - 'developing/information/block-explorers/tzstats', - // 'developing/information/block-explorers/inspect-contract-tzstats', - ], - }, + 'developing/information/block-explorers', 'developing/information/indexers', ], }, diff --git a/static/img/developing/TzKT_review_1.png b/static/img/developing/TzKT_review_1.png deleted file mode 100644 index 716d14fd6..000000000 Binary files a/static/img/developing/TzKT_review_1.png and /dev/null differ diff --git a/static/img/developing/TzKT_review_2.png b/static/img/developing/TzKT_review_2.png deleted file mode 100644 index 32625b18b..000000000 Binary files a/static/img/developing/TzKT_review_2.png and /dev/null differ diff --git a/static/img/developing/TzKT_review_3.png b/static/img/developing/TzKT_review_3.png deleted file mode 100644 index 9ec5fd6db..000000000 Binary files a/static/img/developing/TzKT_review_3.png and /dev/null differ diff --git a/static/img/developing/TzKT_review_4.png b/static/img/developing/TzKT_review_4.png deleted file mode 100644 index 054d24aec..000000000 Binary files a/static/img/developing/TzKT_review_4.png and /dev/null differ diff --git a/static/img/developing/TzKT_review_5.png b/static/img/developing/TzKT_review_5.png deleted file mode 100644 index 592db1aee..000000000 Binary files a/static/img/developing/TzKT_review_5.png and /dev/null differ diff --git a/static/img/developing/TzKT_review_6.png b/static/img/developing/TzKT_review_6.png deleted file mode 100644 index 093bd2e7a..000000000 Binary files a/static/img/developing/TzKT_review_6.png and /dev/null differ diff --git a/static/img/developing/TzKT_review_7.png b/static/img/developing/TzKT_review_7.png deleted file mode 100644 index 29cc33d4c..000000000 Binary files a/static/img/developing/TzKT_review_7.png and /dev/null differ diff --git a/static/img/developing/tzStats_activity.png b/static/img/developing/tzStats_activity.png deleted file mode 100644 index 45f660b93..000000000 Binary files a/static/img/developing/tzStats_activity.png and /dev/null differ diff --git a/static/img/developing/tzStats_bakers.png b/static/img/developing/tzStats_bakers.png deleted file mode 100644 index a4226cd60..000000000 Binary files a/static/img/developing/tzStats_bakers.png and /dev/null differ diff --git a/static/img/developing/tzStats_block.png b/static/img/developing/tzStats_block.png deleted file mode 100644 index 5aeef8baf..000000000 Binary files a/static/img/developing/tzStats_block.png and /dev/null differ diff --git a/static/img/developing/tzStats_cycle.png b/static/img/developing/tzStats_cycle.png deleted file mode 100644 index 0f7e40e75..000000000 Binary files a/static/img/developing/tzStats_cycle.png and /dev/null differ diff --git a/static/img/developing/tzStats_first_page.png b/static/img/developing/tzStats_first_page.png deleted file mode 100644 index 65d484bb3..000000000 Binary files a/static/img/developing/tzStats_first_page.png and /dev/null differ diff --git a/static/img/developing/tzStats_markets.png b/static/img/developing/tzStats_markets.png deleted file mode 100644 index ca83c424a..000000000 Binary files a/static/img/developing/tzStats_markets.png and /dev/null differ diff --git a/static/img/developing/tzStats_protocols.png b/static/img/developing/tzStats_protocols.png deleted file mode 100644 index a3d994c11..000000000 Binary files a/static/img/developing/tzStats_protocols.png and /dev/null differ diff --git a/static/img/developing/tzStats_search_bar.png b/static/img/developing/tzStats_search_bar.png deleted file mode 100644 index 20718541c..000000000 Binary files a/static/img/developing/tzStats_search_bar.png and /dev/null differ diff --git a/static/img/developing/tzStats_smart_contract_bigmap.png b/static/img/developing/tzStats_smart_contract_bigmap.png deleted file mode 100644 index ae9414c87..000000000 Binary files a/static/img/developing/tzStats_smart_contract_bigmap.png and /dev/null differ diff --git a/static/img/developing/tzStats_smart_contract_calls.png b/static/img/developing/tzStats_smart_contract_calls.png deleted file mode 100644 index cbdf75878..000000000 Binary files a/static/img/developing/tzStats_smart_contract_calls.png and /dev/null differ diff --git a/static/img/developing/tzStats_smart_contract_code.png b/static/img/developing/tzStats_smart_contract_code.png deleted file mode 100644 index 6f05a4df2..000000000 Binary files a/static/img/developing/tzStats_smart_contract_code.png and /dev/null differ diff --git a/static/img/developing/tzStats_smart_contract_entrypoints.png b/static/img/developing/tzStats_smart_contract_entrypoints.png deleted file mode 100644 index f40aaa22d..000000000 Binary files a/static/img/developing/tzStats_smart_contract_entrypoints.png and /dev/null differ diff --git a/static/img/developing/tzStats_smart_contract_general_information.png b/static/img/developing/tzStats_smart_contract_general_information.png deleted file mode 100644 index 0c4ff2d4c..000000000 Binary files a/static/img/developing/tzStats_smart_contract_general_information.png and /dev/null differ diff --git a/static/img/developing/tzStats_smart_contract_storage.png b/static/img/developing/tzStats_smart_contract_storage.png deleted file mode 100644 index e1cd8061c..000000000 Binary files a/static/img/developing/tzStats_smart_contract_storage.png and /dev/null differ diff --git a/static/img/developing/tzStats_voting.png b/static/img/developing/tzStats_voting.png deleted file mode 100644 index 73bf2a98f..000000000 Binary files a/static/img/developing/tzStats_voting.png and /dev/null differ