Node Guidelines for StrongBlock DeFi Protocol
NOTE: As of early 2021, StrongBlock no longer supports Bring-your-own-Node (BYON). While the information in this post will help you to understand how nodes work, you cannot currently create a node and submit it to the StrongBlock platform. You can only create a node using StrongBlock Nodes-as-a-Service (NaaS).
StrongBlock’s DeFi Protocol rewards nodes running the latest stable version of Ethereum, who exhibit reliable uptime, and have few to zero outages. Existing and new nodes are welcome to apply. Details follow.
There are two core elements to a blockchain: miners and nodes. Miners are compensated, nodes are typically not. With no monetary reward, there is a high risk for the public blockchains they support.
To address this risk, StrongBlock has created the StrongBlock Community DeFi protocol, incentivizing nodes to perform better, using the STRONG Governance token, a standard ERC-20 token.
StrongBlock believes that all governed, decentralized protocols must reward nodes like these. This is the future of DeFi. We are honored to be leaders in this movement.
StrongBlock will open applications for nodes upon the launch of its DeFi protocol on 9/29/2020.
To be considered for STRONG node rewards, you must submit an application with your node address and proof of mining STRONG (for which you will also earn STRONG rewards).
So, what is StrongBlock looking for in a node? We’re looking for existing and new Ethereum full nodes. To help you understand what this means, here’s an overview of the kinds of nodes running on the Ethereum blockchain.
When it comes to running a node on the Ethereum mainnet, you should be aware that there are 3 node types for you to choose from. The requirements for each node type differ notably, so you want to keep in mind the goal you are trying to achieve as you make your decision.
Full (This is the preferred node type for earning STRONG rewards.)
- Verifies network blocks and states
- Stores a full copy of blockchain data
- Data provider for requests
- Acts as more of a cache vs. full node
- Stores header chain, requests all other data from Full Nodes
- Good for low capacity platforms
- Stores a full copy of blockchain data and states
- Useful for running block explorers, analyzing chain data, etc
The platform used in launching your node can have considerable impact on the goal you are looking to achieve. Identifying which pros and cons match your intended solution.
- Pros: Easy to start; UI/UX interface without relying heavily on commands.
- Cons: Limited uptime; long downtime resyncs can take quite a while to catch up to the network; consumes system resources and local network bandwidth.
- Pros: Better uptime, depending on architecture; does not consume local resources; better hosting architecture choices.
- Cons: Can become expensive, depending on provider, architecture and node type; need to be comfortable with terminal/shell setup and configuration.
Third Party Service
- Currently blocked from applying as a node.
Now that you have an idea of the type of node and hosting method you intend for your node, selecting which client you want to use is the next consideration.
Grid (maintained by Ethereum)
- Desktop application that can launch clients
- Includes one-click solutions to community features
- Built in Go
- Supports Fast sync capability
- Built in Rust
- Supports Warp sync capability
- Built in Java
- Tracing functionality in Besu API
- Uses Grafana/Prometheus for monitoring
Costs to set up a Full Ethereum node
Architectural decisions can greatly impact the cost of running your node. Features like on-demand scaling, high-availability, load balancing, region failover, data offloading to cold storage, etc., all compound to the monthly hosting bill. Below is a basic node buildout that can be considered a baseline.
Example Price Breakdown for Geth Full Node on AWS:
- t3.large EC2 Instance, 2x CPU Cores — 8GB RAM: $61.91/mo. (estimated)
- EBS Volume, 512GB General Purpose SSD: $51.20/mo. (estimated)
- Ubuntu 18.04 LTS: Free
- Total: $113.11/mo. (estimated)
- This does not include pricing for network usage, which could be a considerable monthly cost. Pricing may vary.
This is the estimated basic price for a baseline deployment in AWS. Node owners must be willing to invest time into knowing their options when setting up, regardless of the quick pricing and link references below.
Mining Deposit to list your node on StrongBlock
There is no cost to be listed as an eligible node on StrongBlock.
There is a Mining Deposit:
- A balance of 10 STRONG is necessary to be eligible for and claim rewards
- Your STRONG mining deposit also earns you STRONG
- You can remove your deposit at any time, but you will stop earning node rewards when you do
If you do not have STRONG for the deposit, you can obtain it by mining for STRONG with ERC20’s.
- Still no cost to you — just a deposit of your ETH or other ERC-20, and you will receive mining rewards
The application process
When applying to be a node, be prepared to provide the following:
- A valid email address
- A wallet address with 10 STRONG, This address is also where you will receive rewards.
- A valid public website URL
- A unique working rpc endpoint
- A unique working ws endpoint
- A valid sbEthereum.json file on a domain you own (The domain should match the valid public website URL. The sbEthereum.json must be in a path after the public website URL.)
- Public Website: mynodedomain.com
- sbEthereum.json: mynodedomain.com/sbEthereum.json
Typical processing time before your node is eligible and listed is 48 hours from when you have staked STRONG in the StrongPool. Node rewards will not commence until a critical mass of nodes has been reached. (NOTE: The date for node rewards to commence is now 10/9/2020).
For getting a Geth node up and running: https://ethereum.org/en/developers/tutorials/run-light-node-geth/
Getting an OpenEthereum Node running:
For running on a Raspberry Pi 4:
A Guide for running Ethereum Full Nodes for the barely motivated:
Ethereum Documentation: https://ethereum.org/en/developers/docs/