In blockchain technology, solutions addressing the scalability trilemma – scalability, security, and decentralization – have remained an ongoing challenge. Shardeum emerges as a groundbreaking EVM-compatible Layer 1 (L1) smart contract platform, revolutionizing this space by leveraging dynamic state sharding. This innovative approach redefines the validation process, distributing transaction verification across shards in the network for enhanced throughput and scalability.
This article delves into the seamless deployment and staking process for a Shardeum validator using Spheron, a user-friendly platform simplifying node configuration and participation in the Shardeum ecosystem. Through step-by-step guidance, users can easily deploy a Shardeum node, contribute to network security, and stake testnet SHM (Shardeum's native token) to actively participate in the testnet.
What is Shardeum?
Shardeum is an EVM-compatible, dynamically state sharded L1 smart contract platform. Expressed simply, sharding breaks the job of validating and confirming transactions into small pieces or shards and spreads them out in the network.
Here is a diagram demonstrating how un-sharded data in a single node can be sharded amongst three nodes:
Image created with LucidChart
Shardeum utilizes parallel processing across shards to achieve high throughput with linear scalability. This is achieved while concurrently enabling low gas fees & and ensuring security with a combined proof-of-stake and proof-of-quorum for consensus, while block-level consensus is not required for finality.
Solving the Scalability Trilemma
The scalability trilemma is a set of trade-offs originally posited by Vitalik Buterin, where blockchains can generally only prioritize two out of 3 of the following characteristics:
Scalability
Security
Decentralization
Vitalik did add the caveat that achieving all three is actually possible but very difficult.
Shardeum solves this problem with the following:
Performing consensus and processing at the transaction level instead of the block level.
Using dynamic state sharding to achieve scalability through parallelization by distributing workload throughout the network.
Reduced overhead for validator nodes because they only need to store state data for their own shard.
This allows the network to auto-scale horizontally by adding additional nodes instead of being forced to scale vertically by increasing the computing resources of each node.
This allows for fast finality and atomic shard composability.
What is Spheron Network?
Spheron Network is a Web3 infrastructure platform that provides tools and services to decentralize cloud storage and computing. It allows audited data centers to join the Spheron marketplace. Spheron oversees the decentralized and governed nature of the infrastructure, ensuring permissionless access and heightened security for all users. Spheron Compute offers a feature-rich alternative to traditional cloud services at only one-third of the cost.
Spheron offers a Compute Marketplace, which allows users to set up valuable tools quickly and easily, whether they want to deploy databases, nodes, tools, or AI. With Spheron, you don't have to worry about the technical stuff, and you can focus on deploying your Node with ease. Spheron Network has also partnered with organizations like Shardeum, Avail, Elixir, Filecoin, Arbitrum, etc, to redefine access to it and promote a more decentralized, inclusive, and community-centric ecosystem.
Spheron provides features such as Private images, Auto-scale instances, Scale on demand, Real-time instance metrics, Faster GPUs, Free Bandwidths, Terraform Providers and SDKs, Instance health checks, activity, shell access, and more. Spheron provides add-on storage solutions for long-term data storage and edge bandwidth acceleration through its global CDN. With Spheron,you can easily set up your nodes in just a few minutes and enjoy low maintenance and operations costs and a great developer experience.
Deploy a Shardeum Validator on Spheron
Deploying a Shardeum Validator on Spheron is a straightforward process. Running a Shardeum validator allows you to contribute to network security while also earning testnet SHM rewards. Here's a step-by-step guide to setting it up:
Step 1: Create a Free Spheron Network Account
Visit Spheron Network: spheron.network
On the Spheron homepage, locate and click the "Free Trial" button.
You'll be directed to a signup page. Choose your preferred authentication method: Web2 (GitHub account, GitLab account, or Bitbucket account) or Web3 (Ethereum).
Follow the provided prompts to authenticate your chosen account securely. This step ensures safe access to the Spheron Network platform. After successful authentication, you'll be guided to a confirmation page confirming the completion of your account setup.
Step 2: Creating an Organization
1. Upon logging in, you'll be directed to the Create Organization page, where you can give your organization name and choose Avatar. Ensure the "compute" option is selected from the drop-down menu of the "Start With" option. Click “Continue”.
2. Next, you'll be taken to a new page. Click the "Create New Projects" button.
3. Add 'Project Title' And 'Project Description' and Click Create.
Step 3: Deploying a Shardeum Node With Spheron Platform UI
Follow these steps to deploy a Shardeum Node:
1. Choose "Compute" to use CPU-based instances for running containers.
2. Choose your desired Compute Type option under Compute Type.
NOTE: Please schedule a team call to gain early access to the "Spot" Type.
3. Click "Start from Marketplace App" and Select "Shardeum Testnet Validator" from the marketplace. Spheron marketplace has a pre-baked docker image for the Shardeum node that is ready to go for you!
4. Select your preferred region for deployment. By default, The container will be deployed in the US-WEST region for On Demand. Choosing a region closer to your users can improve performance and reduce latency.
Note: For the best experience, use the US- WEST region to deploy your node!
5. Next, Choose an instance plan that aligns with your requirements. Spheron will recommend a suitable plan according to the Shardeum template, but you can customize it from available plans or choose to 'Create Custom Plans.'
This instance and storage plan were specially selected to meet the Shardeum minimum hardware requirements noted here.
6. Next, Configure storage:
You have to choose storage from the available options or the custom storage option that fits your needs. This storage will be volatile and is erased when the instance is restarted, redeployed, or shut down. Additionally, you get the option to choose Persistent Storage.
7. Next, You will get the option to enable the IP on deployment. You will get 2 option to choose from.
SHARED IP - Automatically assigns a port within the 30000-32676 range. For standard web traffic, ports 80 and 443 are mapped to the assigned port, making it suitable for web applications without specific port demands.
DEDICATED IP - Offers complete port access, including 80 and 443, for customized network configurations. It is Ideal for applications requiring direct control over network traffic.
Note: We only have 200 dedicated IPs enabled in the US-WEST Region. Use Dedicated IP and make your Shardeum deployment blazing fast and super easy ⚡️
We will be adding more IP's soon.
8. The marketplace app will also automatically configure networking, ports, parameters, and commands for you. You just need to set the password as per your choice. Check out the Shardeum validator docs to learn more about these settings.
9. Spheron abstracts away the difficulty of configuring a node. You just need to click Deploy! Check out the Spheron docs for more info.
Wait for your node to be fully set up. After it's provisioned, you'll see an option called ‘Overview’ in the dashboard; click on it to see all the details of the deployed node on Shardeum.
Now, there’s just one final step to get our validator working after this initial deployment is complete.
Step 4: Update the Configuration
1. Go to the 'Overview' section on the left and click on the deployed shardeum node.
2. Now, you will see the screen below. Copy the connection URL and go to the Settings option.
3. In the setting option, scroll down the configuration and copy and paste the connection URL address, leaving HTTP:// and :9001 and past it to the 'SERVERIP' and 'LOCALLANP'. Click 'Update'.
Step 5: Staking your Shardeum Validator to Join the Testnet
Now that we have a Shardeum node deployed, the next step is to stake our validator with SHM so that it can be included in the network during the next rotation.
Acquire SHM in your Wallet for Staking
Follow these steps to set up your wallet for staking:
1:Add the Shardeum network to your wallet, such as Metamask
2: Claim some testnet SHM from the faucet on the Shardeum Discord. You should receive 15 SHM from the faucet, and you will need 10+ gas fees.
3: Verify on the Discord server, then go to the “validator-faucet” channel and use the /faucet command to request SHM.
4. Go back to the 'overview' section and click on deployed shardeum node. Next, Spheron is forwarding port 8080, which the GUI runs on. Get the “Connection URL,” which maps from port 8080 internally, and enter that URL into a browser to access the Shardeum validator dashboard.
Be sure to access the URL appended with “https://” ***e.g.***provider.us-west.spheron.wiki:32085
Note: You might see a warning page when trying to access this address in your web browser. Ignore this warning and continue using the validator dashboard**. The Shardeum docs have a** fix for that SSL issue.
5. Then log in with the password you set up earlier.
6. Next, let’s start up the Validator. Go to the “Maintenance” tab, then click the “Start Node” if it’s not already running.
7. Next, on that same page, click “Connect Wallet”. Approve the prompt that pops up in your wallet. After that, click “Add Stake”. You should have received 15 SHM from the faucet from the step above.
Stake Wallet Address [pre-populated with connected wallet]
Nominee Public Key [pre-populated by validator]
Stake amount (SHM) [In terms of ETH, not WEI]
It is recommended to stake 10 SHM.
8. Enter 10 into the “Stake Amount” field and click “Stake” then sign the wallet transaction.
9. You can view the staking transaction on the Sphinx Shardeum block explorer.
Example:
explorer-sphinx.shardeum.org/tx/0x5f55856fc..
Joining the network
Your node will initially be in “Standby” mode but become “Active” during the next rotation.
Alternatively, if you prefer, you can stake directly via the CLI; check the Shardeum docs for more info. This will require you to expose your private key as a secret ENV var, so be sure your wallet does not contain any mainnet assets.
After completing your stake, you can check the node status with the operator-cli on the “Shell” tab on your Spheron instance page.
Check the node status with the following command:
operator-cli status
You can also check the status of your GUI with:
operator-cli gui status
Check back on your node after taking a break; eventually, your node will transition from “Standby” mode to “Active”!
Congratulations! You are now running a staked Shardeum validator. Spheron will do all the heavy lifting to ensure your node is a resilient and responsive network member!
Check out this Shardeum FAQ for answers to common validator issues.
Conclusion
In conclusion, deploying and staking a Shardeum validator on Spheron is straightforward and can be completed in a few simple steps. With Spheron's user-friendly interface and automated configuration, users can easily participate in the Shardeum testnet, contribute to the network's security, and earn testnet SHM rewards.
Following the instructions in this article, users can deploy a Shardeum node, update the config, and stake their validator to join the testnet. This combination of advanced technology and user-friendly platforms makes blockchain participation more accessible and rewarding.
References
Spheron Doc - https://docs.spheron.network/marketplace-guide/shardeum
Shardeum Doc -https://docs.shardeum.org/node/run/validator