Skip to main content

Core Contracts

There are currently 6 core smart contracts that are always deployed on each chain. These are responsible for the vital functions of the chain and provide infrastructure for all other smart contracts:

  • root - Responsible for the initialization of the chain, maintains registry of deployed contracts.

  • _default: Any request that cannot be handled by any of the other deployed contracts ends up here.

  • accounts: Responsible for the on-chain ledger of accounts (who owns what).

  • blob: Responsible for the immutable registry of binary objects of arbitrary size. One blob is a collection of named binary chunks of data. For example, a blob can be used to store a collections of wasm binaries, needed to deploy WebAssembly smart contracts. Each blob in the registry is referenced by its hash which is deterministically calculated from its data.

  • blocklog: Keeps track of the blocks and receipts of requests which were processed by the chain. It also contains all events emitted by smart contracts.

  • governance: Handles the administrative functions of the chain. For example: rotation of the committee of validators of the chain, fees and other chain-specific configurations.