I am using Infura and web3.py. When I connect to Infura the web3 object has a clientVersion property that reads this from JSON RPC


Can someone explain to me what this client is and what the version number represents? Would the version number be the same for everyone connecting to Ethereum via Infura?


1 Answer 1


To connect to a blockchain you need a node which implements the blockchain functionality. Basically it's a client software. There are currently two major client platforms: Geth and Parity. It can be a bit cumbersome to run your own node but in theory anyone can do it.

Infura is a service provider. They basically just provide you with access to one of the nodes they run. This way you don't have to worry anything about the node and its versions and connectivity and stuff like that - you can just use Infura and it mostly "just works".

But, as Infura is just running a regular node in the background through which you connect to the blockchain it's also running a client software. It's running Geth version 1.8.15. All the stuff after that in the version string is not very meaningful - it basically tells the more exact version control commit (hash) from which the version comes from, its platform (linux amd64) and version of Go used (Geth runs on Go code).

Probably Infura has multiple nodes which they give access to. In theory the nodes can use different client versions but most likely they upgrade all of them at the same time. So one day the version is X and the next day it might be one higher due to client upgrade at their end - you don't need to do anything typically.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.