REST API Gateway Introduction
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.
Auto-generated Smart Contract APIs
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.
Core capabilities
- Convenient REST interface for communicating with your on-chain business logic
- Abstraction of the JSON/RPC API allowing for payloads to be modeled as simple JSON
- Smart Contract compilation and instantiation without an Ethereum client library
- Smart Contract invocations and queries without an Ethereum client library
- Nonce management, supporting horizontally scaled apps using the same signing account
- Kafka-backed messaging for reliable streaming of transactions into your chain
- Optimal throughput and accommodation for spikes and workload surges
- ABI type mapping, solidity compilation, concurrency management, RLP encoding
- Connections via HTTPS or directly to Kafka
- Smart Contract API generator and interactive Swagger console
- Webhook endpoint so you can fire-and-forget from even the simplest event source
- Downloadable swagger specification for RESTful app development
- Automatic Gas calculation, and helpful "revert" error messages if transactions fail
- Customizable event streams delivering defined smart contract parameters
- Full integration with Kaleido Smart Contract Management