The Cardano Rust project is a modular toolbox for third-party developers. It contains Cardano cryptographic primitives, a library of wallet functions, and a future alternative Cardano node implementation.
By utilizing a set of endpoints Developers can query a UTXO set using a set of defined interfaces or cryptographic functions known as the c-bindings. The c-bindings have been developed by the IOHK Rust team to allow developers to define the way the wallet works and control all aspects of the transaction building process. It provides a set of primitives that gives greater control over when and how transactions are generated, signed and sent to the blockchain.
The following is a shortlist of cryptographic primitives available in Rust c-bindings
- Create new a private key on demand;
- Retrieve the public key associated with this private key;
- Build address associated with any given public key;
- To create a transaction builder with offline capability
- To add input to this builder (Transaction ID + Output Index + Value);
- To add the output to this builder (Address + Value);
- To check the balance of the transaction;
- To check the fee of the transaction;
- To finalize transaction builder;
- To close the finalizer and retrieve a valid sign transaction
These cryptographic functions allow exchanges to create their own wallet style configuration. This approach is usually implemented by the larger exchanges who like to have full control over how transactions and created and confirmed. By utilizing these primitives like Rust c-bindings they can query the entire UTXO set, store the result in an offline DB or repository and then generate and sign transactions offline submitting to the blockchain at a later date.