Components of Web3Go
- Indexer: An indexer of blockchain is used to extract the on-chain data and save the data in the database in formatted manner. Since the Polkadot network is composed of relay chain and parachains, and each parachain can define its own Event or call, so each indexer of the parachain must adapt to its metadata. So there will be multiple instances of the indexer of Polkadot.
- Data Board: Data board is the visualization result of data analysis created by analysts or community member, which can display analyzed and customized information on the Polkadot ecosystem such as a token transaction or holders, an NFT transfer, and history of the transaction, the statistics of a Defi protocol, or some special events like parachain auction, and governance.
- Contract on Substrate: We will use smart contracts on the Substrate nodes to demand, publish, share and reward the data activities within Web3Go. There are primarily two kinds of players involved in the smart contract: data demander, who has a need of professional, visualized results of data analysis regarding events that happened on the blockchain. Data demanders will publish the needs through the contract with bounty to incentive whoever fulfill these needs; on the other hand, data analyst, who has professional knowledge and skills to take on data tasks, or publish and share any data board they have created to the community in a paid or free manner. This smart contract will incentivise more people to contribute to the data activities in the ecosystem since those who create more valuable data boards will gain a higher reputation.
- Query Module: The data query module provides a user interface for data analysts to generate data boards. Because the data stored on the blockchain is in the form of key-value pair, it is very hard to use and analyze the on-chain data directly. With the UI provided by the query module and along with the chart display module, analysts can take advantage of the formatted data and visualize it in an automatic and customizable manner. The data will also be automatically synchronized with the blockchain, so updates will be reflected on the data board in real-time.
- Chart Display Module: The chart display module is used to visualize the result of data analysis and is the main component of the data board. The chart display module can provide different charts like bar charts, pie charts, scatter plots, and so on.
- Subscription Module: For each created data board, the data demander of this data board can subscribe to the notification signaled from this board. The notification can be triggered by a big transaction of a token or an APR vary of a Defi protocol. This module provides the functional for the subscription.
- Label/Tag Module: This module will give the address different labels, based on its historical activities on the blockchain, e.g. token transfer, Defi participation, etc. It is surveyed that at least more than 50% of the total addresses on Blockchain are inactive. So this module will filter the active address according to its activities such as "Big Whale", "High Activity" and so on. The labeled addresses are very good datasets that can be monitored to signal what is happening on the blockchain.
- Data Mining Module: Data mining module is used to search regularities and patterns in large batches of data that comes from blockchain. Data mining is widely used in some traditional industries like Retail, manufacturing, financial and financial insurance, and we believe that this technology will benefit the blockchain industry as well. The module will dig through historical data to discover hidden connections and predict future trends in specific areas of the blockchain, like token price prediction, Defi earns prediction, etc.
- Community Module: The community module is a public place where the participants of various data activities can communicate. For example, data demanders can publish their demands, data analysts can take on the tasks or share their own data boards, and the most welcome data boards will be listed here.