# Data structures and encoding

The Electroneum Smart Chain creates, stores and transfers large volumes of data. This data must get formatted in standardised and memory-efficient ways to allow anyone to run a node on relatively modest consumer-grade hardware. To achieve this, several specific data structures are used on the Electroneum Smart Chain stack.

## Prerequisites <a href="#prerequisites" id="prerequisites"></a>

You should understand the fundamentals of Electroneum and [client software](https://developer.electroneum.com/foundational-topics/nodes-and-clients). Familiarity with the networking layer and [the Ethereum whitepaper](https://ethereum.org/en/whitepaper/) is recommended.

## Data structures <a href="#data-structures" id="data-structures"></a>

### Patricia merkle tries <a href="#patricia-merkle-tries" id="patricia-merkle-tries"></a>

Patricia Merkle Tries are structures that encode key-value pairs into a deterministic and cryptographically authenticated trie. These are used extensively across the Electroneum Smart Chain.

[More on Patricia Merkle Tries](#patricia-merkle-tries)

### Recursive Length Prefix <a href="#recursive-length-prefix" id="recursive-length-prefix"></a>

Recursive Length Prefix (RLP) is a serialisation method used extensively across the Electroneum Smart Chain.

[More on RLP](https://developer.electroneum.com/advanced/data-structures-and-encoding/recursive-length-prefix-rlp)
