# Web3 base layer services

In addition to the Expanse blockchain, more components are being developed that decentralise other important aspects of web applications.

### **SWARM – DECENTRALISED DATA STORAGE AND DISTRIBUTION** <a href="#swarm-decentralised-data-storage-and-distribution" id="swarm-decentralised-data-storage-and-distribution"></a>

Swarm is a peer to peer data sharing network in which files are addressed by the hash of their content. Similar to Bittorrent, it is possible to fetch the data from many nodes at once and as long as a single node hosts a piece of data, it will remain accessible everywhere. This approach makes it possible to distribute data without having to host any kind of server – data accessibility is location independent.

Other nodes in the network can be incentivised to replicate and store the data themselves, obviating the need for hosting services when the original nodes are not connected to the network.

### **WHISPER – DECENTRALISED MESSAGING** <a href="#whisper-decentralised-messaging" id="whisper-decentralised-messaging"></a>

A protocol for private, secure communication directly between nodes.

Furthermore, standard contracts are being created to make the development and usage of distributed applications easier:

### **NAME REGISTRY** <a href="#name-registry" id="name-registry"></a>

Because dapps can be stored anywhere, including the Swarm network, the name registry maps names to their content or location. This is a decentralised alternative to the Domain Name System (DNS).

See <https://github.com/expanse-org/EIPs/issues/26>

### **CONTRACT REGISTRY** <a href="#contract-registry" id="contract-registry"></a>

To publish the source code of a specific contract, its address has to be mapped to it. The contract registry stores this mapping. Users can then look up this mapping and verify the contract byte code.

See \* global registrar code \* namereg API


---

# 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://docs.expanse.tech/developer/web3-base-layer-services.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.
