This library is the main-entry point for any developer wanting to work with the Civil ecosystem. It abstracts communication with the Ethereum blockchain as well as storing and loading articles from file storage servers.
yarn add @joincivil/core
Check the documentation directory for more
Civil's ecosystem is free and open-source, we're all part of it and you're encouraged to be a part of it with us. Best place to start hacking would be to use this package and build some application on top of the protocol.
Developing on ganache
This package has artifacts with singleton addresses of smart-contracts deployed on multiple Ethereum networks, one of which is our Ganache instance, that is set-up to be completely predictable.
This means that whenever we run migrations on
@joincivil/contracts in Ganache, the addresses are gonna be the same as the ones included in this packages.
Migrations are run automatically when
yarn ganache in the root of monorepo is called.
Civil.ts uses auto-generated code from Smart-Contract .json artifacts.
yarn build or explicitly
yarn generate to create them in the
src/contracts/generated/ directory, afterwards develop as normal.
Adding new smart-contracts
- Write new or change some smart-contracts in
- Add migration files and build.
yarn ganachein the root to make migrations
cp ../contracts/build/artifacts/MyContract.json ./src/artifacts/(merge manually if deployed on Rinkeby or Mainnet)
- Enjoy automatically generated code
The templates for code generation can be found