The Eth-Connect bridge is a Web and Messaging API that greatly simplifies the submission of Ethereum transactions. Specifically, this layer abstracts the JSON/RPC API and exposes a stateless REST interface (targetable via HTTP or Kafka) that allows for payloads to be modeled as trivial JSON or YAML. The messaging tier is especially convenient for high-throughput workloads, as the transactions will be evenly distributed across the various Kafka partitions before entering the network for EVM execution.
For example, to invoke an existing smart contract you could use the
POST method with a YAML payload as simple as this:
headers: type: SendTransaction from: 0xb480F96c0a3d6E9e9a263e4665a39bFa6c4d01E8 to: 0xe1a078b9e2b145d0a7387f09277c6ae1d9470771 params: - value: 12345 type: uint256 gas: 1000000 methodName: set
This is especially powerful for existing Enterprise Services, as they can be easily integrated with the blockchain rather than rearchitected to consume heavy client libraries (e.g.
Web3.js). Amongst other features, the Eth-Connect bridge handles: solidity compilation, ABI type mapping, RLP encoding, transaction receipt polling, high throughput, concurrency management and nonce management. Additionally, the Kafka messaging tier addresses the headache associated with the asynchronous nature of Ethereum transactions. Applications with their own state store can inject requests directly into the Kafka partition and consume the corresponding replies, thus ensuring guaranteed delivery versus fire and forget or HTTP timeouts.
Refer to the open source Kaleido Eth-Connect documentation for a deeper dive into the Eth-Connect architecture.