Web3 implements the Ethereum JSON-RPC spec and seems to be the preferred method for communicating between a javascript applications and the Ethereum node. However there are situations where you might want a non javascript based application to interact with the blockchain for example:
- IoT devices
- Blockchain monitors
- Oracles and services
- Bridges between Ethereum and other server side code
What methods exist for communicating with Ethereum nodes from other languages? That is are there any libraries for Python, Java/Scala, Go, C++ ... ect which either:
- Implement the Json-RPC spec
- Allow communication using some other method such as IPC.
- Allow a node to be embedded within existing code and expose an interface.