FAQ

Node Requirements

Minimum hardware requirements:

  • AWS EC2 m5.xlarge with 4 vCPUs (3.1 GHz), SSD (gp2) storage

  • CPU > 3.0 GHz

  • SSD (or NVMe SSD) (N.B. AWS gp2 has up to 16000 IOPS)

  • Network Bandwidth: 1 Gbps (N.B. m5.xlarge has up to 10 Gbps)

  • Storage: Depending on the types of your nodes.

Equivalent or better specs are recommended.

Data Pruning

To save machine's storage, you may use pruning (for further details).

  • Manual pruning:

    Stop the node, then issue the following command: ./opera snapshot prune-state

  • Automatic pruning:

    You can run a node with the --gcmode flag, and it will prune old data on the fly.

    • Full gcmode: This can be enabled by --gcmode full, which prunes old VM tries. It will need more RAM. Often, --cache 15000 (or more RAM) is required to ensure normal operation in this mode.

    • Light gcmode: The light gcmode version (adopted from geth) is less aggressive. It is used by --gcmode light flag. It requires less RAM usage than full gcmode.

Cache Size

One can specify the cache size by --cache <size in MB>. The default value of cache size is 3200 MB. Nodes tend to sync faster with a larger cache size.

Transaction Ordering

Transactions in blocks aren't necessarily sorted by gas price. Even though transactions in each event and in the txpool are sorted by gas price, events are sorted by their topological ordering in the DAG. A new block includes transactions from multiple confirmed events in that topological order, which is used by our DAG aBFT consensus algorithm.

Penalty for Unspent Gas

It is recommended that you make sure to submit transactions with a reasonable gas limit amount.

This is because transactions with excessive gas limits will have less chance to be included, due to a gas limit for each block, and the originating power of validators. There is penalty of 10% for unspent gas. This penalty is introduced as a disincentive against excessive transaction gas limits.

The disincentive is required because Opera is a leaderless decentralized aBFT chain and blocks are not known in advance to a validator (unlike Ethereum miners) until blocks are created from confirmed events. There is no single proposer who can originate transactions for a whole block and so validators don't know the used gas in advance.

This penalty will be increased shortly (up to 50%) to prevent transactions with excessive transaction gas limits.

Last updated

© 2024 Sonic Labs