gifchain-mainnet-1chain id 6464head #4,134,619gas 0.42 ngifblock 5.00sall systems operationalrpcexplorerdocs
GIFCHAIN

GIFCHAIN

the blockchain for NFTs  ·  objects, not just balances

Node operators

Running a full node is unremarkable: one binary, one data directory, no external database. Becoming a sequencer means bonding GIF and accepting that missed slots cost money.

reference

sync modes

Snapshot sync downloads a recent object root and its state, then follows the head; it is what you want for an explorer or a wallet backend. Archive sync replays from genesis and keeps every historical object root, which is what you need to serve proofs at arbitrary heights. Archive is roughly nine times the disk for the same head state.

hardware

Objects are small but numerous, so the bottleneck is random reads rather than raw capacity. An NVMe drive with decent IOPS matters far more than core count. Eight cores and 32 GB of RAM will keep up with the head comfortably; sequencers should double the RAM to hold the mempool and proof cache.

bonding

A sequencer bonds 250,000 GIF into the staking module and joins the set at the next epoch boundary. Slots are assigned in a fixed order within the epoch. Missing a slot produces an empty block and a small penalty; signing two blocks at the same height is equivocation and costs the whole bond.

exiting

Unbonding takes one full epoch plus 4096 blocks, during which the bond is still slashable. This is deliberately boring: the delay exists so that a sequencer cannot sign a bad block and withdraw before anyone notices.

There is no separate consensus client and no beacon chain. One process, one config file. Most of the operational work is making sure the disk does not fill up during a mint wave.

at a glance
profilerequirementsnotes
snapshot node4 cores, 16 GB, 400 GB NVMefollows head, no historical proofs
archive node8 cores, 32 GB, 3.5 TB NVMeserves proofs at any height
indexer8 cores, 64 GB, 4 TB NVMearchive plus denormalised views
sequencer16 cores, 64 GB, 4 TB NVMerequires a 250,000 GIF bond
bandwidth~40 Mbit sustainedhigher during mint waves
ports30333 p2p, 9933 rpcp2p must be reachable
example
$ gifd init --network gifchain-1
$ gifd sync --mode snapshot --peers 64

> fetching object root 0x9be4...0f21
> state 2.1 GB / 2.1 GB ....... ok
> following head at 4128733

$ gifd stake bond --amount 250000 --from ~/.gifd/key
> bond accepted, active at epoch 1008