Exchange integration overview
This article is for Exchanges and third-party wallets interested in or currently listing ada as it outlines all of the available components used for integration purposes.
Integration components
- cardano-node - is the top level for the node and aggregates the other components from other packages: consensus, ledger and networking, with configuration, CLI, logging, and monitoring.
The node no longer incorporates wallet or explorer functionality. The wallet backend and explorer backend are separate components that run in separate external processes that communicate with the node via local IPC.
- cardano-wallet - Incorporates the wallet backend, a coin selection algorithm, and an API that is recommended for Exchanges and 3rd party wallets and for those that do not want to manage UTxOs themselves. It can be used to generate addresses, send and receive payments from hierarchical deterministic wallets on the Cardano blockchain via HTTP REST or a command-line interface.
- cardano-db-sync - a necessary middleware to power both cardano-graphql, and cardano-rosetta. This middleware stores blockchain data fetched from cardano-node in an intermediate database to enable higher-level interfaces for blockchain exploration.
- cardano-submit-api - The cardano-submit-api is an API that allows users to submit pre-signed transactions usually created using some external library based on the Cardano CDDL specification.
- cardano-graphql - is a cross-platform, typed, and queryable API for Cardano. The project contains multiple packages for composing GraphQL services to meet specific application demands, and a docker-compose stack serving the included cardano-graphql-server Dockerfile and the extended hasura Dockerfile. The schema is defined in native
.graphql
, and used to generate a TypeScript package for client-side static typing.
- cardano-addresses - This module provides mnemonic (backup phrase) creation, and conversion of a mnemonic to seed for wallet restoration, and address derivation functionalities.
- cardano-serialization-library - Serialization/deserialization JavaScript code which is automatically generated from Cardano’s official specification. It guarantees you can easily stay up to date! We do this using an EMURGO-written tool called cddl-codegen which can be re-used for other tasks such as automatically generate a Rust library for Cardano metadata specifications!