RootProject Contracts pre-alpha v0.1
RootProject is a crowdfunding platform for social projects powered by a crypto currency.
Smart Contract I: ProjectValidation - under construction.
Smart Contract II: PensionFundRelease - the "medium-term pension fund", as described in the RootProject whitepaper. The contract freezes funds for a custom period of time, and releases funds continously after the approval of validators.
function vote(bool approve, string justification) onlyValidator returns (uint index)
Generates a vote for the fund to release or burn, and it's justification.
function isReleaseApproved() constant returns (bool approved)
Checks if release approved by all validators.
function isBurnApproved() constant returns (bool approved)
Checks if burn approved by all validators.
function getPaymentAmount() constant returns (uint amount)
Executes payment calculation.
function balance() constant returns (uint amount)
Returns current fund balance in ROOTs.
function releaseRoots() returns (uint releasedAmount)
Executes fund release.
event Voted(bool approve, address validator, string justification)
Triggered when new vote is deployed.
event Released(uint amount, address worker)
Triggered when fund is released.
- Node.js v7.6.0+
- truffle v3.2.2+
- testrpc v3.0.5+
Requirements installation steps:
- npm install -g truffle ethereumjs-testrpc
- npm install
- truffle install
To run the test, execute the following commands from the project's root folder:
- testrpc &> /dev/null & npm test
All smart contracts are open source and distributed under the GNU GPL v.3