|
@@ -1,3 +1,80 @@
|
|
|
-## Solidity Template
|
|
|
+# Solidity Template
|
|
|
|
|
|
-To be used when building a new solidity project from scratch.
|
|
|
+My favourite setup for writing Solidity smart contracts.
|
|
|
+
|
|
|
+- [Buidler](https://github.com/nomiclabs/buidler): compile and run the smart contracts on a local development network
|
|
|
+- [TypeChain](https://github.com/ethereum-ts/TypeChain): generate TypeScript types for smart contracts
|
|
|
+- [Ethers](https://github.com/ethers-io/ethers.js/): renowned Ethereum library and wallet implementation
|
|
|
+- [Waffle](https://github.com/Waffle/waffle): tooling for writing comprehensive smart contract tests
|
|
|
+- [Solhint](https://github.com/protofire/solhint): linter
|
|
|
+- [Solcover](https://github.com/sc-forks/solidity-coverage) code coverage
|
|
|
+- [Prettier Plugin Solidity](https://github.com/prettier-solidity/prettier-plugin-solidity): code formatter
|
|
|
+
|
|
|
+This is a GitHub template, which means you can reuse it as many times as you want. You can do that by clicking the "Use this
|
|
|
+template" button at the top of the page.
|
|
|
+
|
|
|
+## Usage
|
|
|
+
|
|
|
+### Pre Requisites
|
|
|
+
|
|
|
+Before running any command, make sure to install dependencies:
|
|
|
+
|
|
|
+```sh
|
|
|
+$ yarn install
|
|
|
+```
|
|
|
+
|
|
|
+### Compile
|
|
|
+
|
|
|
+Compile the smart contracts with Buidler:
|
|
|
+
|
|
|
+```sh
|
|
|
+$ yarn compile
|
|
|
+```
|
|
|
+
|
|
|
+### Build
|
|
|
+
|
|
|
+Compile the smart contracts and generate TypeChain artifacts:
|
|
|
+
|
|
|
+```sh
|
|
|
+$ yarn build
|
|
|
+```
|
|
|
+
|
|
|
+### Lint Solidity
|
|
|
+
|
|
|
+Lint the Solidity code:
|
|
|
+
|
|
|
+```sh
|
|
|
+$ yarn lint:sol
|
|
|
+```
|
|
|
+
|
|
|
+### Lint TypeScript
|
|
|
+
|
|
|
+Lint the TypeScript code:
|
|
|
+
|
|
|
+```sh
|
|
|
+$ yarn lint:ts
|
|
|
+```
|
|
|
+
|
|
|
+### Test
|
|
|
+
|
|
|
+Run the Mocha tests:
|
|
|
+
|
|
|
+```sh
|
|
|
+$ yarn test
|
|
|
+```
|
|
|
+
|
|
|
+### Coverage
|
|
|
+
|
|
|
+Generate the code coverage report:
|
|
|
+
|
|
|
+```sh
|
|
|
+$ yarn coverage
|
|
|
+```
|
|
|
+
|
|
|
+### Clean
|
|
|
+
|
|
|
+Delete the smart contract artifacts, the coverage reports and the Buidler cache:
|
|
|
+
|
|
|
+```sh
|
|
|
+$ yarn clean
|
|
|
+```
|