An all in one, no-code, decentralized IPC subnet explorer. Subnet creators will be able to deploy all infrastructure easily.
Introducing our revolutionary project - a comprehensive, all-in-one, decentralized Inter-Planetary Consensus (IPC) subnet explorer. This game-changing solution enables subnet creators to effortlessly deploy their entire infrastructure, offering an unmatched level of convenience and efficiency.
Our no-code tool takes the guesswork out of coding and deploying a decentralized indexer, backend, and frontend into the Spheron. This tool goes to work indexing your subnet blocks account and messages, including cross-chain messages. In a world where most users rely heavily on explorers for real-world payments and beyond, the importance of decentralizing the explorer cannot be overstated.
We've developed an integrated system comprised of an indexer, backend, frontend, and Command Line Interface (CLI). The indexer meticulously records all transactions, blocks, and accounts in the subnet, inserting and updating data to Tableland -the decentralized SQL infrastructure. The backend retrieves this data from Tableland and the frontend delivers it to users in an easy-to-understand format, making it simple for them to grasp what's happening inside the subnet.
But perhaps our most innovative feature is the CLI, which has been designed with subnet creators in mind. All it requires is your RPCs and Spheron Token. Once supplied, the CLI will automatically create a compute instance on Spheron, providing a seamless infrastructure service to users.
This project is an amalgamation of convenience, innovation, and decentralized technology, revolutionizing how subnet explorers operate. It offers a future where subnet creators can focus on what they do best - creating, while we take care of the intricacies of infrastructure deployment.
Our project stands as a testament to the versatility of Typescript and Javascript, which formed the foundation of our tech stack.
For the Indexer, we leveraged filecoin.js to create a Lotus client for our subnet and rootnet. With this client, we are constantly retrieving the latest heads from the subnet and processing them appropriately. We utilized the built-in methods of filecoin.js along with custom RPCs such as IPC endpoints to achieve this. Post-processing, the data is stored on Tableland, our chosen platform for data indexing. To ensure efficiency, we employed a "batch" approach for inserting and updating data into Tableland.
Moving onto the Server, we adopted express.js as our primary technology. Express.js enabled us to connect to Tableland, perform data queries, and serve results to the end-user, acting as a bridge between our stored data and the frontend.
The Frontend is built using React and Geist UI, supplemented with Wallet Connect to deliver a user-friendly interface for our explorer. We integrated the Ethereum Name Service (ENS) to display user avatars and ENS names on the explorer, enhancing personalization and user engagement.
Finally, our Command Line Interface (CLI) is powered by Yargs and the Spheron SDK. This CLI parses arguments and generates a Spheron client instance, which in turn creates the machine and uploads our git image into it. An optional feature of the CLI is domain attachment to our Spheron machine if a domain is supplied.
Each technology was meticulously chosen for its unique capabilities, and the way they interact forms a cohesive and powerful infrastructure. However, it's the CLI that we're particularly proud of. It serves as the nexus of our system, tying together our use of Spheron SDK, and enabling us to deploy our entire infrastructure with a simple command.
We've managed to create an intricate, yet streamlined system that blends powerful indexing capabilities, efficient data serving, a user-centric interface, and a versatile deployment mechanism. Our project showcases how multiple technologies can be harnessed and interconnected to create a solution that is greater than the sum of its parts.