TLDR; OnFinality is the leading IaaS (infrastructure as a service) platform providing mission critical infrastructure to the Polkadot ecosystem. We are proposing to support Compound’s Gateway on our platform, allowing free community shared node API endpoints and one-click dedicated node deployments.
About OnFinality
OnFinality is a SaaS platform providing infrastructure services for the Polkadot/Substrate community. Our mission is to support all blockchain developers in the world by providing core infrastructure so they can focus on building the next dApp.
Our API Service is completely free (within usage limits) and has launched with access to Polkadot, Kusama, and other Substrate based networks. We also provide one-click deployment and centralised management of dedicated nodes across different cloud providers. We are the largest IaaS project in the Polkadot/substrate community, serving over 150 million JSON RPC requests to our public API service every day. We’re used by the top Polkadot projects to provide critical CI/CD services to help develop their test networks.
Motivation
Setting up blockchain infrastructure is difficult, time consuming, and expensive:
- It requires a level of server development expertise that many do not have. A Gateway validator node for example, requires the ability to compile a Rust program to a substrate binary, knowledge of SSL certificate handling, websocket management, firewall configuration, AWS KMS management and more to setup, run, and monitor a production node.
- It’s costly to run a full validator node nearly continuously (especially with Gateway’s hardware requirements), especially when your dApp’s traffic is low and inconsistent.
- Running production level infrastructure is especially tricky. You need to autoscale quickly to handle bursty traffic, and you want to provide services in different regions around the world to provide low latency services - all of this is incredibly costly, but comes with significant economies of scale for a provider.
- DevOps requires constant attention - time that would be better spent elsewhere building something.
As demonstrated by us in the Polkadot domain and Infura in the Ethereum domain, a shared node API service helps mitigate these barriers of entry to trying out a new protocol or network by reducing all these costs to near zero. We manage all the nodes for our users and distribute them across the world (with intelligent routing) to achieve global scalability from day 1, we monitor each node and ensure that they meet certain service levels, and we have the expertise and scale to handle production workloads and high peak traffic.
In summary, we try to reduce the pain of getting started developing on Compound’s Gateway network and minimise the costs of accessing secure nodes while traffic from your dApp is low.
Proposal
Scope
OnFinality will implement and run a network of shared Compound Gateway public nodes on our API service for your community to access for free.
- This funding grant consists of three key components:
- Initial one off setup costs to extend OnFinality to onboard Compound Gateway
- Initial one off setup costs to deploy and enable a pool of Gateway nodes in a high performance cluster (for community API services)
- Ongoing running costs of this pool of Gateway nodes
- We plan to run a single cluster with a pool of 3 public Compound Gateway nodes initially.
- Users of this API service receive 500,000 free requests each day
- In the future, we’ll provide additional paid tiers of API Service usage above those 500,000 daily requests at different costs structures
Outcomes
There are three main outcomes we believe our service will provide the Compound Community:
- Grow the Compound ecosystem by reducing the barriers to entry to access a high performance Gateway validator node
- Help scale existing projects in the Compound ecosystem by providing infrastructure services that can be depended on
- Assist with the testing of the Compound Gateway protype network by providing valuable data back to the community on how validator nodes are running and scaling as the network traffic increases, and what kind of requests are commonly made
Milestones
Milestone 1: Onboard Compound Gateway to the OnFinality platform so new validator node deployments can be automated via deployments of a Docker image to Kubernetes clusters.
Milestone 2: A single cluster of publicly accessible Gateway nodes that can be accessed by the compound community users under the terms of the free service (limited SLA, and only 500,000 daily requests per user). This milestone includes estimations of the ongoing costs required to run the cluster for the remainder of this quarter (April, May, June).
It’s important to note that the ongoing running costs are a current estimate for a small cluster of nodes providing free tier access to Compound Gateway users. If the number of users taking advantage of this free tier exceeds what this cluster can provide, we may need to add additional clusters in other geographies, and will therefore revise the ongoing costs in order to continue to maintain service levels. Decisions and data around an additional cluster deployment will be shared with the community ahead of time.
Cost Breakdown
Milestone 1: Onboard Compound Gateway
Initial one-off setup costs for a developer to extend OnFinality to support Compound’s infrastructure and node deployment process:
1.5 Week (1 FTE) = $100/hr * 8 * 7.5 = USD$6,000
Milestone 2: Deploy Single Cluster
Initial costs to deploy and enable a cluster of Compound Gateway nodes on the OnFinality API Service and publish the public endpoint:
3 Days (1 FTE) = $100/hr * 8 * 3 = $2,400
The following table shows the price of a single cluster of Compound Gateway nodes (all prices are in USD). Note that we’re subsidising the data traffic costs for this cluster for the remainder of this first quarter (May and June). The ongoing costs will be resubmitted every quarter in advance and are based on the following calculations.
The total price is shown as USD $2,615.00.
Type | Unit String | Unit Price | Monthly Hours | Quantity | Monthly Cost (Per Cluster) | Remainder Quarterly Cost (Total) |
---|---|---|---|---|---|---|
Node Costs | $0.45 / hr | $0.45 | 730 | 3 | $985.50 | $1,971.00 |
Storage Costs | $0.0005 / GB / hr | $0.0005 | 730 | 600 | $219.00 | $438.00 |
Backup Management Fee | $30 / month | $30 | 1 | $30.00 | $60.00 | |
Backup Storage Costs | $0.0005 / GB / hr | $0.0005 | 730 | 200 | $73.00 | $146.00 |
Data Traffic | $0.15 / GB | $0.15 | 0 (Subsidised for first quarter) | 0 | ||
$2,615.00 |