Environment

Requirements

Install git, node, and truffle.

Hint

During the development process, truffle@5.5.18 was utilized. Using other truffle versions may be prone to instability when running the coverage plugin.

Clone git

git clone https://github.com/somegit.git
cd ./envious/

Install dependencies

npm install

Usage

Compile smart contracts

truffle compile

Hint

During the development process, Debian GNU/Linux 10 (buster) was utilized. However, attempts to use Hardhat were unsuccessful due to the size of the generated bytecode. It is worth noting that despite using the same optimizer and optimization runs, Hardhat and Truffle produced different results.

Once the smart contracts are compiled, smart contract testing may begin.

truffle test
# OR
truffle run coverage

Please explore ./audits/slither/ for every smart contract in this project or run slither independently.

slither contracts/FILENAME.sol

Advanced users are strongly recommended to use mytril, which is considered one of the best tools for analyzing Solidity smart contracts.