A smart contract system that orchestrates and operates the SKALE Network.
SKALE Manager controls Nodes, Validators, and SKALE chains. It also contains contracts for managing SkaleToken, Distributed Key Generation (DKG), and Verification of BLS signatures.
This system is upgradeable and uses the Separate Data and Functionality approach.
- ContractManager: main contract of Separate Data and Functionality approach. It stores all contract's addresses in the SKALE Manager system.
- Permissions: connectable contract to every SKALE Manager contract except ContractManager. It stores address of ContractManager and a modifier that forbids calls only from the given contract
All interaction with this system is possible only through SKALE Manager. For all statuses and data, see Data contracts. The main purpose of this system:
- Control Nodes in the system: - Register, Delete
- Control Schains in the system: - Create schain, delete schain - Create group of Nodes for Schain
- Control Validation system: - collect verdicts of Nodes by Validators - charge Bounty
- Clone this repo
- run
yarn install
To create your network, see examples in truffle-config.js
Create a .env
file with following data:
ENDPOINT="your endpoint"
ETH_PRIVATE_KEY="your private key"
NETWORK="your created network"
-
deploy:
truffle migrate --network
Need to deploy the system first
yarn test
Copyright (C) 2018-present SKALE Labs