Arc is the base layer of the DAO stack. It consists a set of smart contracts deployed on the Ethereum blockchain that define the basic building blocks and standard components that can be used to implement any DAO.
DAOstack Arc is still in its alpha version. Arc is intended to provide secure, tested and community-audited code, but please use common sense when doing anything that deals with real money! We take no responsibility for your implementation decisions and any security problem you might experience.
- Please install Truffle and initialize your project with
truffle init
.npm install -g truffle mkdir myproject && cd myproject truffle init
- Install the
@daostack/arc
package:npm install @daostack/arc
..sol
Source code is found undernode_modules/@daostack/arc/contracts
.json
Compiled contracts are found undernode_modules/@daostack/arc/build/contracts
- Import in your project:
You should be able to find all
import '@daostack/arc/contracts/universalSchemes/UniversalScheme.sol'; contract MyContract is UniversalScheme { ... }
@daostack/arc
already built contracts (.json) ready for deployment undernode_modules/@daostack/arc/build/contracts/
folder. - Read the documentation to get a better understanding of how to use Arc.
PRs are welcome but please first consult with the Contribution guide.
Join us on Discord!
To contribute to Arc development start by cloning the repo and installing the dependencies:
git clone https://github.com/daostack/arc
cd arc
npm install
Available commands while developing:
npm run build
- Compile all contracts to thebuild/
folder.npm run test
- This will run ganache-cli, compile, migrate and run all tests.npm run lint
- Check all JavaScript code for style & good practices.npm run solium
- Check all Solidity code for style & good practices.npm run docs:<update|build|deploy|preview>
- See this for details.
Arc has a prebuilt Docker image that makes development environments consistent and cross-platform. To start developing inside this environment:
- Install Docker in your favorite OS/platform.
- Run
docker run --rm -it -v <path to repo>:/home/arc daostack/arc
(*May require Admin/root permissions). - The container will automatically
git clone
orgit fetch
depending on if<path to repo>
is empty, and will install any dependencies. - Continue development inside the container.
This is an open-source project (GPL license).