In the past week:
-
Added integration tests for the swarm CLI: ethereum/go-ethereum#14353. These are similar to the geth integration tests, executing the current running binary but with a hook to run the CLI app rather than the tests, which avoids the need to compile a separate binary.
-
Added an "exec" adapter to the network simulation framework which supports running protocols using the devp2p stack as child processes: ethersphere/swarm#70.
-
Added a "docker" adapter which is similar to the exec adapter but runs the nodes in docker containers: ethersphere/swarm#71. That PR also includes a change to do RPC over stdin / stdout (so we don't need to access the node's filesystem or TCP stack).
Upcoming:
-
Add a "flynn" adapter which runs nodes in a Flynn cluster. This will allow us to spin up clusters in Azure / AWS / GCP / bare metal using the Flynn installer, run some simulations then spin the cluster back down again.
-
Refactor the in-process adapter to use RPC to provide a consistent API across all adapters (this means you can just pass a
node.Service
to any adapter, be it in-process, exec, docker or flynn). -
Add some hooks for storing benchmarks and metrics in a time-series database (perhaps Prometheus).