Smart Contracts

Smart contracts that provide functionality for the Züs System

Smart Contracts

Smart contracts are self-executing programmatic contracts listing the functionality and the terms of service between the clients and Züs systems.

In Züs, we have actively 3 smart contracts:

Storage smart contract

The Storage smart contract is responsible for handling all functions related to file storage on the Züs network. This includes creating and managing allocations, locking and unlocking stake pools for storage providers, functions related to storage providers (blobbers and validators), write markers and challenges.

Miner smart contract

The Miner smart contract is responsible for handling all functions related to providers that contribute to block generation and consensus (miners and sharders). This includes addition, health signals, termination, fees, rewards, staking and global settings of those types of providers.

ZCN smart contract

The Authorizer smart contract is responsible for handling all functions related to Bridge protocol and inter-network tokenomics between Züs Network and Ethereum network. This includes addition, staking and management of Authorizers in addition to mint and burn functions.

ERC-20 smart contracts

Those are smart contracts that are deployed by Züs team on the Ethereum network. They're used to fulfill the operations needed to exchange Züs tokens (ZCN) with ERC-20 (we call it the Bridge Protocol).

Communicating with smart contracts using transactions

In order to communicate with the smart contracts, you need to:

  • Submit a transaction to the blockchain, stating the smart contract and the function name you need, and providing the inputs needed for the function.

  • The transaction need to be signed by the client's private key as it will be verified by the network using the client's public key.

  • After submitting the transactions, it will then be selected by the miners to be part of one of the blocks and then be processed.

  • After processing the transaction, the network will generate a confirmation for the transaction, inclusing its status and output. This confirmation will be persisted by the sharders.

  • The client should communicate with the sharders in order to get confirmation for their transaction, to make sure it's processed and view its status and output.

Check Using the Network > Smart contracts for full listing of the possible functions and the structure of the transaction.

Last updated