buypolarbear / contracts-2

Smart contracts for a decentralised recurring payments protocol on the Ethereum blockchain

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

8X Logo


8x Protocol enables decentralised recurring payments on the Ethereum blockchain. A complete explanation of the protocol may be found in our whitepaper.

Telegram Chat Solidity Apache 2.0

Contributing

We appreciate your desire to contribute to the 8x Protocol. We strive to maintain a high standard over code quality and the security of our contracts. Please read over this contributor guide before starting.

How to Contribute

If you would like to contribute please fork the repo, create a new branch, fix the problem, commit the work with a clear message about what was accomplished, and submit a pull request.

Code Quality

  • When adding functionality, please also add tests and make sure they pass
  • When adding a new function, make sure to add comments that adhere to the format seen throughout the project
  • When fixing conflicts please use rebase
  • When updating your working branch with upstream master changes, please rebase
  • Make sure there are no linter warnings or errors

Style Guide

Editor Settings

Please setup your editor with the following settings for this project.

  • 4 space(soft) indentation
  • strip trailing whitespace
  • 120 char max line length
About Our Standards

The 8x Protocol uses Solhint to maintain high security and code standards within our project. We are following the code standards set forth in the Official Solidity Style Guide and the security standards outlined in the ConsenSys Guide for Smart Contracts.

Style Exceptions

Variables passed into a function should use mixedCase, however, they should be prefixed with an _. This tells us that it is an immutable value passed into the function.

Example:

function example(address _exampleAddress)
    public
{
    ...
}
IDE Integrations for Solhint

Getting Started

Set a remote url for our upstream repo so you can keep your master branch unpolluted and updated.

git remote set-url upstream https://github.com/8xprotocol/contracts.git
Requirements
  • Truffle ^4.1.8
  • Gananche UI
  • NPM
Pre Requisites
npm install
npm install -g solhint
Running Contract Tests
truffle test
Running Style/Security Tests
npm run lint
Running Full Test Suite
npm run test

About

Smart contracts for a decentralised recurring payments protocol on the Ethereum blockchain

License:Other


Languages

Language:JavaScript 100.0%