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 :)