Average Ratings 0 Ratings
Average Ratings 0 Ratings
Description
The Solidity Fuzzing Boilerplate serves as a foundational template designed to simplify the fuzzing process for various components within Solidity projects, particularly libraries. By writing tests just once, developers can easily execute them using both Echidna and Foundry's fuzzing tools. In instances where components require different versions of Solidity, these can be deployed into a Ganache instance with the help of Etheno. To generate intricate fuzzing inputs or to conduct differential fuzzing by comparing outputs with non-EVM executables, HEVM's FFI cheat code can be utilized effectively. Additionally, you can publish the results of your fuzzing experiments without concerns about licensing issues by modifying the shell script to retrieve specific files. If you do not plan to use shell commands from your Solidity contracts, it is advisable to disable FFI since it can be slow and should primarily serve as a workaround. This functionality proves beneficial when testing against complex implementations that are challenging to replicate in Solidity but are available in other programming languages. It is essential to review the commands being executed before running tests in projects that have FFI activated, ensuring a clear understanding of the operations taking place. Always prioritize clarity in your testing approach to maintain the integrity and effectiveness of your fuzzing efforts.
Description
The hevm project serves as a tailored implementation of the Ethereum Virtual Machine (EVM) designed for tasks like symbolic execution, unit testing, and debugging of smart contracts. Created by DappHub, it seamlessly integrates with the suite of tools offered by the same developer. The hevm command line interface enables users to symbolically execute smart contracts, conduct unit tests, debug contracts interactively while displaying the Solidity source code, or execute any arbitrary EVM code. It allows computations to be carried out using a local state established within a testing framework or retrieved from live networks through RPC calls. Users can initiate symbolic execution with specified parameters to detect assertion violations and can also customize certain function signature arguments while keeping others abstract. Notably, hevm adopts an eager approach to symbolic execution, meaning that it initially strives to investigate all branches of the program. This comprehensive method enhances the reliability and robustness of smart contract development and testing.
API Access
Has API
No
API Access
Has API
No
Integrations
Solidity
Yes
Echidna Finance
Yes
Etheno
Yes
Ethereum
No
Foundry
Yes
Integrations
Solidity
Yes
Echidna Finance
No
Etheno
No
Ethereum
Yes
Foundry
No
Pricing Details
Free
Free Trial
No
Free Version
Yes
Pricing Details
Free
Free Trial
No
Free Version
Yes
Deployment
Web-Based
No
On-Premises
No
iPhone App
No
iPad App
No
Android App
No
Windows
Yes
Mac
Yes
Linux
Yes
Chromebook
No
Deployment
Web-Based
No
On-Premises
No
iPhone App
No
iPad App
No
Android App
No
Windows
Yes
Mac
Yes
Linux
Yes
Chromebook
No
Customer Support
Business Hours
No
Live Rep (24/7)
No
Online Support
Yes
Customer Support
Business Hours
No
Live Rep (24/7)
No
Online Support
Yes
Types of Training
Training Docs
Yes
Webinars
No
Live Training (Online)
No
In Person
No
Types of Training
Training Docs
Yes
Webinars
No
Live Training (Online)
No
In Person
No
Vendor Details
Company Name
patrickd
Website
github.com/patrickd-/solidity-fuzzing-boilerplate
Vendor Details
Company Name
DappHub
Website
github.com/dapphub/dapptools/blob/master/src/hevm/README.md