Sablier is a decentralised app for continuous salaries on Ethereum. Read this article to find out more about our mission. For a demo, see this video.
Please take note that this is experimental, beta software and is provided on an "as is" and "as available" basis. We do not give any warranties and will not be liable for any loss, direct or indirect through continued use of this codebase.
Sablier is maintained as a monorepo with multiple sub packages. Please find a comprehensive list below.
Package | Version | Description |
---|---|---|
@sablier/dev-utils |
Dev utils to be shared across Sablier projects and packages | |
@sablier/payroll |
Payroll dapp contracts | |
@sablier/protocol |
Solidity smart contracts & tests |
Package | Description |
---|---|
@sablier/eslint-config |
Eslint config |
@sablier/frontend |
Frontend app |
@sablier/landing |
Landing page |
If you simply want to check out the beta dapp, you should head to beta.sablier.app!
If you want to run it locally:
$ cd packages/frontend
$ yarn install && yarn build
If you want to test Sablier on Rinkeby, make sure to create a .env
file and mirror the contents of
.env.example
. In that file, you can also include any other variables and they will be set in process.env
.
Finally:
$ yarn run start
You will also need some testnet DAI, which you can get by calling the mint
method of this contract.
For all other commands, check out the contribution guide below.
We highly encourage participation from the community to help shape the development of Sablier. If you are interested in contributing or have any questions, please ping us on Twitter.
We use Yarn as a dependency manager and Truffle as a development environment for compiling, testing, and deploying our contracts. The contracts were written in Solidity.
- yarn >=1.15.2
- truffle >= 5.0.19
- solidity >=0.5.0 <0.6.0
Make sure you are using Yarn >=1.15.2. To install using homebrew:
$ brew install yarn
Then install dependencies:
$ yarn install
To re-build all packages on change:
$ yarn watch
To clean all packages:
$ yarn clean
To clean a specific package:
$ PKG=@sablier/protocol yarn clean
To lint all packages:
$ yarn lint
To lint a specific package:
$ PKG=@sablier/protocol yarn lint
To run all tests:
$ yarn test
To run tests in a specific package:
$ PKG=@sablier/protocol yarn test