Skip to content
Archangel Private Ethereum Network Details
Branch: master
Clone or download
jezhiggins Merge pull request #3 from eb4x/patch-1
Send parameters to the container process
Latest commit a5223d5 Apr 11, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
.gitignore Added Readme, License, Code of conduct. Jun 6, 2018
Dockerfile corrected copyright date Jun 8, 2018 Send parameters to the container process Apr 10, 2019
archangel-ethereum-client.ps1 Reduce the shell api exposure for consistency Mar 25, 2019


Script to run a node on the Archangel private Ethereum network


Using this script requires Geth, the Go Ethereum client.

Running the client



The script will, if necessary, initialise the genesis block.

By default, the script will

  • Store its data in a directory immediately below the script's location
  • Use port 30303 for incoming connections from the Archangel Ethereum network
  • Listen on localhost:8545 for RPC API requests (eg from MetaMask)
  • Enables all functionality on the RPC API

These defaults can be override using environment variables or command line arguments :

  • ARCHANGEL_ETHEREUM_DATA_DIR=<directory>, --datadir=<directory>
  • ARCHANGEL_ETHEREUM_PORT=<port number>, --port=<port number>
  • ARCHANGEL_ETHEREUM_RPC_HOST=<rpc hostname or ip>, --rpchost=<rpc hostname or ip>
  • ARCHANGEL_ETHEREUM_RPC_PORT=<rpc port number>, --rpcport=<rpc port number>
  • ARCHANGEL_ETHEREUM_RPC_API=<rpc apis enabled>, --rpcapi=<rpc apis enabled>
  • ARCHANGEL_BOOTNODE=<bootnodes>, --bootnode=<bootnodes>

If an environment variable is set and the equivalent command line argument passed, then the command line argument will be used.

There are two additional options :

  • ARCHANGEL_ETHEREUM_GETH=<path to geth>, --geth=<path to geth>

The script expects to find geth on the path. However, if you have it installed elsewhere use this option to let the script know.


Use this option to turn off the RPC API listener.

  • --

The special option -- marks the end of the options. The script will pass any arguments after -- directly to geth.


The dockerfile can be built uisng

  docker build --rm -t archangel-node .

and then run using

  docker run -it archangel-node

This will then sync up with the network directly, using the bootnode that is specified by default in the dockerfiles environment variables. The dockerfile utilises the script above, but provides a containerised environment to minimise and simplify any setup overhead. Also worth noting is that the dockerfile limits the exposed API to only the eth,net,web3 APIs. This can be overridden using the relevant environment variable or command line argument for the script. Any additional arguments to the script can be passed as the command to the image; i.e. to start mining.

  docker run -it archangel-node -- --mine


Bug reports and pull requests are welcome on GitHub at

Code of Conduct

Everyone interacting in the Archangel project’s codebases, issue trackers, chat rooms and mailing lists is expected to follow the code of conduct.


This software is available under the terms of the MIT License.

You can’t perform that action at this time.