The design of the EOSIO blockchain calls for a number of smart contracts that are run at a privileged permission level in order to support functions such as block producer registration and voting, token staking for CPU and network bandwidth, RAM purchasing, multi-sig, etc. These smart contracts are referred to as the system, token, msig and sudo contracts.
This repository contains examples of these privileged contracts that are useful when deploying, managing, and/or using an EOSIO blockchain. They are provided for reference purposes:
The following unprivileged contract(s) are also part of the system.
Dependencies:
To build the contracts and the unit tests:
- First, ensure that your eosio is compiled to the core symbol for the EOSIO blockchain that intend to deploy to.
- Second, make sure that you have
sudo make install
ed eosio. - Then just run the
build.sh
in the top directory to build all the contracts and the unit tests for these contracts.
After build:
- The unit tests executable is placed in the build/tests and is named unit_test.
- The contracts are built into a bin/<contract name> folder in their respective directories.
- Finally, simply use cleos to set contract by pointing to the previously mentioned directory.