Run Xain in docker. We have three different docker images. xain_node for running a blockchain node. xain_contract_deployer for running the scenario simulation and xain_bootstrap for initializing the blockchain and interconnecting all xain_nodes.
blockchain_accounts
are required for each blockchain node to start mining and participate in smart contracts. The XAIN implementation requires specific accounts which cannot be created by geth automatically. Therefore these accounts are fixed for each blockchain nodedata_collection
which sends the runtime data of the chain to a server.scenario_slave
which runs a websocket receiving transaction commands from thecontract_deployer
scenario_execution_scripts
which implements the xain specific execution of a transaction. They are connected with thescenario_slave
- We are not allowed to upload the geth client to github. If you are interested in running the XAIN implementation, please contact us.
data_collection
which sends the runtime data of the chain to a server.contract_migration
which deploys the smart contract to run transaction 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.master
contains the main entry point to start thescenario-orchestration-service
which listens for input from theprivate-chain-controller
at port 22000.
blockchain genesis file
which 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 xain_node.