Solana is the blockchain technology that's causing quite a stir in the decentralized world.
It's fast, it's reliable, it's secure.
It can process over 65,000 transactions per second, making it one of the fastest blockchain networks out there.
And that's not all, its low transaction fees make it an excellent platform for building decentralized applications (dApps) for various use cases.
However, with Solana's high throughput, indexing the network is a significant challenge for the builders of Solana.
Indexing: The Problem
Now what is indexing and how is this a problem?
To understand this better, let’s meet David, a Solana developer. Now, imagine David as a wizard with a magical gift for weaving complex spells that can shape reality itself.
David is a brilliant mind, with a never-ending stream of ideas for dApps that could revolutionize the blockchain space. He possesses a magical power that allows him to create something out of nothing and conjure solutions to problems.
So to speak, David is a great wizard and in most cases, David knows the magic he needs to use to solve the problem.
However, he needs to find the spell to conjure the magic.
So here comes the problem with indexing (finding the spell) - or as David would describe it is like standing in the middle of a room.
Except that the room is huge.
And the room is filled with books.
Yep, it’s like standing in the middle of a huge library trying to find a piece of paper that contains the spell for the magic he needs.
With no available tools to help him,
David can build his own tool that can help him find what he needs (I mean, he’s a wizard after all); or
he can just go through all of this one-by-one
But both of these would take a lot of David’s time and energy. Instead of David using his magical gift for weaving complex spells that can shape reality itself, he’s stuck here for a few days trying to find the spell.
If that ain’t screaming PROBLEM, I don’t know what else is.
Developer Portal: The Solution
Fortunately, SolanaFM saves the day like a super nice librarian by handing out the spellbook that will help David with his problems.
This is where SolanaFM’s Developer Portal comes into the lives of the wizards like David. In many ways, the Developer Portal is like a spellbook for developers - a powerful tool that helps them navigate the complexities of Solana's blockchain network. We know that even the greatest wizard can benefit from a good spellbook. It's a guide through the vast sea of magical possibilities, a tool to help you focus your energy and harness your power to its fullest potential. With its user-friendly interface and dependable data indexing infrastructure, the Developer Portal is the perfect guide for developers looking to build and test dApps on Solana's platform.
Just like a spellbook, the Developer Portal provides developers with the missing piece of the puzzle that allows them to unleash their wizard-like abilities and build the next generation of dApps.
SolanaFM and the Team’s Vision
The Developer Portal is built by the same team behind SolanaFM—the friendliest blockchain explorer, API, and analytics platform for Solana.
Now the Developer Portal is the team’s latest product and a step up from their mission.
The goal?
To provide a one-stop hub for all the Anchor IDL indexing needs. With the help of the Developer Portal, all Solana developers/protocol will gain access to their selected IDL instruction/event level data without going through the tedious process of setting up & maintaining their data infrastructure.
What is IDL?
IDL or Interface Description Language is like a common language that software components can use to communicate with each other. It helps programmers avoid confusion and ensure that their code works seamlessly with other components. It typically involves defining the data types, functions, and interfaces that will be used by different components. This information is then used to generate code that can be implemented in different programming languages. So in the world of wizardry, IDL is like a spell as they both rely on using language or instructions to achieve a desired result or magic.
But why Anchor?
Anchor has rapidly become the de facto standard for Solana smart contract development due to its ease of use, developer-friendly features, and strong community support. Anatoly Yakovenko, co-founder of Solana Labs, has also promoted the use of Anchor and has contributed to its development, which has helped solidify its position as the go-to framework for many Solana developers.
So while other tools and frameworks may exist for developing Solana smart contracts, Anchor has emerged as the most popular and widely used option, and it's likely to remain a dominant force in the Solana development ecosystem for the foreseeable future.
The vision?
Looking at the direction of their two products—SolanaFM Blockchain Explorer and Developer Portal, it’s not hard to guess the team’s vision, but here’s how one of the co-founders put it during his interview on the Next Billion Podcast:
“ I think in general we just want to see the number of developers constantly increasing because as they keep innovating, we become a better chain... there are definitely more use cases.. so I think we're going in the right direction for developer onboarding and we just want to see more developers within the space..” — FA2, co-founder of SolanaFM, on what they’re excited to see in Solana this 2023
Step-by-Step Guide
The Portal’s interface is already pretty intuitive but here’s a step-by-step guide anyway.
How to set up your first indexer on the Developer Portal:
Go to Solana.fm and search IDL (alternatively, you can use soldev.app/registry)
Copy program ID
Go to Anchor IDL tab
Download IDL
Go to portal.solana.fm and hit Launch app
Connect wallet
Drag and drop the downloaded IDL
Paste program ID from Step 2
Hit Create button
Hit Start button
How to generate API Key
Simply go to the API Key page
Select expiry date for your API key
Click Generate API Key
Developer Portal Features
The Developer Portal is still in beta, but the following features are already deployed:
Now let’s try to break down each of these five features while still relating the Developer Portal to a book:
On-demand Indexing
On-demand indexing is like the table of contents in a book. Just as the table of contents provides a roadmap or guide to the content of the book, on-demand indexing creates an index of data that can be searched and retrieved quickly. When a user requests information, the search engine consults the index to locate the relevant data and returns the results to the user.
API Queries
The Developer Portal also allows you to query what you’ve indexed so far. So API queries, on the other hand, are like using the index in a book. Just as the index in a book provides a detailed reference guide to specific topics and terms discussed in the book, API queries allow users to search for specific information in a dataset by querying the index. The index serves as a reference guide to the data, making it easier for users to find what they need quickly and efficiently.
Webhooks
Webhooks can also be compared to a bookmark in a book. A bookmark is used to mark a specific page in a book so that you can easily return to it later. In the same way, webhooks can be used to mark a specific event in a system or service so that you can easily take action on it later.
With full flexibility in the IDLs you index and the webhooks you specify, you can create the most precise data streams to power your applications.
Devnet Support
The Developer Portal provides full support for Devnet programs, helping you identify crucial bugs before you’re fully ready to go live. Because whether in writing a book or developing an application, you know that your first draft isn't going to be perfect.
So Devnet support is like working on a book draft. It allows developers to identify and fix bugs before their application is fully released, and it allows for changes to be made as needed based on feedback and new ideas. Just like how you might work on several drafts of a book before it's published, Devnet support allows for multiple iterations of an application before it's released to the public.
Historical Indexing
The Portal allows you to create a Backfill job and specify the intended block range. Go back in time and access the full historical data of your chosen IDL.
Think of a book that has gone through multiple editions over time. Each new edition may include new information, updated data, and corrections of errors or inaccuracies from previous editions. By looking back at earlier editions, we can access historical data.
In a similar way, backfilling historical data allows us to access earlier versions of data. This can be especially useful for analyzing your data with confidence which is perfect for backtesting.
Note: Backfilling is currently only accessible via Early Access.
Developer Portal Pricing
For starters, it’s free! But if you need custom indexing and some other features, you may reach out to their team here.
It Pays to be Ahead of the Game
The Developer Portal provides a lot of useful features for developers building on Solana, so there are many decentralized apps that you could build using these features. You have a lot of powerful tools at your disposal to build exciting decentralized apps on the Solana blockchain, but what excites me the most is how easier it would be to build a decentralized payment system on the Solana blockchain.
Here are some of the Portal’s features that can come into play when building a payments system:
On-demand indexing: You could use on-demand indexing to keep track of all the payments being made on your platform, so you can ensure that transactions are valid and that user balances are up-to-date. This would allow you to process payments quickly and accurately.
API queries: You could use API queries to retrieve information about specific transactions or user balances, so you can display this information to users on your platform. This would help users keep track of their payment history and account balances.
Webhooks: You could use webhooks to notify users when a payment has been made or when their balance has been updated. This would provide users with real-time information about their payment status, and help them keep track of their payments more easily.
Historical backfilling: useful feature for any payments system that needs to analyze payment data over time, reconcile payment data with external systems, or backtest payment models. By using the Developer Portal to backfill historical payment data, you can ensure that your payment system is accurate, efficient, and optimized for the needs of your users.
By using the Developer Portal to build a decentralized payments system, you could create a platform that is fast, secure, and transparent. Because Solana is a high-speed blockchain with low transaction fees, you could process payments quickly and efficiently, making it a great platform for payments and other financial applications.
This can be especially useful for applications that require near-instant payment processing, such as e-commerce platforms or peer-to-peer payment apps. Overall, payment system applications are an important part of the digital economy, and the Solana blockchain with the help of the Developer Portal provides a powerful platform for building these applications.
Continuous Development for the Developer Portal
The Developer Portal is already packed with powerful features that help developers unleash their creative potential. But as we know, there's always room for improvement. So what else could be added to this enchanted grimoire?
First, let's talk about documentation. Yes, the existing documentation is pretty good. But we're talking about wizards here, and wizards need a lot of information to wield their magic. Additional guides, tutorials, and examples could be added to help developers get up to speed more quickly and make it easier to navigate the Solana ecosystem.
Next, let's talk about customer support. Even wizards need help sometimes, and it would be great if they could get that help right from the Portal itself. Currently, users must venture forth into the wilds of Discord for support or fill out tedious Google forms for feedback. It's a cumbersome process that requires users to leave the comfort of the Portal and navigate through other sites. This is like having to journey to Mount Doom just to ask Gandalf a question. It's an area where the Portal could definitely improve. A ticketing system or some sort of customer support feature on the Portal itself could be added to make it easier for developers to get their questions answered.
Finally, let's talk about integration with other tools. Indexing solutions could be integrated with other development tools to provide a more seamless and efficient development experience. For example, integrating indexing solutions with IDEs (Integrated Development Environments) could help developers easily access and query indexed data from within their development environment, without needing to switch back and forth between different tools.
So, there you have it. The Solana Developer Portal is already pretty magical, but with a few more improvements, it could become even more powerful. Who knows what kind of wizardry could be unleashed with these new features? Only time will tell.
____________
References:
insane!❤️