Running web3 stack

The Web3 refers to the set of technologies, protocols, and tools designed to build decentralized applications (dApps) and create a more decentralized, user-centric internet.

The Web3 stack is often associated with blockchain, but it includes other peer-to-peer (P2P) technologies and protocols as well such us IPFS, Swarm, and Status.

Ethereum on ARM includes all clients needed to run IPFS, Swarm and Status nodes.

Note

If you have an Ethereum on ARM image installed prior to May 2023 you need to install the clients manually. Otherwise you can skip this step:

sudo apt-get update
sudo apt-get install kubo statusd bee

IPFS

IPFS (InterPlanetary File System) is a distributed, peer-to-peer file storage and sharing system designed to replace the traditional, centralized model of the internet. IPFS uses content-addressed storage, which means that files are stored and retrieved based on their cryptographic hash rather than their location on a specific server.

This approach enables efficient and resilient file distribution, as multiple nodes can store and serve the same content, making it less prone to censorship and single points of failure. IPFS is an essential part of the Web3 stack as it provides a decentralized way to store and access data, complementing blockchain-based dApps.

The IPFS go implementation is called Kubo. In order to run an IPFS node you just need to start the Systemd Service

sudo systemctl start ipfs
sudo journalctl -u ipfs -f

Swarm

Swarm is a decentralized storage system primarily associated with the Ethereum ecosystem. Similar to IPFS, Swarm is a peer-to-peer network that allows users to store and share data in a distributed manner. Swarm’s focus is on providing scalable and efficient data storage for dApps built on Ethereum. Swarm’s integration with Ethereum makes it an important part of the Web3 stack, particularly for Ethereum-based dApps.

The Swarm implementation is Bee. In order to run a node you just need to start the Systemd Service:

sudo systemctl start bee
sudo journalctl -u bee -f

Status

Status is a decentralized messaging platform, wallet, and dApp browser built on top of the Ethereum blockchain. It aims to provide users with a unified interface to interact with the decentralized web (Web3) by enabling secure messaging, asset management, and access to various dApps. Status uses the Whisper protocol, a decentralized messaging system that is part of the Ethereum stack, to facilitate secure and private communication between users.

By integrating with Ethereum and providing a user-friendly interface for interacting with the decentralized web, Status serves as an essential tool in the Web3 stack.

The Status implementation is called Status Go. In order to run an Status node you just need to start the Systemd Service:

sudo systemctl start statusd
sudo journalctl -u statusd -f