You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+22-22Lines changed: 22 additions & 22 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,30 +1,30 @@
1
-
# System Contracts
1
+
# EOS system contracts
2
2
3
-
System contracts are a collection of contracts deployable to an EOSIO blockchain that implement a lot of critical functionality that is expected from blockchains. For example, the concept of the core token of the blockchain is introduced through the system contracts. In addition, the system contracts can build upon primitives provided by the base EOSIO protocol to enable more useful capabilities, such as:
4
-
* decentralized, open-access resource management through staking tokens or paying fees which builds upon the EOSIO protocol's primitive mechanism of assigning resource quotas to accounts;
5
-
* higher-level consensus mechanisms (e.g. Delegated Proof of Stake or Proof of Authority) which build upon the EOSIO protocol's base consensus algorithm that advances finality of blocks based on confirmations from a selected set of block producers.
3
+
EOS system contracts are a collection of contracts deployable to an [Antelope](https://github.com/AntelopeIO) blockchain, but specifically designed for the EOS blockchain, which implements a lot of critical functionality that is expected from blockchains. For example, the concept of the core token of the blockchain is introduced through the system contracts. In addition, the system contracts can build upon primitives provided by the base EOSIO protocol to enable more useful capabilities, such as:
4
+
* decentralized, open-access resource management through staking tokens or paying fees which builds upon the Antelope protocol's primitive mechanism of assigning resource quotas to accounts;
5
+
* higher-level consensus mechanisms (e.g. Delegated Proof of Stake or Proof of Authority) which build upon the Antelope protocol's base consensus algorithm that advances finality of blocks based on confirmations from a selected set of block producers.
6
6
7
7
The collection of system contracts consists of the following individual contracts:
8
8
9
9
*[boot contract](contracts/eosio.boot/include/eosio.boot/eosio.boot.hpp): A minimal contract that only serves the purpose of activating protocol features which enables other more sophisticated contracts to be deployed onto the blockchain. (Note: this contract must be deployed to the privileged `eosio` account.)
10
10
*[bios contract](contracts/eosio.bios/include/eosio.bios/eosio.bios.hpp): A simple alternative to the core contract which is suitable for test chains or perhaps centralized blockchains. (Note: this contract must be deployed to the privileged `eosio` account.)
11
11
*[token contract](contracts/eosio.token/include/eosio.token/eosio.token.hpp): A contract enabling fungible tokens.
12
-
*[core contract](contracts/eosio.system/include/eosio.system/eosio.system.hpp): A monolithic contract that includes a variety of different functions which enhances a base EOSIO blockchain for use as a public, decentralized blockchain in an opinionated way. (Note: This contract must be deployed to the privileged `eosio` account. Additionally, this contract requires that the token contract is deployed to the `eosio.token` account and has already been used to setup the core token.) The functions contained within this monolithic contract include (non-exhaustive):
12
+
*[core contract](contracts/eosio.system/include/eosio.system/eosio.system.hpp): A monolithic contract that includes a variety of different functions which enhances a base Antelope blockchain for use as a public, decentralized blockchain in an opinionated way. (Note: This contract must be deployed to the privileged `eosio` account. Additionally, this contract requires that the token contract is deployed to the `eosio.token` account and has already been used to setup the core token.) The functions contained within this monolithic contract include (non-exhaustive):
13
13
+ Delegated Proof of Stake (DPoS) consensus mechanism for selecting and paying (via core token inflation) a set of block producers that are chosen through delegation of the staked core tokens.
14
14
+ Allocation of CPU/NET resources based on core tokens in which the core tokens are either staked for an indefinite allocation of some fraction of available CPU/NET resources, or they are paid as a fee in exchange for a time-limited allocation of CPU/NET resources via REX or via PowerUp.
15
15
+ An automated market maker enabling a market for RAM resources which allows users to buy or sell available RAM allocations.
16
16
+ An auction for bidding for premium account names.
17
-
*[multisig contract](contracts/eosio.msig/include/eosio.msig/eosio.msig.hpp): A contract that enables proposing EOSIO transactions on the blockchain, collecting authorization approvals for many accounts, and then executing the actions within the transaction after authorization requirements of the transaction have been reached. (Note: this contract must be deployed to a privileged account.)
18
-
*[wrap contract](contracts/eosio.wrap/include/eosio.wrap/eosio.wrap.hpp): A contract that wraps around any EOSIO transaction and allows for executing its actions without needing to satify the authorization requirements of the transaction. If used, the permissions of the account hosting this contract should be configured to only allow highly trusted parties (e.g. the operators of the blockchain) to have the ability to execute its actions. (Note: this contract must be deployed to a privileged account.)
17
+
*[multisig contract](contracts/eosio.msig/include/eosio.msig/eosio.msig.hpp): A contract that enables proposing Antelope transactions on the blockchain, collecting authorization approvals for many accounts, and then executing the actions within the transaction after authorization requirements of the transaction have been reached. (Note: this contract must be deployed to a privileged account.)
18
+
*[wrap contract](contracts/eosio.wrap/include/eosio.wrap/eosio.wrap.hpp): A contract that wraps around any Antelope transaction and allows for executing its actions without needing to satisfy the authorization requirements of the transaction. If used, the permissions of the account hosting this contract should be configured to only allow highly trusted parties (e.g. the operators of the blockchain) to have the ability to execute its actions. (Note: this contract must be deployed to a privileged account.)
19
19
20
20
## Repository organization
21
21
22
-
The `main` branch contains the latest state of development; do not use this for production. Refer to the [releases page](https://github.com/eosnetworkfoundation/mandel-contracts/releases) for current information on releases, pre-releases, and obsolete releases as well as the corresponding tags for those releases.
22
+
The `main` branch contains the latest state of development; do not use this for production. Refer to the [releases page](https://github.com/eosnetworkfoundation/eos-system-contracts/releases) for current information on releases, pre-releases, and obsolete releases as well as the corresponding tags for those releases.
23
23
## Supported Operating Systems
24
24
25
-
[CDT](https://github.com/eosnetworkfoundation/mandel.cdt) is required to build contracts. Any operating systems supported by CDT is sufficient to build the system contracts.
25
+
[CDT](https://github.com/AntelopeIO/cdt) is required to build contracts. Any operating systems supported by CDT is sufficient to build the system contracts.
26
26
27
-
To build and run the tests as well, [EOSIO](https://github.com/eosnetworkfoundation/mandel) is also required as a dependency, which may have its further restrictions on supported operating systems.
27
+
To build and run the tests as well, [Leap](https://github.com/AntelopeIO/leap) is also required as a dependency, which may have its further restrictions on supported operating systems.
28
28
## Building
29
29
30
30
The build guide below will assume you are running Ubuntu 20.04. However, as mentioned above, other operating systems may also be supported.
@@ -33,44 +33,44 @@ The build guide below will assume you are running Ubuntu 20.04. However, as ment
33
33
34
34
The CDT dependency is required. This release of the system contracts requires at least version 3.0 of CDT.
35
35
36
-
The easiest way to satisfy this dependency is to install CDT on your system through a package. Find the release of a compatible version of CDT from its [releases page](https://github.com/eosnetworkfoundation/mandel.cdt/releases), download the package file appropriate for your OS from the attached assets, and install the package.
36
+
The easiest way to satisfy this dependency is to install CDT on your system through a package. Find the release of a compatible version of CDT from its [releases page](https://github.com/AntelopeIO/cdt/releases), download the package file appropriate for your OS from the attached assets, and install the package.
37
37
38
-
Alternatively, you can build CDT from source. Please refer to the guide in the [CDT README](https://github.com/eosnetworkfoundation/mandel.cdt#building) for instructions on how to do this. If you choose to go with building CDT from source, please keep the path to the build directory in the shell environment variable `CDT_BUILD_PATH` for later use when building the system contracts.
38
+
Alternatively, you can build CDT from source. Please refer to the guide in the [CDT README](https://github.com/AntelopeIO/cdt#building-from-source) for instructions on how to do this. If you choose to go with building CDT from source, please keep the path to the build directory in the shell environment variable `CDT_BUILD_PATH` for later use when building the system contracts.
39
39
40
-
### Optionally build EOSIO dependency
40
+
### Optionally build Leap dependency
41
41
42
-
The EOSIO dependency is optional. It is only needed if you wish to also build the tests using the `BUILD_TESTS` CMake flag.
42
+
The Leap dependency is optional. It is only needed if you wish to also build the tests using the `BUILD_TESTS` CMake flag.
43
43
44
-
Unfortunately, it is not currently possible to satisfy the contract testing dependencies through the EOSIO packages made available from the [EOSIO releases page](https://github.com/eosnetworkfoundation/mandel/releases). So if you want to build the contract tests, you will first need to build EOSIO from source.
44
+
Unfortunately, it is not currently possible to satisfy the contract testing dependencies through the Leap packages made available from the [Leap releases page](https://github.com/AntelopeIO/leap/releases). So if you want to build the contract tests, you will first need to build Leap from source.
45
45
46
-
Please refer to the guide in the [EOSIO README](https://github.com/eosnetworkfoundation/mandel/#building-from-source) for instructions on how to do this. If you choose to go with building EOSIO from source, please keep the path to the build directory in the shell environment variable `EOSIO_BUILD_PATH` for later use when building the system contracts.
46
+
Please refer to the guide in the [Leap README](https://github.com/AntelopeIO/leap#building-from-source) for instructions on how to do this. If you choose to go with building Leap from source, please keep the path to the build directory in the shell environment variable `LEAP_BUILD_PATH` for later use when building the system contracts.
47
47
48
48
### Build system contracts
49
49
50
-
Beyond CDT and optionally EOSIO (if also building the tests), no additional dependencies are required to build the system contracts.
50
+
Beyond CDT and optionally Leap (if also building the tests), no additional dependencies are required to build the system contracts.
51
51
52
-
The instructions below assume you are building the system contracts with tests, have already built EOSIO from source, and have the CDT dependency installed on your system. For some other configurations, expand the hidden panels placed lower within this section.
52
+
The instructions below assume you are building the system contracts with tests, have already built Leap from source, and have the CDT dependency installed on your system. For some other configurations, expand the hidden panels placed lower within this section.
53
53
54
54
For all configurations, you should first `cd` into the directory containing cloned system contracts repository.
55
55
56
-
Build system contracts with tests using EOSIO built from source and with installed CDT package:
56
+
Build system contracts with tests using Leap built from source and with installed CDT package:
**Note:**`CMAKE_BUILD_TYPE` has no impact on the WASM files generated for the contracts. It only impacts how the test binaries are built. Use `-DCMAKE_BUILD_TYPE=Debug` if you want to create test binaries that you can debug.
66
66
67
67
<details>
68
-
<summary>Build system contracts with tests using EOSIO and CDT both built from source</summary>
68
+
<summary>Build system contracts with tests using Leap and CDT both built from source</summary>
0 commit comments