@openstfoundation/openst-contracts v0.10.0-beta.2
OpenST Contracts - Empowering Decentralized Economies
OpenST Contracts is a collection of smart contracts that enable developers to program Token Economies.
Getting Started
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.
Prerequisites
Project requires node and npm to be installed on dev machine.
Cloning
In case of fresh clone, use --recursive-submodules option while cloning:
git clone --recursive-submodules git@github.com:OpenSTFoundation/openst-contracts.gitTo update git submodules for already cloned repos, run:
git submodule update --init --recursiveInstalling
Install npm packages, by running:
npm installAfterwards, add ./node_modules/.bin to PATH environment variable:
export PATH=./node_modules/.bin:${PATH}Compiling the contracts
The following npm script compiles updated contracts from the last call:
npm run compile, to compile all contracts, run:
npm run compile-allLinters
Solidity
In openst-contracts to lint solidity files we use Ethlint.
The following npm script lints all contracts within ./contracts directory:
npm run lint:solEthlint is able to fix a subset of rules.
The following npm script fixes (only a subset of rules) contracts within ./contracts directory:
npm run lint:sol:fixJS
ESLint is used to lint js files.
To lint all js files within ./test directory, run:
npm run lint:jsESLint is able to fix a subset of rules. To fix js files, run:
npm run lint:js:fixRunning the tests
Before running the tests run ganache-cli by:
npm run ganache-cliRun tests by calling:
npm run testContributing
Please read CODE_OF_CONDUCT.md for details on our code of conduct, and the process for submitting pull requests to us.
Versioning
We use SemVer for versioning. For the versions available, see the tags on this repository.
Authors
See also the list of contributors who participated in this project.
License
This contracts are licensed under the Apache License Version 2.0 - see the LICENSE.md file for details.