Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 13 additions & 18 deletions docs/bee/faq.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,42 +14,37 @@ Depending on your needs you can run an ultra-light, light or full node.

### What are the differences between Bee node types?

A bee node can be configured to run in various modes based on specific use cases and requirements. [See here](./installation/getting-started.md) for an overview of the differences.
A bee node can be configured to run in various modes based on specific use cases and requirements.
[See here](./working-with-bee/node-types.md#node-types-overview) for an overview of the differences.

### What are the requirements for running a Bee node?

#### What are the requirements for running a Bee node?
See the [getting started section](./installation/getting-started.md#requirements) for more information about running a Bee node.

See the [getting started section](./installation/getting-started.md#software-requirements) for more information about running a Bee node.
#### Full node

##### Full node
All three node types run on ordinary consumer hardware.
Full nodes use more disk space and bandwidth than the lighter modes and additionally need a Gnosis Chain connection and funds β€” see [full node specifications](./working-with-bee/node-types.md#full-node-specifications) for the current list.

- 20GB -30GB SSD (ideally NVME).
- 8GB RAM
- CPU with 2+ cores
- RPC connection to Gnosis Chain
- Min 0.1 xDAI for Gnosis GAS fees
- 1 xBZZ for initial chequebook deployment
- 10 xBZZ for staking (optional)

##### How much bandwidth is required for each node?
### How much bandwidth is required for each node?

Typically, each node requires around 10 megabits per second (Mbps) of bandwidth during normal operation.

##### How do I Install Bee on Windows?
### How do I Install Bee on Windows?

Bee is compatible with Windows and a Bee `.exe` file can be found on the [`releases` page](https://github.com/ethersphere/bee/releases) of the Bee repo.

It is also possible to [build from the source](./installation/build-from-source.md).

##### How do I get the node's wallet's private key (use-case for Desktop app)?
### How do I get the node's wallet's private key (use-case for Desktop app)?

See the [backup section](./working-with-bee/backups.md) for more info.

##### How do I import my private key to Metamask?
### How do I import my private key to Metamask?

You can import the `swarm.key` json file in MetaMask using your password file or the password you have set in your bee config file.

##### Where can I find my password?
### Where can I find my password?

You can find the password in the root of your data directory. See the [backup section](./working-with-bee/backups.md) for more info.

Expand Down Expand Up @@ -174,4 +169,4 @@ If you are using a different wallet which does not have an easy option for addin
Network name: Gnosis
RPC URL: https://xdai.fairdatasociety.org
Chain ID: 100
Currency symbol: XDAI
Currency symbol: XDAI
37 changes: 20 additions & 17 deletions docs/bee/installation/getting-started.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,16 +43,18 @@ The node type you need to run will differ depending on your use-case:

Refer to the [Node Types](./../working-with-bee/node-types.md) page for deep dive into each node type, their features and limitations, and configuration instructions.

## Software Requirements
## Requirements

### Recommended Operating Systems
### Software Requirements

#### Recommended Operating Systems
- Officially supported systems are listed in the [Bee releases](https://github.com/ethersphere/bee/releases).
- You can [build from source](./build-from-source.md) if your OS is unsupported.
- **Swarm Desktop users** can use macOS, Windows, or Linux.
- **Linux/macOS recommended**: Most tools and documentation are designed for Unix-based systems.
- **Windows users**: While a Window release of Bee is available, you may also consider using [WSL](https://learn.microsoft.com/en-us/windows/wsl/install) and using a Linux version of Bee.

### Essential Tools
#### Essential Tools

While not strictly required, these tools will *greatly* simplify your experience working with Bee nodes:

Expand All @@ -61,31 +63,33 @@ While not strictly required, these tools will *greatly* simplify your experience
- **[Swarm CLI](./../working-with-bee/swarm-cli.md)**: Terminal-based Bee node management.
- **[Bee JS](./../../develop/tools-and-features/bee-js.md)**: JavaScript library for programmatic API access.

## Hardware Requirements
### Hardware Requirements

All three node types run on ordinary consumer hardware.
None of them requires a powerful machine.

### Light and Ultra-Light
#### Light and Ultra-Light

Light and ultra-light nodes can be run with practically any commercially available modern computer hardware and internet provider, and have very minimal CPU, RAM and network requirements.
Light and ultra-light nodes have very minimal CPU, RAM, disk and network requirements, and run on practically any commercially available computer hardware and internet connection.

### Full Node
#### Full Node

Requires significant storage and processing power:
- **Processor**: Recent 2 GHz dual-core.
- **RAM**: 8 GB.
- **Storage**: 30 GB SSD (HDD not recommended).
- **Internet**: High-speed and stable connection.
Full nodes have modest CPU and RAM requirements too, but they use more disk space and require a more sustained bandwidth than the lighter modes.
They also need a Gnosis Chain RPC endpoint and some xDAI and xBZZ to cover gas fees and chequebook deployment.
See [full node specifications](./../working-with-bee/node-types.md#full-node-specifications) on the Node Types page for the complete list of hardware and funding requirements.

For staking and storage incentives, test node performance with [`/rchash`](https://docs.ethswarm.org/docs/bee/working-with-bee/bee-api/#rchash).
Staking and receiving storage incentives may require more CPU power.
Test node performance with [`/rchash`](https://docs.ethswarm.org/docs/bee/working-with-bee/bee-api/#rchash) before deciding to participate in the redistribution game.

## Network Requirements
### Network Requirements

A reliable, high-speed internet connection is recommended when running a full node, while ultra-light and light nodes require less bandwidth. The actual amount of bandwidth consumption depends on the node type and use-case:

- **Full Node**: High bandwidth usage due to constant chunk syncing, and even greater utilization if also used for uploads / downloads.
- **Light Node**: Moderate usage, based on data transfer volume.
- **Ultra-Light Node**: Minimal usage, bandwidth utilization restricted based on free-tier download limits.

### RPC Endpoint
#### RPC Endpoint

:::warning
***Free public RPC endpoints are discouraged*** since they may enforce rate limiting or may not store the historical smart contract data required by Bee nodes. [Read more](./../working-with-bee/configuration.md#setting-blockchain-rpc-endpoint).
Expand All @@ -110,7 +114,7 @@ Without a properly configured RPC endpoint, a Bee node cannot interact with the
* Stake tokens
* Make blockchain transactions

### NAT and Port Forwarding
#### NAT and Port Forwarding

If running Bee on a home network, there is a good chance it is behind NAT by default. Often simply [enabling port forwarding](https://www.noip.com/support/knowledgebase/general-port-forwarding-guide) will be enough to allow your node to start communicating smoothly with the rest of the network.

Expand Down Expand Up @@ -140,4 +144,3 @@ If your home network happens to be using [CGNAT (Carrier-Grade NAT)](https://en.

### [Building from Source](./build-from-source.md)
- Most flexible, but requires advanced setup.

11 changes: 4 additions & 7 deletions docs/bee/working-with-bee/bee-api.md
Original file line number Diff line number Diff line change
Expand Up @@ -475,15 +475,12 @@ If your node is not operating in the correct mode, this can help you to diagnose

### _/rchash_

Calling the `/rchash` endpoint triggers the generation of a reserve commitment hash,
which is used in the [redistribution game](/docs/concepts/incentives/redistribution-game),
and will report the amount of time it took to generate the hash. This is useful for
getting a performance benchmark to ensure that your node's hardware is sufficient.
Calling the `/rchash` endpoint triggers the generation of a reserve commitment hash, which is used in the [redistribution game](/docs/concepts/incentives/redistribution-game), and will report the amount of time it took to generate the hash.
This is useful for getting a performance benchmark to ensure that your node's processor is fast enough.

The `/rchash` endpoint has 3 parameters: `depth`, `anchor1`, and `anchor2`.
For both anchor parameters, use the first 4 hex digits from your node's overlay
address (which you can find from the `/addresses` endpoint). For depth, use the
current storage depth of your node from the `/status` endpoint (`storageRadius` value):
For both anchor parameters, use the first 4 hex digits from your node's overlay address (which you can find from the `/addresses` endpoint).
For depth, use the current storage depth of your node from the `/status` endpoint (`storageRadius` value):
Comment on lines +482 to +483

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would it make sense to recommend swarm-cli utility rchash command here?


```text
/rchash/{depth}/{anchor1}/{anchor2}
Expand Down
39 changes: 27 additions & 12 deletions docs/bee/working-with-bee/node-types.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,11 @@ description: Compares full light and ultra-light node types with their features
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';

Bee nodes can operate in three different modes depending on the user's needs, ranging from full-featured nodes that contribute to the network and earn incentives to lightweight modes that allow for basic interaction with minimal resource requirements. This guide outlines the three primary node types β€” **_Full_**, **_Light_**, and **_Ultra-Light_** β€” along with their configurations, capabilities, and limitations.
Bee nodes can operate in three different modes depending on the user's needs, ranging from full-featured nodes that contribute storage to the network and earn incentives to simpler modes that only download and upload data.
This guide outlines the three primary node types β€” **_Full_**, **_Light_**, and **_Ultra-Light_** β€” along with their configurations, capabilities, and limitations.

All three modes can run on ordinary consumer computers, without requiring any extraordinary hardware.
What differs between them is the feature set, how much disk space and bandwidth the node uses, and whether it needs a blockchain connection and funds.

Choosing the right node type depends on your goals, whether it's participating in the Swarm network as a storage provider, developing applications that use Swarm's decentralized storage and messaging, or simply exploring the technology with minimal setup.

Expand All @@ -30,25 +34,37 @@ Bee can operate in different modes, each tailored to specific use cases:

## What is a full node? {#full-node}

Full nodes are the most feature-rich nodes in the Swarm network. They provide full upload and download capabilities, store and serve data, and participate in storage and bandwidth incentives. Running a full node requires more system resources, but it allows users to fully engage with and support the network.
Full nodes are the most feature-rich nodes in the Swarm network.
They provide full upload and download capabilities, store and serve data, and participate in storage and bandwidth incentives.
A full node uses more disk space and bandwidth than the lighter modes and needs a funded blockchain connection, but its CPU and memory requirements stay low enough for everyday consumer hardware.

Full nodes are ideal for users who want to contribute to the Swarm network and earn incentives, as well as developers who require access to all Bee features including messaging features such as PSS and GSOC.


### Full node specifications

:::warning
Full nodes require significant system resources, including storage and bandwidth. Additionally, they must be connected to the blockchain to participate in incentives.
A full node does not need powerful hardware.
The requirements below are met by most laptops and desktops, and even single-board computers such as a [Raspberry Pi](https://en.wikipedia.org/wiki/Raspberry_Pi) with an attached SSD.
Disk space and sustained bandwidth are the main differences from the lighter node types:

- **Processor**: Recent 2 GHz dual-core (2+ cores). 4-cores is comfortable if you intend to take part in the redistribution game.
- **RAM**: 500 MB.
- **Storage**: 20~30 GB SSD, ideally NVMe (HDD not recommended).
- **Internet**: High-speed and stable connection.

If you intend to participate in the redistribution game to earn storage incentives, you should test your setup using [the `/rchash` endpoint](./bee-api.md#rchash) in order to ensure that your hardware is sufficient. Participation in the redistribution game requires a process with high computational and memory requirements, along with significant bandwidth usage.
:::info
Staking raises the CPU demand but not the memory demand.
Nodes selected for the redistribution game run the sampler process, which is CPU-bound and bandwidth-hungry; 4 cores are sufficient for it.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is it really bandwidth hungry?


Before staking, test your setup using [the `/rchash` endpoint](./bee-api.md#rchash) in order to confirm your node can complete a sample in time.
:::

Requires significant storage and processing power compared to other node types:
A full node must also be connected to Gnosis Chain and hold enough funds to cover its on-chain operations:

- **Processor**: Recent 2 GHz dual-core.
- **RAM**: 8 GB.
- **Storage**: 30 GB SSD (HDD not recommended).
- **Internet**: High-speed and stable connection.
- **RPC endpoint**: A connection to Gnosis Chain (see [setting the blockchain RPC endpoint](./configuration.md#setting-blockchain-rpc-endpoint)).
- **xDAI**: Minimum 0.1 xDAI for Gnosis Chain gas fees.
- **xBZZ**: 1 xBZZ for the initial chequebook deployment.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wrong terminology.

1 xBZZ for the initial chequebook deposit.

Deployment only needs xDAI.

Also, funding the chequebook with xBZZ is optional.

- **(optional) xBZZ for staking**: 10 xBZZ, required only to participate in [storage incentives](./staking.md).

### Full node configuration

Expand All @@ -73,7 +89,7 @@ To run Bee as a full node, set:

Light nodes provide a balance between functionality and resource efficiency. They can upload and download data but do not participate in chunk forwarding or storage for other nodes.

Light nodes are suited for users who want to interact with Swarm without the overhead of running a full node. They can serve the needs of developers who need to access Swarm's download / upload features but do not need advanced messaging features such as PSS and GSOC which are available only in full nodes.
Light nodes are suited for users who want to interact with Swarm without contributing storage to the network or maintaining a reserve. They can serve the needs of developers who need to access Swarm's download / upload features but do not need advanced messaging features such as PSS and GSOC which are available only in full nodes.

Light node operators cannot earn xBZZ by participating in Swarm's incentives systems, as they do not participate in chunk forwarding or storage but only consume services, paying xBZZ for downloading data from full nodes and buying postage stamp batches for uploading data.

Expand Down Expand Up @@ -146,4 +162,3 @@ Bee will start in ultra-light mode by default, but in order to explicitly config
- Cannot earn xBZZ by staking xBZZ and participating in the storage incentive system.
- Cannot earn xBZZ by participating in the bandwidth incentives system.
- Cannot use PSS or GSOC for sending or receiving.

6 changes: 5 additions & 1 deletion docs/bee/working-with-bee/staking.md
Original file line number Diff line number Diff line change
Expand Up @@ -849,7 +849,11 @@ Confirm that `hasSufficientFunds` is `true`, and `isFullySynced` is `true` befor

#### Run sampler process to benchmark performance

One of the most common issues affecting staking is the `sampler` process failing. The sampler is a resource intensive process which is run by nodes which are selected to take part in redistribution. The process may fail or time out if the node's hardware specifications aren't high enough. To check a node's performance the `/rchash` endpoint of the API may be used. See the `/rchash` section of the [Bee API page for usage details](./bee-api.md).
One of the most common issues affecting staking is the `sampler` process failing.
The sampler is a CPU-intensive process which is run by nodes which are selected to take part in redistribution.
It does not need much memory, but on a slow processor it may fail or time out; 4 cores are sufficient.
To check a node's performance the `/rchash` endpoint of the API may be used.
See the `/rchash` section of the [Bee API page for usage details](./bee-api.md).


If you are still experiencing problems, you can find more help in the [node-operators](https://discord.gg/kHRyMNpw7t) Discord channel (for your safety, do not accept advice from anyone sending a private message on Discord).
Loading