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 wrap (formerly known as 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:
The ibc contracts had moved to a independent repository ibc_contracts.
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.