REST API Gateway
Kaleido provides the enterprise grade connectivity your applications and back-office systems need for high throughput reliable connectivity to your on-chain smart contracts. You can submit transactions to your nodes with ease, query the data on your chain, and listen to events. We generate modern REST APIs with full OpenAPI (Swagger) documentation from your Solidity source code, with all of the methods, events and types processed – even the developer docs loaded into the definition. For simple first use you can then perform transactions synchronously against the chain, waiting for them to complete. Then as you move towards production, use our throttling and nonce management over our Kafka backbone to stream transactions into the chain. Of course all of this is in addition to having direct JSON/RPC access to your nodes, for development of smart contract logic using Truffle, or DevOps activities with a Geth console.
Smart Contract Interface
Deploy and manage your Smart Contracts via our API and user interface. You upload your `.sol` or `.zip` file containing your Solidity package, and we generate you a REST API that can interact with any on-chain contract with the same Application Binary Interface (ABI). For example, if you upload an ERC20 contract you get an interface that can query common data and submit transactions to any ERC20 based contract. You can use this generated gateway REST API to deploy new contract instances, which you know are using the same Solidity package and compiler version. e.g. each contract instance is identical. The UI and REST API of the gateway lets you manage these instances.
Reilable Transaction Streaming (Ethconnect)
The REST API Gateway is backed by reliable transaction streaming technology, Ethconnect. Ethconnect is a Kafka-backed enterprise application gateway that abstracts the core JSON/RPC API allowing for lightweight integration of existing applications and hardened stacks. The service translates simple REST/YAML payloads with simple developer friendly types, into RLP encoded ethereum transaactions. It handles the assignment of nonces and reliable streaming of transactions into a node, smoothing peaks in workload. By removing Ethereum complexities, decentralized applications can be quickly built and integrated with core processes, without a reliance on heavy client side libraries.