# 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)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://developer.electroneum.com/advanced/data-structures-and-encoding.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
