Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/vittominacori/solidity-starter-kit
A starter kit for Ethereum Smart Contracts development
https://github.com/vittominacori/solidity-starter-kit
ethereum hardhat openzeppelin smart-contracts solidity truffle
Last synced: 17 days ago
JSON representation
A starter kit for Ethereum Smart Contracts development
- Host: GitHub
- URL: https://github.com/vittominacori/solidity-starter-kit
- Owner: vittominacori
- License: mit
- Created: 2019-01-14T21:20:43.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2023-05-24T08:58:23.000Z (over 1 year ago)
- Last Synced: 2023-05-24T09:33:36.750Z (over 1 year ago)
- Topics: ethereum, hardhat, openzeppelin, smart-contracts, solidity, truffle
- Language: JavaScript
- Homepage: https://vittominacori.github.io/solidity-starter-kit/
- Size: 2.37 MB
- Stars: 26
- Watchers: 2
- Forks: 13
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
---
title: Easily build your smart contracts
---# Solidity Starter Kit
[![CI](https://github.com/vittominacori/solidity-starter-kit/workflows/CI/badge.svg?branch=master)](https://github.com/vittominacori/solidity-starter-kit/actions/)
[![Coverage Status](https://coveralls.io/repos/github/vittominacori/solidity-starter-kit/badge.svg)](https://coveralls.io/github/vittominacori/solidity-starter-kit)
[![MIT licensed](https://img.shields.io/github/license/vittominacori/solidity-starter-kit.svg)](https://github.com/vittominacori/solidity-starter-kit/blob/master/LICENSE)A starter kit for Ethereum Smart Contracts development
> :warning: **NOTE**: This repository is no longer updated. Please use [Solidity Toolkit](https://github.com/noncept/solidity-toolkit).
## Development
### Install dependencies
```bash
npm install
```## Usage (using Truffle)
Open the Truffle console
```bash
npm run truffle:console
```### Compile
```bash
npm run truffle:compile
```### Test
```bash
npm run truffle:test
```## Usage (using Hardhat)
Open the Hardhat console
```bash
npm run hardhat:console
```### Compile
```bash
npm run hardhat:compile
```### Test
```bash
npm run hardhat:test
```### Code Coverage
```bash
npm run hardhat:coverage
```## Linter
Use Solhint
```bash
npm run lint:sol
```Use ESLint
```bash
npm run lint:js
```Use ESLint and fix
```bash
npm run lint:fix
```## Use web3 console in your browser (i.e. to use MetaMask)
By default it takes contracts compiled with Truffle.
To use Hardhat compiled contracts change `./build/contracts` with `./artifacts` in `bs-config.json`
```bash
npm run dev
```## Flattener
This allow to flatten the code into a single file
Edit `scripts/flat.sh` to add your contracts
```bash
npm run flat
```## Analysis
Note: it is better to analyze the flattened code to have a bigger overview on the entire codebase. So run the flattener first.
### Describe
The `describe` command shows a summary of the contracts and methods in the files provided
```bash
surya describe dist/SampleContract.dist.sol
```### Dependencies
The `dependencies` command outputs the c3-linearization of a given contract's inheirtance graph. Contracts will be listed starting with most-derived, ie. if the same function is defined in more than one contract, the solidity compiler will use the definition in whichever contract is listed first.
```bash
surya dependencies SampleContract dist/SampleContract.dist.sol
```
### Generate ReportEdit `scripts/analyze.sh` to add your contracts
```bash
npm run analyze
```The `inheritance` command outputs a DOT-formatted graph of the inheritance tree.
The `graph` command outputs a DOT-formatted graph of the control flow.
The `mdreport` command creates a markdown description report with tables comprising information about the system's files, contracts and their functions.
The `sol2uml` generates UML class diagram from Solidity contracts.
## License
Code released under the [MIT License](https://github.com/vittominacori/solidity-starter-kit/blob/master/LICENSE).