Oasis Twitter Spaces Recap: Sapphire Developer Tooling
Read a summary of the recent Oasis Twitter Spaces on Sapphire developer tooling!
The Oasis Twitter Spaces session on March 23 was a fantastic opportunity to learn about the resources and tools available to developers building on Sapphire. Members of two leading teams – Band Protocol Protocol and Covalent – joined Oasis to chat about everything Sapphire has to offer to developers. For anyone who missed the conversation, this article provides a summary of the conversation using paraphrases of the guests' own words. If you prefer to listen to the recording, find it here.
Here’s a recap of the Twitter Space that has been slightly modified for concision and readability.
What are some of the issues and problems in Web3 that you’re trying to solve?
Leibing (Covalent): I mean, it's a very broad question. And if you ask me honestly, there's many, many critical problems for the blockchain industry. Of course, last year hasn't been the best time for this industry, and the events of the last two years highlighted various problems. Things to do with transparency, things to do with bad actors, things to do with a lot of projects that turn out to not fulfill their promise, etc. So, all these things are happening.
On the Covalent front, we don't purport to solve all problems, obviously.
We solve a very specific and niche problem for our developers. The chief problem is data access. There's so many blockchains, so many protocols. And sometimes when you query the data on-chain. They're all in different languages. They're all in very point query formats. The blockchain database is different from the SQL database, which gives you aggregated data. So, that makes understanding high-level questions with a blockchain very, very complicated, especially if you are creating multi-chain apps, etc.
Covalent comes into the picture by aggregating the data, packaging them into neater formats – into our API endpoints – and then providing it to developers. For instance, if you need to get all transactions of a wallet address or smart contract, you can just make one API call and you get every single thing. You can also download it in CSV or Google Sheets formats.
That really empowers both developers and analysts or community members to really get down to what kind of on-chain data that is on a blockchain and hopefully that gives more transparency, which is the theme of today's talk as well, to blockchains and space in general.
Fon (Band Protocol): Band Protocol will actually provide on-chain data to smart contracts. So, we're working on the data side too, but providing it onto the blockchain. And the problems we solve, I would say, are more like the fundamental issue of running smart contracts or building in Web3.
Basically we're enabling smart contracts to access reliable and accurate data from outside the blockchain.
I think the path here already has so many, I would say, pitfalls or incidents happening if smart contracts and DeFi protocols do not have a legitimate or secure oracle solution. And at the end of the day, it impacts the users, right? So, this is the key in our mind when we developed Band Protocol. Security is always top of mind and to do that it's via decentralization. So, if you use Band Protocol Protocol, we work with multiple validators to ensure that there's no centralized point of failure and the data is always secure and reliable.
Another thing that we really address is to improve in the space is interoperability and scalability. For interoperability, we've been working on it via IBC for Cosmos. And in the near future we're going to launch the bridge for EVM tools so that oracle can interact natively with dApps that need the data. In terms of scalability, I think we're trying to solve that by increasing the throughput of Band Protocol and having a dedicated infrastructure on-chain. Band Protocol runs on our own chain. And all the heavy kind of oracle computations are uploaded from the requested chain and onto our chain, there's no computation for any other types of data. All of our data or transactions and go on, I really just oracle. And I feel like this is, I would say, how we offload the load from what you guys or smart contracts builders are building. And I would say just let the oracle solution part be handled by us.
What makes Covalent and Band Protocol unique from other Web3 projects?
Leibing (Covalent): I see the Covalent product as providing aggregated data. So, if you're a builder in Web3 or even a web tool developer that's recently gone into the Web3 space, you realize that when you query on chain data, you use these things called JSON-RPC endpoints, right? And they're really good. We all rely on them to get on chain data, but the problem is that they use a point query method where to get a token of one address, let's say my address, right? I need to provide the input data of not only my own address but also the token address and also the contract ABI of the token.
What if I hold 50 tokens? You're basically looping through 50 calls and 50 APIs and contract addresses. So from a developer experience perspective, that's just a nightmare. Especially if your product needs to maybe just show one page of your user's tokens. And that's not a core feature of a product, but you just need to get it out there and get it quick. That's where the Covalent API comes in.
We provide the aggregated data for these kind of use cases where you can basically outsource that kind of data gathering to us and focus on your UX or the business problem that you're trying to solve. Our data is very user-centric, and by users I mean developers. That makes us unique compared to the JSON RPC services and also compared to other aggregated data providers. We support over 90 plus chains, including Oasis Sapphire, which means that you can get all kinds of on-chain data if you're a builder from the Sapphire network. That makes your life really easy when building cross-chain applications.
Fon (Band Protocol): Band Protocol is an oracle solution that provides data onto the blockchain. I would say actually we're really, really open for our customers to choose whichever oracle makes sense to them. And also if they need multiple oracles for their own particular protocol, depending on how they wanted to sign it. But here are some of the key features that I would say make Band Protocol stand out.
One is cross-chain compatibility. We are also designed to be interoperable on cross chain. This means that if you're a protocol building on multiple chains, it makes sense to use Band Protocol because we can provide multiple Cosmos EVM substrates.
Two is customizability. Developers can customize their oracle solution based on their needs. From what we have been working with, different protocols really require very different nuances of the price feeds.
Three is, again, decentralization and security. We have a decentralized network. And we work with multiple validators that we trust.
I would also add scalability and speed. Again, we designed the Band Protocol chain for high throughput, low latency, and we try as much as we can because it is a business to be cost effective to enabling developers to access data really quickly, really efficiently. And last and not least, we do offer robust services supported by maintenance of a full team working around the clock if our customers have any issues.
How is Covalent useful for cross-chain applications?
Leibing (Covalent): Covalent works to empower multi-chain applications. Cross-chain typically is when you do a transfer from one chain to another, and those will be like bridging solutions and sometimes oracles help with that as well. But for us, because we are a read-only API, we enable you to build cross chain displays. Let's say you are building a wallet, you can display the balances of a user across up to 90 chains or with just a couple of API calls, right? And that is the true benefit I suppose of using Covalent.
What types of applications are using Band Protocol and Covalent today?
Leibing (Covalent): So, applications that can make good use of Covalent are basically anything, any dApp that you make, right? You've got a Solidity backend, if you are developing for EVM compatible layers like Sapphire. You've got a Solidity backend and then you stumble upon this problem. So how do I display certain data for my users?
One good example is info.uniswap.org.
Everyone can use Uniswap to swap their tokens, but via their front-end, we gotta see charts, we gotta see the number of pools, the TVL, etc. All these data points are available through Covalent API. You see bridging solutions, right? It's a cross chain dApp in a backend. But every time you want to do a bridge, there will be a page which shows the number of tokens that you have, something like this can be made very easily with just one API call per user. So any application, any dApp that requires a front-end UI is a perfect use case for the Covalent API.
Fon (Band Protocol): The existing ones that we see a lot of are DeFi platforms of protocols. We either work with L1s – so that we can support the small contracts – or we work directly with the dApps. And it's mostly DeFi. If you want to build in lending, borrowing, perpetuals, etc., you would need an oracle. And just to draw on what you were talking about earlier, we also have a VRF, which is a verifiable random function.
It's an application or use case that we built on top of the oracle. And it basically generates a random number. So this would serve gaming, any given platform, and any sort of dApps as trying to build in-game randomness. And then the last one that we have been seeing and I would be really more excited to see more is Social Media and Privacy. We've had one of our customers or partners use us to verify social media profiles. They have a profile module on the application. And they've leveraged Band Protocol to verify that these people, the profiles on their platform, are real people, and have accounts, like social media accounts in Web2, that are verified basically. So in that sense, I think if you're building a profile module or wallet, Band Protocol could work for you too.
How can Oasis developers integrate Band Protocol into their projects?
Fon (Band Protocol): We have a lot of available information and documentation on a website. But, if you were to need support, you can always contact our ecosystem developers and join our Discord or just email us at BD@Band Protocolprotocol.com. We can also help you set up, and we can also share dedicated resources to help. But we are available on multiple testnets. And if you don't need support or help on that front, the documentation online would already get you started.
What role do data oracles and data aggregators play in privacy-focused blockchains?
Leibing (Covalent): I think it's obviously a pretty philosophical question. Privacy and transparency are sort of at odds with each other sometimes. We want transparency, but at the same time, we also want privacy. They're both, I suppose, like good values, which is what makes it interesting because there are many ways in which pure transparency is an absolute nightmare. For instance, like, you know all your enemies moves, that makes certain use cases not possible. But there's also more malicious cases like your address gets exposed. And if you're a whale, lots of hackers would then start to really target you. And if there's any kind of like IDing your address to any real world identification, a lot of bad things might happen.
So, you can totally see the need for privacy there.
But at the same time you have to ask how privacy can be completely exploited to have this shadowy financial system. So, yeah, on both extremes it's not good. We need a solution in the middle, and that's where I believe, for instance, us indexing Sapphire is pretty interesting because you guys would have a layer which is private. And how that differs from your general EVM like Ethereum chains or Polygon chains. This is a very interesting tension that we see a whole new use case.I think I'm still making up my mind on this topic, but I think it's a fascinating topic.
Fon (Band Protocol): For oracles, I think moving on from just being a theoretical thing to actually receiving it at play already is important. So, with regards to oracle usage and roles, it's quite simple and clear as verification. You can use Band Protocol oracles network to provide proven verification of users or transactions or whatnot by accessing off-chain data without having to review the private details that you weren't seeing, it's like two opposing things, right? We can verify it, while we can still mask and show privacy to the people. So, as Blockchain networks become more privacy enabled, I really think our holes would play an important role in enabling this network to interact with external data sources without compromising user privacy.
We really bridge this gap by the secure and decentralized design that I mentioned. One of our partners, they're called Decimals, have been using it in trying to build out Web3 social media. So, they're trying to balance between transparency and also privacy, leveraging verification using an oracle, basically.
We currently provide for DeFi because there's an uptake or a market need for price feed data. But actually as the industry evolves oracles can do so much more than that, right? For GameFi, it's the VRF to introduce randomness, even in a, in a NFT meeting, sorry. And for privacy networks, it is this kind of other data that is used to verify the profiles. Let's say someone is building a breeding game, this is really, really common. You don't have to use a request, one random outcome per breed. You can actually do it one time as a seed. So you know exactly the universe of the different solutions provided the different pairing. But that part obviously is then kept for the game designers and the users only know the end results basically.
What's next on the roadmap for Covalent and Band Protocol?
Leibing (Covalent): On Covalent’s side, our mission is quite simple – more change, better design API, faster response time. So, basically it's about ensuring that your apps are really the zippiest you can get in terms of getting the data. And also your life as a developer is the simplest. And if you need a certain use case, which is why our product team is constantly sometimes piecing together different kinds of combinations of data together to fit specific use cases.
You can go onto our documentation to check out all our existing endpoints – that's covalenthq.com/docs/api – and can try them out, see the kind of data we offer. And also we are developing this new series called Class C endpoints which allows you to get protocol specific data for the likes of Curve, AAVE, Balancer, Instadapp, LIDO, etc. So before that, I suppose getting all this data will be quite difficult. But with these new endpoints, you can integrate these DeFi functions into your application and wallets really quickly. That's the pipeline on the outside.
Fon (Band Protocol): On the Band Protocol side, we're compounding interoperability. We released our roadmap this year. We're building three integration tools. Just bringing IBC to everyone in Cosmos by a bridge contract for EVM so that our users can access the Band Protocol oracle in a more seamless manner and more native too.So in summary, I would say it's, we're also trying to provide self-service modules.
We're also looking at how to integrate with ZK EVM and if we were to support them too.
On the data side, we might be soft-launching our testing data marketplace soon. Currently, we onboard data from premium data sources and we work directly with data providers. There's just been a discussion if we should open it up to the public or other business partners to also provide data for us. It would also help with utility or tokenomics of Band Protocol, I would say.
The end goal is to be able to provide to as many chains as possible in a mixture between service and self-service models so that people can also build or be creative about what they want to do and the use cases they want to try out. Despite, let's say, one Band Protocol Protocol as a company, as a project, as a foundation is doing. For example, like with Decimals, they actually started the project and did it first by themselves before even requesting help on some topics.
What privacy-enabled dApp ideas would you share with developers looking to build?
Leibing (Covalent): Off the top of my head, I can think of two ideas maybe.
The first one is, well, I've seen this app being built a lot in hackathons, but the main critique I had of this idea then was that you cannot build confidential documents on-chain. And the app is like a healthcare kind of record kind of app where instead of the health records of an individual being on some hospital database, it's on-chain, and it's owned by you – the person who has those health records. So, with a privacy focused blockchain, definitely like a healthcare dApp would be pretty needed or can be built with it. And that extends into other things where you hold sovereign of specific data.
The second idea is a certain dApp that requires, like, specific GPS location data. For instance, if you have an items rental application where the items are put on-chain, and then you can use a certain collateralization mechanism to ensure that the items are returned. If you don't return it, the value is gone and it's all linked to your Metamask Wallet or whatever, right? And if the item is lost for certain items, right? You kind of want to access the GPS data to see or track where those items are. And this is not very different from those bike sharing applications. But it's still that's all on-chain. But the problem with having GPS data on-chain is that it really invades privacy. No one wants to run an item knowing that at every moment, anyone online will be able to know my precise location which is tied to my wallet address. So something like this would probably benefit from having a privacy layer or privacy component to it where only specific actors holding certain permissions and roles will be able to access that special data in special cases. For instance, in that case, if the item goes missing or something like that.
So, these are quite specific use cases, but these are just the ones that's on top of my mind.
Fon (Band Protocol): If I can see a dApp that builds maybe a decentralized VPN or Internet so that you can provide a more private and censorship resistant Internet for, and then giving users a control over that traffic. And it would also protect the online privacy of the user – that would be very cool.
The other idea is about the social media footprint or digital footprint that so many Web 2 people want to tie into. I used to work for one of these Web2 giants. So, if there's a way that you can incorporate some form of monetization for the users, that’s key. I mean it's your data, it's your footprint. You should own it and you should earn on it. That would be quite cool.
And then I would say the last one is like a classic like Monero, right? And I wanted to mention it because it dates back so far. And if you could, it's a classic, but I still feel like it's really cool if it's privacy enabled. And then you can confidentially send transactions without anyone knowing what it is. I still think that actually this one would have a lot of opportunity too.
What advice would you give to someone from Web2 moving to Web3?
Leibing (Covalent): I think my advice is pretty specific to the data front because of my role here at Covalent. I actually learned a lot of the inner wirings of what a blockchain is, what kind of data does transaction emit from just purely looking at the data. So, obviously, you need to learn your blockchain languages – Solidity and stuff – and that will help a lot.
But even if you were to just focus on the front end stuff or the higher level stuff, that’s important. You can go on Etherscan, and those things would be Greek to you when you first enter. But after learning about what are events, what are topic hashes, what kind of data is being transmitted in each transaction, you really kind of get pretty deep into how data is stored on chain. That will give you good grounds to learn about different actions of different adapts.
If you make a swap on Uniswap, what exactly happens on chain? Like what is being transferred where? All these questions can be kind of learned from purely the data front itself. So, if you're learning Web3 stuff today, learn Solidity, learn some front-end languages, and then try the Covalent API. It's free to try and examine the data and ask yourself what it all means. It will get you to the level of competence the fastest, I think.
Fon (Band Protocol): I would take a more of an attribute approach to Web3. I think moving into this industry there are a few key things a person needs. And first is resilience because things change. I’ve seen our customers or partners being under before, and it really takes resilience for them to come back. Second is flexibility. Web3 changes a lot. And three is adaptability again, things change quite quickly. It's very different from before. But I feel like all of this is just like living in this day and age anyway. So, if you were to come into Web3, I think you need these three key attributes.
What’s coming up next for your communities and protocols?
Leibing (Covalent): So, obviously we have just indexed the Sapphire network. You can all just sign up for a free API key and try out what kind of onchain data you can get from the Sapphire network, as well as the 90 other chains that we support. We're constantly improving the product, so please stay in touch. Follow our Twitter and join our Discord. We hope everyone has a fun time learning from the data frontend or using it.
Fon (Band Protocol): We're doing some product rollout roll outs that I mentioned, but actually before that, in a few weeks, we're launching our community program, so we'd love it if you guys can join. We'll be releasing information on it on our official Telegram group as well as Discord. And it's just like, please come and join in our incentivized community program. There's a lot of things happening with Band Protocol.