Skip to content

Smart contracts that provide some of the basic functions of the FIO blockchain

License

Notifications You must be signed in to change notification settings

fioprotocol/fio.contracts

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FIO.Contracts

The Foundation for Interwallet Operability (FIO) or, in short, the FIO Protocol, is an open-source project based on EOSIO 1.8+. The smart contracts provide the basic functions of the FIO blockchain automating the execution of "agreements" by the blockchain producers for such things as account creation and use, fees, and voting.

Contract Summary

This repository contains examples of these privileged contracts that are useful when deploying, managing, and/or using an FIO blockchain. They are provided for reference purposes:

The following unprivileged contract(s) are also part of the system.

License

FIO Contracts License

The included icons are provided under the same terms as the software and accompanying documentation, the MIT License. We welcome contributions from the artistically-inclined members of the community, and if you do send us alternative icons, then you are providing them under those same terms.

Release Information

Build Information

The build script is located in main directory. Note that smart contracts are NOT installed per say; they are uploaded to the chain via clio, if a development chain, or via a multi-sig if a production chain.

Build

The build script is straight-forward; it checks for any dependencies, then builds the contracts, putting the artifacts into the build directory.

To build, first change to the ~/fioprotocol/fio.contracts folder, then execute the script as follows:

./build.sh

The build process writes all content to the build folder.

Dependencies:

fio.cdt fio.cdt, version 1.5.x, must be installed onto the build machine in order for the contracts to successfully build. As such, the fio.contracts build script will automatically install the cdt (contract development toolkit), however, a manual build may be done by cloning the fio.cdt repo, then running build.sh and install.sh. Note that the fio.cdt artifacts are installed into /usr/local under the folder eosio.cdt and links are created to these artifacts in /usr/local/bin. Note: fio.cdt is a customized version of eosio.cdt but as such any installed artifacts retain the prefix of eosio.

fio While the FIO core blockchain is not a direct dependency of fio.contracts, in order to successfully execute contract functionality, getters may be called that are part of the blockchain. FIO contracts are backward compatible* to multiple versions of the blockchain. The latest release of fio.contracts aligns to the latest release of the fio.blockchain. The latest release may be found here.

  • A forking change, one that includes a change to protocol, or the basic set of rules of that blockchain, mandates a minimum version of the blockchain that a version of that chain's contracts may operate successfully.