Ethereum Swarm Beekeeper is tool used for testing of Ethereum Swarm Bee.
make binary
cp dist/beekeeper /usr/local/bin/beekeeper
beekeeper has following commands:
command | description |
---|---|
check | Run tests on Bee node(s) |
help | Help about any command |
Print Bee cluster info | |
version | Print version number |
Command check runs test(s) on Bee node(s). Each test is implemented as a subcommand.
Available subcommands:
subcommand | description |
---|---|
fileretrieval | Checks file retrieval ability of the cluster |
fileretrievaldynamic | Checks file retrieval ability of the dynamic cluster |
fullconnectivity | Checks full connectivity in the cluster |
kademlia | Checks Kademlia topology in the cluster |
localpinning | Checks local pinning ability of the cluster |
manifest | Checks manifest functionality on the cluster |
peercount | Count peers for all nodes in the cluster |
pingpong | Executes ping from all nodes to all other nodes in the cluster |
pullsync | Checks pullsync ability of the cluster |
pushsync | Checks pushsync ability of the cluster |
retrieval | Checks retrieval ability of the cluster |
fileretrieval checks file retrieval ability of the cluster. It uploads given number of files to given number of nodes, and attempts retrieval of those files from the last node in the cluster.
Example:
beekeeper check fileretrieval --namespace bee --node-count 3 --upload-node-count 2 --files-per-node 4 --file-size 1048576
fileretrievaldynamic checks file retrieval ability of the dynamic cluster. It uploads file to a random node, then it downloads that file from given number of random nodes. Then, it stops given number of other random nodes, and tries to download file again from other random nodes. It starts stopped nodes and downloads file from them. It has an option to add new nodes to the cluster and repeat previous steps with the updated cluster.
Example:
beekeeper check fileretrievaldynamic --namespace bee --node-count 5 --new-node-count 3 --kubeconfig /Users/<user>/.kube/config
fullconnectivity checks if every node has connectivity to all other nodes in the cluster.
Example:
beekeeper check fullconnectivity --namespace bee --node-count 3
kademlia checks Kademlia topology in the cluster.
Example:
beekeeper check kademlia --namespace bee --node-count 3
localpinning checks local pinning ability of the cluster.
Example:
beekeeper check localpinning --namespace bee --node-count 3
manifest checks manifest functionality on the cluster.
Example:
beekeeper check manifest --namespace bee --node-count 3
peercount counts peers for all nodes in the cluster.
Example:
beekeeper check peercount --namespace bee --node-count 3
pingpong executes ping from all nodes to all other nodes in the cluster, and prints round-trip time (RTT) of each ping.
Example:
beekeeper check pingpong --namespace bee --node-count 3
pullsync checks pullsync ability of the cluster.
Example:
beekeeper check pullsync --namespace bee --node-count 3
pushsync checks pushsync ability of the cluster. It uploads given number of chunks to given number of nodes, and checks if chunks are synced to their closest nodes.
Example:
beekeeper check pushsync --namespace bee --node-count 3 --upload-node-count 2 --chunks-per-node 4
retrieval checks retrieval ability of the cluster. It uploads given number of chunks to given number of nodes, and attempts retrieval of those chunks from the last node in the cluster.
Example:
beekeeper check retrieval --namespace bee --node-count 3 --upload-node-count 2 --chunks-per-node 4
Command print prints info about Bee cluster. Each type of information is implemented as a subcommand.
Available subcommands:
subcommand | description |
---|---|
addresses | Print addresses for every node in a cluster |
overlays | Print overlay address for every node in a cluster |
peers | Print list of peers for every node in a cluster |
topologies | Print list of Kademlia topology for every node in a cluster |