Genesis Block

Ayrıca şöyle anılır genesis, genesis config

Bir araya getirildiYayında

Origin: composes: Bitcoin-era terminology for a bootstrapping pattern every blockchain needs, not something Solidus originated. Solidus status: shipped, two separate, independently-bootstrapped testnets exist, neither of them a mainnet.

A genesis block is a blockchain's first block, the one that isn't produced by the chain's own consensus process, because there's nothing yet for that process to build on. Every later block points back to its parent via a hash, all the way back to this one starting point, which points to nothing. Instead of being proposed and voted on, a genesis block is agreed upon out-of-band: whoever stands up a new chain writes down the starting facts, who the initial validators are, what balances exist at the start, what the chain calls itself, and every node that wants to join that specific chain has to start from that exact same file. Two nodes that load different genesis data are not on the same network, even if they run identical software.

Where it comes from

The term comes from Bitcoin: Satoshi Nakamoto's original 2009 launch required exactly this kind of hardcoded starting block, since no prior chain existed to derive one from consensus. Every blockchain since has needed some version of the same bootstrapping step. Solidus didn't invent the pattern; its genesis tooling is a from-scratch implementation, not a fork of anyone else's.

What's in a Solidus genesis

A Solidus genesis file specifies a chain_id (a unique string naming this particular network, so nodes can't accidentally cross-connect to the wrong one), a treasury address, the initial set of validator addresses, a map of starting balances, and native-token metadata, the display symbol, name, and decimal precision (SLDS, Solidus, 8 decimals, by design). That last field has a deliberately unsubtle fallback: a genesis file that omits token metadata doesn't silently pretend to be the real token, it loads with the symbol TESTNET-SOLI, a sentinel value that screams "this genesis is missing metadata, regenerate it" rather than quietly masquerading as production data.

Two genesis blocks, two networks, don't conflate them

This is the point worth being careful about. The original public testnet, chain-id solidus-testnet-1, has been running at rpc.solidus.network since the network's earliest multi-node milestone, with four validators run by the Solidus team. A second, newer chain, chain-id 50002, was bootstrapped separately for devnet-v2.solidus.network, with its own four validators, co-located on a single server. These do not share a genesis, do not share history, and are not the same network under two names. Neither is a mainnet: no Solidus mainnet genesis has ever been created, and nothing described here should be read as production infrastructure.

Check it yourself

solidus_chainInfo is a live, public JSON-RPC method on rpc.solidus.network, call it directly and it returns the real chain_id (solidus-testnet-1) and token metadata baked into that network's genesis, no account or trust in Solidus's word required. The genesis-loading code itself, GenesisConfig, the TESTNET-SOLI sentinel, and the loading logic, is visible in source in the public solidusnetwork/protocol repository's solidus-node crate.

Related terms: State Root · Nonce · Transaction Pool · Validator · HotStuff

Nereden geliyor

Bunu başkası belirtti. Solidus bir araya getiriyor.

The genesis block, a chain's first block, hardcoded rather than produced by consensus, with no parent to point to, is Bitcoin terminology, from Satoshi Nakamoto's 2008/2009 design. Nearly every blockchain since has needed some equivalent bootstrapping step: an initial, agreed-upon starting state that isn't itself the product of the chain's own rules, because those rules have nothing to build on until one exists. Solidus did not invent the concept; `solidus-node`'s genesis tooling is a from-scratch implementation of the standard pattern.

Bunu nasıl doğrularsınız

Bugün üretimde çalışıyor.

`solidus_chainInfo` is a live public JSON-RPC method on rpc.solidus.network: it returns the real chain_id (`solidus-testnet-1`) and native-token metadata for the testnet's genesis directly. The genesis-loading code itself is visible in source in the public solidusnetwork/protocol repository's `solidus-node` crate.

İlgili

Genesis Block · Solidus Lexicon