Skip to main content


Showing posts from 2018

DNS problems when running an Ethereum cluster on Docker Swarm

To run privately an ethereum cluster, the nodes have to find each other through a bootnode. The address of the bootnode has to be an IP address. When we run a bridged network we can set manually the ip address, but this option is not currently supported by the overlay network needed by swarm.

Therefore in our init script we run a simple resolution command based on the image name "bootnode". Problem was that the nodes were still unable to connect and no mining would happen.
After investigating, I've noticed that the address resolved with the name of the service was not consistent. Inside the docker container:

root@84cba6d65c3d:/geth# host ethnode4 ethnode4 has address root@84cba6d65c3d:/geth# host tasks.ethnode4 tasks.ethnode4 has address

The right address was .4 where the system was answering , with .3 other containers were not able to connect.  Therefore I change the bash script to fetch the bootnode ip by prepending the hostname with "tasks.&quo…

When adding a property to graph-tool don't forget this

When you are adding a new property to a graph-tool graph (

is_node_customer = network.new_vertex_property("bool")
weight = network.new_edge_property("float")

 you should never forget to add this

network.vertex_properties["is_node_customer"] = is_node_customer
network.edge_properties["weight"] = weight

Otherwise the properties will not saved or stored together with the graph and you will lose a lot of time