life coded

a blog by Maximilian Ehlers

Running parity on Fedora 26

Parity is my favourite Ethereum client. Unfortunately there are no builds ready for Fedora, which I came to appreciate recently (after switching from Arch).
The obvious solution is once again - Docker.

If you have no previous Parity data saved and you do not want to persist the files outside of your container you can pretty much just follow the instructions at https://github.com/paritytech/parity/wiki/Docker.

Otherwise you probably want to keep reading to avoid some annoyances.

Persisting data

First is the command you can use to start the docker container:

docker run -ti -p 8180:8180 -p 8545:8545 -p 8546:8546 -p 30303:30303 -p 30303:30303/udp -v ~/.local/share/io.parity.ethereum/docker:/root/.local/share/io.parity.ethereum/ parity/parity:v1.7.0 --ui-interface all --jsonrpc-interface all  --ws-interface all --ws-origins http://127.0.0.1:8180 --base-path /root/.local/share/io.parity.ethereum

This will expose the ports that you need to use Parity to your host machine:

Port Function
8180 Web-UI
8545 JsonRpc
8546 Websockets
30303 Eth Network?

Make sure to enable the UI, JsonRpc and Websockets to use the Parity client without problems. This is done with the --XXX-interface all parameter. You can of course be more specific instead of binding to all interfaces. Check https://github.com/paritytech/parity/blob/master/parity/cli/usage.txt for more info.
Another thing to add is the origin from where you will access Parity to the --ws-origins.
Otherwise the Server will block your requests as it is running inside the container and not on your host.

Now that the command is ready you will still run into the issue of SELinux blocking Parity's access to the filesystem.
When you encounter an error like Error upgrading parity data: CannotWriteVersionFile you should execute journalctl -xe.
This will now tell you what exactly was blocked and how you can add an exception for it.

Enjoy Parity :)