Overview
Cardano Client Lib is a free code library that lets Java developers build apps that send payments, create tokens, and work with smart contracts, the programs that run on a blockchain1. Teams that already write their software in Java use it to add these features without switching languages. The Cardano Foundation describes it as a pure-Java library for building and signing transactions, managing keys and addresses, and talking to the network2.
Cardano Client Lib is a transaction builder for Cardano, maintained by BloxBean, a group that makes Cardano developer tools. Its code is public on GitHub under the MIT License, a permissive license that allows commercial use3. The Cardano Foundation supports its maintenance, and Mesmo, a project the Foundation announced, compiles the library so Python, Go, Rust, and JavaScript developers can call it too4.
Key Features
- Describe a transaction instead of assembling it. The QuickTx builder lets a developer list what should happen, such as payments, token minting, staking, or governance actions, and several of these can be combined into one transaction5.
- Choose your own blockchain data source. The library reaches the network through hosted services such as Blockfrost and Koios, or through self-hosted Ogmios and Kupo6. Developers can also plug in their own data provider7.
- Tokens and NFTs that follow shared standards. Modules cover several Cardano Improvement Proposals (CIPs), the community's shared technical standards, including CIP-25 and CIP-68 for token metadata, CIP-30 for wallet-compatible data signing and verification, and CIP-8 for message signing3.
- Governance from code. The governance tools cover registering as a DRep (a representative that ADA holders delegate their voting power to), submitting proposals, casting votes, and delegating votes8.
- Check a smart contract's cost before sending it. An integration with Aiken, a Cardano smart contract language, estimates how much computing a contract will use and compiles contracts that take custom settings9.
What to Expect
For developers, setup means adding the library from Maven Central, the main public store for Java packages, through the Maven or Gradle build tools10. The documentation site starts with core concepts and a first simple transfer, and links to a separate examples repository on GitHub1. Developers who know Lucid, a JavaScript library for Cardano, will notice many similarities in the QuickTx builder, according to the docs7.
The 0.8.0 release line adds TxFlow, a tool for running a chain of related transactions in order. TxFlow waits for confirmations, handles rollbacks, when the network briefly undoes its most recent blocks, and retries when something fails11.
Cardano Client Lib also reaches teams that don't write Java. Mesmo turns it into a native library, a plain shared file other languages can load, so Python, Go, Rust, and JavaScript apps can build and sign transactions without running Java. Sending the finished transaction to the network stays with the app's own code4.
For everyone else, Cardano Client Lib works behind the scenes. It is code other teams build into their apps, not an app you download. The Cardano Foundation notes that USDM, a stablecoin backed by regular money, uses it for its off-chain work, the parts of the app that run outside the blockchain2.
