Run Ethereum in docker. We have three different docker images. eth_node for running a blockchain node. eth_contract_deployer for running the scenario simulation and eth_bootstrap for initializing the blockchain and interconnecting all eth_nodes.
data_collectionwhich sends the runtime data of the chain to a serverscenario_slavewhich runs a websocket receiving transaction commands from thecontract_deployerscenario_execution_scriptswhich implements the ethereum specific execution of a transaction. They are connected with thescenario_slave
data_collectionwhich sends the runtime data of the chain to a server.contract_migrationwhich deploys the smart contract to run transactions with a specific payload. It also opens a websocket connection for retrieving the smart contract address, so the nodes are able to use the same smart contract instance.mastercontains the main entry point to start thescenario-orchestration-servicewhich listens for input from theprivate-chain-controllerat port 22000.
blockchain genesis filewhich includes the genesis.json to initialize the blockchain
All nodes use the same Dockerfile but have different entrypoints defined in the docker-compose.yml.
To run the blockchain just start it by running docker-compose up. Please note that scaling is allowed only on the eth_node.