Blog / Engineering

Reflections: Two Years of Running Mainnet

Engineering2024-02-02·6 min read·By Selendra Team

Selendra Mainnet launched on February 2, 2022. In the fast-moving world of crypto, two years is a lifetime.

We often see new L1s and L2s launch with massive marketing campaigns, claiming to have "solved" distributed systems. At Selendra, we make no such claims. We are not inventors; we are integrators. We build on the incredible work of the open-source community, particularly the teams behind Substrate, Polkadot, and the Rust ecosystem.

Today marks our second anniversary. Instead of a celebratory hype post, we want to share an honest reflection on what it takes to operate this open-source technology in a production environment.

The Reality of "Live"

Testnets are forgiving. Mainnet is not.

Since 2022, we have maintained the network, but credit for its resilience belongs largely to the robust architecture of Substrate. Our role has been to configure, tune, and maintain the machinery built by others.

We've dealt with:

  • Storage Bloat: The state grows inevitably. We rely on the pruning strategies developed by Parity Technologies to keep our nodes healthy.
  • Peer Connectivity: In the early days, we struggled with peer discovery in Southeast Asia. We didn't write new networking protocols; we simply fine-tuned the existing libp2p configurations to better suit our regional latency.
  • Runtime Upgrades: Substrate's forkless upgrades are a marvel of engineering. We have performed over 15 upgrades, leveraging the hard work of hundreds of core contributors who made such seamless transitions possible.

Hard Forks and Learning Curves

We have undergone a few hard forks. In the Substrate context, this usually means a breaking change in the consensus logic.

The most significant transition was moving from the default Substrate consensus (BABE + GRANDPA) to our current Hybrid Consensus (Aura + AlephBFT).

We found that while the software is powerful, network latency is the real boss. When we first tightened our block times to 1 second, we saw finality lag. This wasn't a flaw in the code, but a challenge in our deployment topology.

We addressed this by:

  1. Adopting the AlephBFT consensus gadget, an open-source protocol that offers excellent performance.
  2. Optimizing our validator hardware, following best practices shared by other node operators in the ecosystem.

Standing on Shoulders of Giants

There is a trend in the industry to rebrand open-source code as proprietary "tech." We refuse to do that.

Selendra is a Substrate-based chain. We use the EVM pallet developed by the Frontier team. We use the consensus logic developed by Cardinal Cryptography (Aleph Zero). We use the networking stack from Protocol Labs.

Our "innovation," if you can call it that, is simply the persistence to keep these systems running for our community in Cambodia. We are the mechanics, not the car designers.

Looking Forward

As we enter our third year, our focus remains on stability and stewardship. We are not chasing the latest narrative. We are maintaining the infrastructure that allows developers to build.

To the open-source contributors whose code we run every day: thank you.
To the validators running nodes: thank you for securing the network.

Here's to another year of block production.

Related

Related Articles