Shima is a decentralized RPC platform that connects anyone who wants to become an RPC provider by making their blockchain infrastructure available to the world and those who use these APIs access to the blockchain networks every day without having to run their own nodes.
We believe that running and hosting nodes should not be something limited to classic infrastructure providers such as Alchemy, Infura, Chainstack, etc. since anyone with some knowledge of blockhain development can deploy a node in a few minutes. That's why we decided to make it even more accessible by supporting providers and users in their blockchain development journey. Shima is a decentralized RPC platform that connects anyone who wants to become an RPC provider by making their blockchain infrastructure available to the world and those who use these APIs access to Ethereum and other blockchain networks every day without having to run their own nodes.
How does it work? To explain Shima we will proceed in 2 parts, first what we have set up for people who want to become Shima Actor (rpc providers) and then we will see the Shima Users part.
Today to set up a node on any blockchain it can take you 5min to several hours, that's why we first set up a graphical interface installer that allows anyone who only need to knows how to open a terminal to create a node between the available blockchains clients: Ethereum, Gnosis, Scroll, Mantle, Celo, Taiko,... and expose it on a port of his machine in a few clicks and in less than a minute. This installer generates an url that the provider can enter in his provider space on the Shima interface to make it accessible to the world. Those referenced rpcs by the providers will then be stored on a leaderboard specific to each chains. This leaderboard is very important because it allows to provide the users of these RPCs with the best possible route for their requests. The leaderboard works the following: It ranks available RPC providers based on their response time quality and availability. It helps users and applications choose the most suitable RPC provider for their needs, ensuring faster performance and lower latency. We follow 3 steps to sort it: 1. Data Collection, the system collects data on the response time (latency) for each RPC provider. This can be done using automated monitoring tools or by measuring the time it takes for the provider to respond to a specific request, such as eth_blockNumber. 2. Ranking: The RPC providers are ranked based on their response time, with the provider with the lowest response time at the top of the leaderboard. Users and applications can then choose providers based on their position in the ranking. 3. Update: The leaderboard is updated periodically to account for changes in provider response time, ensuring that the ranking remains accurate and up-to-date. This allows users and applications to make informed decisions when choosing RPC providers. By utilizing the RPC leaderboard, users and applications can easily be redirected to the fastest RPC providers, resulting in a better overall experience and more efficient use of resources. In the future, other factors could be incorporated into the ranking system to provide a more comprehensive evaluation of RPC providers such as it's availability, it's reliability, the actual state it stored, the functionability, it's errors and disconnections... This leaderboard is then linked to the users' Shima RPC keys.
As for the user interface, we did not want to complicate things by re-inventing the RPC key generation interface, so we kept something very similar to the current RPC providers. The user can simply create a project by selecting the chain he wants to deploy it and giving a name to it and then the platform generates a Shima key that he can use in it's applications and interact with the blockchain world.
Like any other RPC provider, the nodes performances and user stats will be tracked and displayed in dashboards on the interface. We need to track this data because like other RPC providers we offer paid solutions based on successful request units for both parties. The user can then recharge his account via a smart-contract payment that we have deployed on the Celo blockchain and when he will have exceeded his quota of free requests per month it will be debited and redisplayed to the corresponding providers. This system encourages providers to participate in the network by allowing them to take advantage of their distributions and users to take advantage of this competition by benefiting from the most efficient nodes.
With this system we built with Shima we can claim to set up in the future a truly decentralized system where users will be able to execute their queries directly to the most efficient users by updating this leaderboard locally via an SDK for development or extensions of dapps.
We believe that Shima is a huge step towards the decentralization of the network without taking into account the centralized RPC provider and their markets. Shima gives users back control of the Blockchain!
The Shima project benefits from its diverse and robust technical stack, which enhances its functionality, performance, and ease of use for both users and providers.
Backend: The Express application, written in TypeScript, serves as a reliable and efficient core for the platform. By using TypeScript, the code is more maintainable, readable, and scalable, allowing the Shima team to develop new features and improvements faster. The backend handles API requests and manages user and provider data effectively, ensuring a seamless experience for users when interacting with the platform.
Node Installer: The Bash-based node installer enables providers to quickly and easily set up blockchain nodes, reducing the barrier to entry for those looking to become RPC providers. By streamlining the node installation process, the platform encourages greater decentralization and a broader range of providers, ultimately enhancing the resiliency and performance of the Shima ecosystem.
Payment Smart Contract: (address:0x13BB753567Eaf68A760D6e92e52323DC23904765 on Celo) The Solidity-based smart contract ensures secure and transparent transactions between users and providers. By using a blockchain-based approach to payments, Shima guarantees that users can manage their account balances and usage quotas with confidence, while providers receive fair compensation for their services. This fosters trust in the platform and promotes its continued growth and adoption.
Frontend: The React-based frontend offers a user-friendly interface that simplifies interaction with the platform. By employing reusable UI components and efficient rendering and updating processes, the frontend enables users to create projects, manage their keys, and monitor usage with ease. The frontend's communication with the backend through API endpoints ensures a smooth and responsive experience, which further enhances user satisfaction.
By leveraging these technologies, the Shima project creates a powerful, accessible, and efficient decentralized RPC platform that caters to the needs of both users and providers. The platform's technical stack ensures a secure, scalable, and user-friendly experience, promoting wider adoption and fostering a thriving ecosystem of decentralized RPC services.