“One unified API. One billion possibilities.” – Covalent’s vision is to empower tomorrow’s pioneers by providing the richest and most robust data infrastructure for the entire blockchain ecosystem. More than 1,000 projects are being built using its unified API, including Skytale, which selected Covalent as our blockchain provider for its automatic indexing and being blockchain agnostic.
To understand why Covalent has become a crucial point of access for a lot of companies operating in the blockchain area, Skytale CTO Massi Gerardi tells us in his own words why interoperability and data storage are such important topics.
Why should you use a structured data API vs an infrastructure node?
Both Enrico and I come from a long experience of integrating with different sources of data, and we have learnt that giving structure to chaos is a full-time job.
Many projects have been delayed not because of a lack of data, but because the data was not structured or the structuring formats were obsolete. When Skytale took its first steps, it became clear that moving towards a solution that would allow us to have this structure defined from the outset was a necessity.
Running a node in-house is not an easy task. In addition, you have to take into account the cost of resources (a node eats CPU and memory like candy), and the fact that a node needs to be maintained, upgraded, pet and nursed.
Why is interoperability important?
Interoperability, especially for a company like Skytale, is a fundamental element in providing a seamless service to the user.
Our mission is the democratize access to the blockchain. In today’s panorama, with different actors playing different roles in the blockchain scenario, having a lingua franca to extrapolate information is key.
Interoperability, for us, means that the origin of the data is transparent, leaving us to concentrate on the meaning rather than on the source.
An operation described on an Ethereum node or any other EVM-based chain has a different structure than one from Polkadot, but still they convey the same message (a transaction of some form), in a different dialect.
Interoperability is the rosetta stone to understand and interpret what happens to a particular account.
What are the main challenges in accessing data in web3?
On the one hand, data is mostly created for machines to understand, in the form of oracles or smart contracts. But, for a company like Skytale, the challenge is to give this data meaning for human operators as well.
On the other hand, we must also take into account and work to ensure that other machines outside the blockchain space can consume this data.
A transaction has a meaning for a smart contract that is absolute, but it has a different meaning from a human point of view, and again a different meaning for a remote system that has to perform some off-chain processing on that transaction.
In addition, we must not forget the presence of dialects, one associated with each blockchain family.
Why is it important for Covalent to be chain agnostic?
Being chain agnostic means that the chain becomes transparent to the user querying Covalent API. Effectively, you need to know which chain your account is in, but you are spared the need to know how that chain works. Being chain agnostic allows Skytale to perform cross-chain querying.
In 2016, there were only two major players in the blockchain space – Bitcoin and Ethereum – and they were not compatible with each other. Today, just a few years later, this scenario has changed.
In 2018 there was an explosion of Blockchain applications, primarily in the DeFi space. New networks, either Layer 1 or Layer 2, have started to come to life and it has become more difficult to track investments – especially with the possibility of bridging funds between networks. Cross-chain querying allows users to have an overall vision of how their funds are moved around. Skytale’s next steps will be to provide users with a graphical representation of these movements, within a given chain or even across several chains.
How does Skytale store data?
Skytale has 2 main mechanisms for storing data:
- Publicly available data (in the form of transactions) that, after minimal enhancement, is stored in an indexing database for Skytale to use as a first source of data.
- Data tailored to a specific account, that is processed and analyzed from the end-user’s point of view and is stored in an internal database to allow customized search and filtering.
In a simple example: if person A sends some tokens to person’s B wallet, the transaction registered is neutral – some tokens moved from point A to point B. But, when using Skytale to track that specific transaction, person A will read it as a send transaction (moving funds away from their wallet), while person B, looking at the same transaction, will read it as a receive transaction.
Skytale stores custom transaction data in an internal NoSQL database, and after enhancing it with the aforementioned intelligence, allows easy access to this data, through filtering and custom search.
That said, this storage should be considered more of a cache than a typical database. In a sense, the data remains in the database as long as the user uses it. It can be deleted or recreated at any time.
This allows Skytale to achieve major objectives:
- robustness for security
- easy access
- the possibility to update this data when more precise information becomes available.
These objectives guarantee a minimum level of support for our users. In the event of an outage by Covalent, users will still be able to access their historical transactions. Once the outage is over, they will be able to get updates.
A few years ago, even before Web2 and Web3, a new concept of redesigning the World Wide Web started to emerge. It was a long shot away from Web3, but it was the first attempt towards it. It was the ontological web, and I was lucky enough to work on it for a while.
The basic idea of the ontological web was to make knowledge available to both machines and humans and to do it in a decentralized way. No more centralized search engines, no more Yahoo queries (Google was only a couple of years old at the time) and a language that promised interoperability between different sources.
Sound familiar? Again, the key here is to allow humans and machines to understand concepts using the same language.
Please join our Discord to stay up to date and hang out with the people of our amazing community!
Follow us on Twitter @Skytale
Follow us on LinkedIn: Skytale
Check our website: skytale.finance
Join our newsletter: https://skytale.finance/#newsletter