OpenEthereum (formerly Parity)

xDai with POSDAO runs on OpenEthereum v3.2.5

Install OpenEthereum

Updating OE

Please update to v3.2.5 which contains Berlin hard fork transition and the new enodes: https://github.com/openethereum/openethereum/releases/tag/v3.2.5

Perform a DB migration if your run OE version < v3.2.0

dataDir in chain spec has changed from DaiChain to xdai - manually rename the folder to avoid syncing from genesis.

If your node works on an old version of Parity, you need to convert node's DB to the format compatible with OpenEthereum v3.2.x. You can use this tool https://github.com/openethereum/3.1-db-upgrade-tool

For a non-dev user friendly version, see https://forum.1hive.org/t/run-your-own-local-xdai-node/2875

Binary Instructions

These instructions are copied from the OpenEthereum wiki.

  • Linux

    • Download the latest release from the link above

    • Make the openethereum file executable by running chmod u+x openethereum

    • Launch OpenEthereum: ./openethereum --chain xdai --no-warp

The --no-warp flag is recommended if you want all historical data, but will take much longer to sync. For a faster sync, you do not need to use it. More information on --no-warp

  • Mac

    • Download the mac binary.

    • Open a terminal and navigate to the directory using cd /path/to/binary/folder/.

    • Make the binary executable by running chmod +x openethereum.

    • You can now double click on the binary.

  • Windows Download the binary and double click on it.

Dependencies

For Linux systems:

  • Ubuntu, Debian

    $ apt-get install build-essential cmake libudev-dev
  • CentOS

    $ yum install libudev-devel
    $ yum group install "Development Tools"

Once OpenEthereum is Installed, Connect and Sync with xDai

openethereum --chain xdai --no-warp

Optional

--no-warp flag is optional: more information.

If you would like to limit or choose specific bootnodes, you can obtain the bootnodes.txt file from POA github:

git clone -b dai https://github.com/poanetwork/poa-chain-spec.git

enter all supplied enodes for the desired network separated by a comma, no space

openethereum --chain xdai --bootnodes enode://[email protected]:PORT,enode://[email protected]:PORT

Connect to your Node

You can use Ethereum's JSON-RPC or a JavaScript console.

Smart contract development

You can use Remix connected to a local OpenEthereum full node for smart contracts development and deployment. Make sure that Remix is allowed to connect to your node by setting up the right JSON-RPC cors policy.