Building with SettleMint/EVM Chains Guide

Add Network and nodes

Guide to adding a blockchain network to your application

Summary

To build a blockchain application, the first step is setting up a blockchain network. You can either deploy a permissioned network such as Hyperledger Besu or Quorum, or connect to an existing L1 or L2 public network like Ethereum, Polygon PoS, Hedera, Polygon zkEVM, Avalanche, Arbitrum, or Optimism. Both mainnet and testnet versions are available for public networks.


When creating an application on SettleMint, you will be prompted to select a network type and assign it a name. For permissioned networks, you control the entire network infrastructure, including validator nodes. A first validating node is automatically deployed along with your permissioned network. For public networks, the validators are already established by the network's consensus participants, and SettleMint will deploy an archive node that connects to the chosen public network.


In SettleMint-managed (SaaS) mode, you will need to choose between a shared or dedicated cluster for deployment. You can also select a cloud provider and a data center of your choice. Additionally, you will have the option to select from small, medium, or large resource packs, which can be scaled up or down later as needed.


For permissioned networks, you can configure network settings and customize the genesis file before deployment. For most use cases, keeping the default settings is recommended. After deployment, your network manager and first node will be fully operational within minutes.


To enhance reliability in permissioned networks, you should add more nodes for fault tolerance. The best practice is to deploy four validator nodes and two non-validator nodes to ensure Byzantine fault tolerance. For public networks, you might want to deploy additional archive or full nodes to improve reliability of your connection to the network.


Once your network and nodes are running, adding a load balancer will help distribute network traffic efficiently and improve performance. You can then access the Insights tab to integrate monitoring tools. For permissioned networks, you can add Blockscout blockchain explorer to track transactions and network activity. If you are using public networks, you can use their publicly available blockchain explorers instead.


Prerequisites

Before setting up a blockchain network, you need to have an application created in your workspace. Applications provide the organizational context for all your blockchain resources including networks, nodes, and development tools. If you haven't created an application yet, follow our create application guide first.

1. Add a blockchain network

For EVM Chains, SettleMint offers Hyperledger Besu and Quorum for permissioned networks and a bunch of public networks to choose from. For the list of supported networks please refer - supported networks

Select Network

You can perform the same action via the SettleMint SDK CLI as well -

First ensure you're authenticated:

settlemint login

Create a blockchain network:

settlemint platform create blockchain-network besu <network-name> \
  --node-name <node-name>
 
# Get information about the command and all available options
settlemint platform create blockchain-network besu --help

While deploying a network, you can tune various parameters to optimize performance and execution. The Chain ID serves as a unique identifier for your blockchain network, ensuring proper differentiation from others. The Seconds per block setting controls the block time interval, impacting transaction finality speed. Gas price defines the transaction cost per unit of gas, influencing network fees, while the Gas limit determines the maximum gas allowed per block, affecting computational capacity.

Add Network

The EVM stack size configures the stack depth for smart contract execution, and the Contract size limit sets the maximum contract code size to manage deployment constraints. Adjusting these settings allows for greater scalability, efficiency, and cost control based on your specific use case. For EVM Chains, SettleMint allows you to set key genesis file paramters for a custom network configuration.

Manage a network

Network management can be done via SettleMint SDK CLI using these commands -

# List networks
settlemint platform list blockchain-networks --application <app-name>
 
# Get network details
settlemint platform read blockchain-network <network-name>
 
# Delete network
settlemint platform delete blockchain-network <network-name>
 
# Restart network
settlemint platform restart blockchain-network <network-name>

When we deploy a network, first node is automatically deployed with it and is a validator node. Once you have deployed a permissioned network or joined a public network, you can add more nodes to it.

2. Add blockchain nodes

To see and add nodes, please click on Blockchain Nodes tile on the dashboard or use the Blockchain Nodes link in the left menu.

Add Node

We recommend the following number of nodes for each envrionment:

Blockchain NetworkNode TypeMinimum Nodes for Fault Tolerance
Hyperledger BesuValidator Nodes4 (Byzantine Fault Tolerant BFT)
Hyperledger BesuNon-Validator Nodes2 (for redundancy)
GoQuorumValidator Nodes4 (Istanbul BFT)
GoQuorumNon-Validator Nodes2 (for redundancy)

Nodes can also be added using SettleMint SDK CLI using the following commands-

First ensure you're authenticated:

settlemint login

Create a blockchain node:

settlemint platform create blockchain-node besu <node-name> \
  --blockchain-network <network-name> \
  --node-type <VALIDATOR|NON_VALIDATOR> \
  --provider <provider> \
  --region <region>
 
# Get help
settlemint platform create blockchain-node --help

Manage node

You can view node details and status, can monitor node health, pause and restart, or upgrade the node via the SDK CLI or the Platform UI.

# List nodes
settlemint platform list services --application <application-name>
 
# Restart node
settlemint platform restart blockchain-node <node-name>

All operations require appropriate permissions in your workspace.

3. Add load balancer

To add a load balancer, navigate to the Blockchain nodes section in the SettleMint platform and select your deployed network. Click "Add load balancer", choose the region, provider, and desired resource configuration. Once deployed, the load balancer helps distribute traffic efficiently, improving network reliability and performance.

When selecting nodes to connect to the load balancer, ensure you include at least two non-validator nodes for optimal redundancy. The load balancer can be configured to route requests to specific nodes based on workload distribution, ensuring high availability and fault tolerance in your blockchain network.

Add load balancer

4. Add blockchain explorer

To add blockscout blockchain explorer for EVM based permissioned networks, navigate to Insights via the left menu or the dashboard tile. For public networks, you may use publicly available blockchain explorers for the respective network.

Add insights Insight details

For public networks, please use the following blockchain explorers

NetworkMainnet ExplorerTestnet Explorer
EthereumEtherscanSepolia / Holesky
AvalancheSnowTraceFuji
Hedera HashgraphHashScanHashScan Testnet
Polygon PoSPolygonScanAmoy
Polygon zkEVMzkEVM ExplorerzkEVM Testnet
OptimismOptimistic EtherscanOptimism Goerli
ArbitrumArbiscanArbitrum Goerli


Congratulations!

You have succesfully built the blockchain infrastructure layer for you application. From here you can proceed for creating or setting up private keys for transaction signer and user wallets.

On this page