Bee FAQ
Running a Bee Node
How can I become part of the Swarm network?
You can become part of the network by running a bee node. Bee is a peer-to-peer client that connects you with other peers all over the world to become part of Swarm network, a global distributed p2p storage network that aims to store and distribute all of the world's data
Depending on your needs you can run 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 for an overview of the differences.
What are the requirements for running a Bee node?
See the install section for more information about running a Bee node.
Full node
- 20GB -30GB SSD (ideally nvme).
- 8GB RAM
- CPU with 2+ cores
- RCP connection to Gnosis Chaiin
- 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?
Typically, each node requires around 10 megabits per second (Mbps) of bandwidth during normal operation.
How do I Install Bee on Windows?
You can install Bee node on Windows but it is not mentioned in the documentation, however, the steps are the same as the manual installation https://docs.ethswarm.org/docs/bee/installation/manual you can download the binary from here
https://github.com/ethersphere/bee/releases and download one of the Windows releases.
It is also possible to build from the source.
How do I get the node's wallet's private key (use-case for Desktop app)?
See the backup section for more info.
How do I import the swarm 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?
You can find the password in the root of your data directory. See the backup section for more info.
Connectivity
Which p2p port does Bee use and which should I open in my router?
The default p2p port for Bee is 1634, please forward this using your router and allow traffic over your firewall as necessary. Bee also supports UPnP but it is recommended you do not use this protocol as it lacks security. For more detailed information see the connectivity section in the docs. https://docs.ethswarm.org/docs/bee/installation/connectivity
How do I know if I am connected to other peers?
You may communicate with your Bee using its HTTP api. Type curl http://localhost:1633/peers
at your command line to see a list of your peers.
Errors
What does "could not connect to peer" mean?
“Could connect to peer can happen for various reasons.” One of the most common is that you have the identifier of a peer in your address book from a previous session. When trying to connect to this node again, the peer may no longer be online.
What does "context deadline exceeded" error mean?
The "context deadline exceeded" is a non critical warning. It means that a node took unexpectedly long to respond to a request from your node. Your node will automatically try again via another node.
How do I set up a blockchain endpoint?
We recommend you run your own Gnosis Node using Nethermind.
-
If you use "bee start"
- you can set it in your bee configuration under --blockchain-rpc-endpoint or BEE_BLOCKCHAIN_RPC_ENDPOINT
- open ~/.bee.yaml
- set
blockchain-rpc-endpoint: http://localhost:8545
-
If you use bee.service
- you can set it in your bee configuration under --blockchain-rpc-endpoint or BEE_BLOCKCHAIN_RPC_ENDPOINT
- open /etc/bee/bee.yaml
- and then uncomment
blockchain-rpc-endpoint
configuration - and set it to
http://localhost:8545
- after that sudo systemctl restart bee
How can I export my private keys?
See the section on backups for exporting your keys.
How to import bee node address to MetaMask?
- See the backup section for info on exporting keys.
- Go to Metamask and click "Account 1" --> "Import Account"
- Choose the "Select Type" dropdown menu and choose "JSON file"
- Paste the password (Make sure to do this first)
- Upload exported JSON file
- Click "Import"
What are the restart commands of bee?
If you use bee.service:
- Start:
sudo systemctl start bee.service
- Stop:
sudo systemctl stop bee.service
- Status:
sudo systemctl status bee.service
If you use "bee start"
- Start:
bee start
- Stop:
ctrl + c
orcmd + c
or close terminal to stop process
Relevant endpoints and explanations
See the API Reference pages for details.
Most common use cases:
curl http://localhost:1633/peers
- Shows you the currently connected peerscurl http://localhost:1633/balances
- Shows balances (positive=incoming, negative=outgoing) accumulating with peers, some of which may or may not be currently connectedcurl http://localhost:1633/settlements
- When the balance with a given peer exceeds a threshold, a settlement will be issued, if the settlement is received, then your node should have a check from that peer.curl http://localhost:1633/chequebook/address
your chequebook contract to see the xBZZ.
How can I check how many cashed out cheques do I have?
You can look at your chequebook contract at etherscan.
Get your chequebook contract address with: curl http://localhost:1633/chequebook/address
I have compared transactions between my ethereum address and my chequebook address, the numbers are different, which is quite weird.
Your chequebook will show OUT xBZZ transactions when your peers cash cheques issued by you, but you don't pay any gas for those so they won't show up in your Ethereum address transaction list.
Where can I find documents about the cashout commands?
https://docs.ethswarm.org/docs/bee/working-with-bee/cashing-out
When I run http://localhost:1633/chequebook/balance I get "totalBalance" and "availableBalance" what is the difference?
totalBalance
is the balance on the blockchain, availableBalance
is that balance minus the outstanding (non-cashed) cheques that you have issued to your peers. These latter cheques do not show up on the blockchain.
It's like what the bank thinks your balance is vs what your chequebook knows is actually available because of the cheques you've written that are still "in the mail" and not yet cashed.
What determines the number of peers and how to influence their number? Why are there sometimes 300+ peers and sometimes 30?
The number of connected peers is determined by your node as it attempts to keep the distributed Kademlia well connected. As nodes come and go in the network your peer count will go up and down. If you watch bee's output logs for "successfully connected", there should be a mix of (inbound) and (outbound) at the end of those messages. If you only get (outbound) then you may need to get your p2p port opened through your firewall and/or forwarded by your router. Check out the connectivity section in the docs https://docs.ethswarm.org/docs/bee/installation/connectivity.
What is the difference between "systemctl" and "bee start"?
bee start and systemctl start bee actually run 2 different instances with 2 different bee.yaml files and two different data directories.
bee start uses ~/.bee.yaml and the ~/.bee directory for data systemctl uses /etc/bee/bee.yaml and (IIRC) /var/lib/bee for data
Swarm Protocol
Can I use one Ethereum Address/Wallet for many nodes?
No, this violates the requirements of the Swarm Protocol and will break critical node functions such as staking, purchasing stamp batches, and uploading data.
Therefore, the rule is, each node must have:
- 1 Ethereum address (this address, the Swarm network id, and a random nonce are used to determine the node's overlay address)
- 1 Chequebook
- 2 Unique ports for Bee API / p2p API
Miscellaneous
How can I add Gnosis / Sepolia to Metamask?
You can easily add Sepolia or Gnosis to metamask using the official guide from Metamask.
If you are using a different wallet which does not have an easy option for adding networks like Metamask does, then you may need to add the networks manually. You need to fill in four pieces of information to do so:
Gnosis Chain
Network name: Gnosis RPC URL: https://rpc.gnosischain.com Chain ID: 100 Currency symbol: XDAI
Sepolia
Network name: Sepolia test network RPC URL: https://sepolia.infura.io/v3/ Chain ID: 11155111 Currency symbol: SepoliaETH