Register Smart Contracts on the Contract Registry

The Contract Registry stores the following information:

  • Reference, composed of:
  • Name: name as an identifier.
  • Tag: tag as the version.

  • Artifact, composed of the following elements:

  • smart contract’s Application Binary Interface (ABI).
  • smart contract’s ByteCode (used to deploy smart contracts).
  • smart contract’s DeployedByteCode (used to keep track of smart contracts deployed on-chain).

There are two ways for a Smart Contract to be registered on the Contract Registry:

  1. Automatically: Publishing to the registry during continuous integration pipelines.
  2. Manually: Interacting with the Contract Registry through the following methods:
    • RegisterContract: to upload a smart contract specifying a name, a tag to version the contract, and its corresponding ABIs, bytecode, and DeployedBytecode.
    • GetContractABI: to retrieve ABI of a smart contract.
    • GetContractBytecode: to retrieve Bytecode of a smart contract.
    • GetContractDeployedBytecode: to retrieve DeployedBytecode of a smart contract.
    • GetCatalog: to retrieve the whole catalog of smart contracts on the registry.
    • GetTags: to retrieve the tags associated to one specific smart contract.
    • DeregisterContract: to remove the reference to an smart contract from the registry, but keeping the Artifact.
    • DeleteArtifact: used to delete the Artifact (ABI + bytecode + DeployedBytecode) but not the reference on the Contract-Registry. We recommend to use this method only in exceptional cases-.

Access the Contract Registry using the SDK and the REST API.