Technology Stack
On top of Ethereum, we have built UGT services using Geth. Geth is a multipurpose command line tool that runs a full Ethereum node implemented in Go. In this case, it is running on a proprietary Linux server with no RPC/HTTP open ports. The communication, which involves Geth, is managed through a Python intermediary application and the Ethereum network.
The applications that connect to the Ethereum blockchain are built on Truffle. Truffle is a development environment, testing framework, and asset pipeline for Ethereum. We use Ethereum Truffle for:
- Built-in smart contract compilation, linking, deployment and binary management;
- Configurable-build pipelines with support for custom build processes;
- Network management for deploying to many public and private networks;
Communication with the Ethereum node is done through the JSON RPC API. JSONRPC is a stateless, light-weight Remote Procedure Call (RPC) protocol. Primarily, this specification defines several data structures and the rules around their processing.