OpenST Contracts is a collection of smart contracts that enable developers to program Token Economies.
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.
Project requires node and npm to be installed on dev machine.
In case of fresh clone, use --recursive-submodules
option while cloning:
git clone --recursive-submodules [email protected]:openst/openst-contracts.git
To update git submodules for already cloned repos, run:
git submodule update --init --recursive
Install npm packages, by running:
npm install
Afterwards, add ./node_modules/.bin
to PATH
environment variable:
export PATH=./node_modules/.bin:${PATH}
The following npm script compiles updated contracts from the last call:
npm run compile
, to compile all contracts, run:
npm run compile-all
In openst-contracts
to lint solidity files we use Ethlint.
The following npm script lints all contracts within ./contracts
directory:
npm run lint:sol
Ethlint 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:fix
ESLint is used to lint js files.
To lint all js files within ./test
directory, run:
npm run lint:js
ESLint is able to fix a subset of rules. To fix js files, run:
npm run lint:js:fix
Before running the tests run ganache-cli
by:
npm run ganache-cli
Run tests by calling:
npm run test
Please read CODE_OF_CONDUCT.md for details on our code of conduct, and the process for submitting pull requests to us.
We use SemVer for versioning. For the versions available, see the tags on this repository.
See also the list of contributors who participated in this project.
This contracts are licensed under the Apache License Version 2.0 - see the LICENSE.md file for details.