Expand description

A library for interacting with the Concordium blockchain. The library is structured around multiple modules.

  • v2 contains the main entrypoint to the library. In particular it contains the Client struct which maintains a connection to the node, and supports queries and node manipulation. This client uses gRPC API version 2 of the Concordium node.
  • constants contains a number of constants and type definitions that are relevant when using the chain.
  • types contains most type definitions to model responses as well as types defining transactions. The latter are in a submodule types::transactions.

In addition to these, the library re-exports a number of core crates that implement the core cryptographic protocols of the Concordium blockchain.

  • id is the implementation of most of the protocols in the identity layer
  • common has some common type definitions, as well as traits and helpers for binary serialization
  • encrypted_transfers implements structures and zero knowledge proofs related to encrypted transfers
  • eddsa_ed25519 is a re-export of the signature scheme used for blocks and accounts on the Concordium blockchain.
  • aggregate_sig is a re-export of the BLS signature scheme, used by the finalizers.
  • ecvrf is a re-export of the implementation of the VRF function used to determine lottery winners in consensus.

Re-exports§

Modules§

  • Re-export of functionality for constructing and verifying aggregate signatures. This is useful for constructing baker transactions. Implementation of aggregate signatures specified in https://datatracker.ietf.org/doc/html/draft-irtf-cfrg-bls-signature-04
  • Types and functions for working with CIS-0 smart contracts. This module contains types and functions for interacting with smart contracts following the CIS-0 specification.
  • Types and functions for working with CIS-2 smart contracts. This module contains types and functions for interacting with smart contracts following the CIS-2 specification.
  • Types and functions for working with CIS-4 credential registry standard contracts. This module contains types and functions for interacting with smart contracts following the CIS-4 specification.
  • Re-export of common helper functionality. Common types and operations used throughout the Concordium chain development.
  • Various constants and types that apply to the chain.
  • A generic client for interacting with smart contracts. This module contains a generic client that provides conveniences for interacting with any smart contract instance, as well as for creating new ones.
  • Re-export the VRF function implementation. Implementation of the verifiable random function as specified in https://datatracker.ietf.org/doc/html/draft-irtf-cfrg-vrf-09.
  • Re-export of Elgamal encryption. A few helpers around the dalek ed25519 signature scheme.
  • Re-export of functionality for constructing and verifying encrypted transfers. This library provides the API needed by the chain, the wallet, and the supporting tools to deal with encrypted amounts.
  • Wrapper for the node’s GRPC API. The return values are parsed and wrapped in structured values.
  • Re-export of the identity library. This module and its submodules implement the Concordium identity layer, providing the core functionality for all entities involved (users, identity providers, and the chain).
  • Support for writing indexers using the Rust SDK.
  • Functionality related to smart contracts.
  • Type definitions used throughout the rest of the SDK.
  • A client for the concordium node gRPC API version 2. This module exposes Client which is a wrapper around the generated gRPC rust client, providing a more ergonomic interface than the generated client. See Client for documentation of how to use.
  • Functionality for retrieving, verifying, and registering web3id credentials.