-
Notifications
You must be signed in to change notification settings - Fork 43
Home
Welcome to medusa
's wiki!
This wiki is broken down as follows:
-
Project Configuration: Learn how to set up
medusa
for your project as well as the vast number of configuration options that can be set up based on your project needs. -
Command Line Interface: Learn how to use
medusa
's CLI! -
Testing with
medusa
: Learn how to perform testing using property mode, assertion mode, and optimization mode! We will discuss what the benefits of each mode are and how to setmedusa
up for each one. -
Cheatcodes: Learn about the various cheatcodes that are supported by
medusa
. Using these cheatcodes will significantly improve the efficiency and code quality of your fuzz tests. -
API Overview: Learn about
medusa
's Go API that can be used to perform advanced testing methodologies and extendmedusa
's capabilities. - Frequently Asked Questions
Why create a new fuzzer if Echidna is already a great fuzzer?
With medusa, we are exploring a different EVM implementation and language for our smart contract fuzzer. While Echidna is already doing an amazing job, medusa offers the following advantages:
- It is written in Go, easing the maintenance and allowing the creation of a native API for future integration into other projects.
- It uses geth as a base, ensuring the EVM equivalence.
Should I switch to medusa right away?
We do not recommend switching to medusa until it is extensively tested. However we encourage you to try it, and let us know your experience. In that sense, Echidna is our robust and well tested fuzzer, while medusa is our new exploratory fuzzer. Follow us to hear updates about medusa as it grows in maturity.
All the previous available documentation from secure-contracts.com will apply to medusa?
In general, yes. All the information on testing approaches and techniques will apply for medusa. There are, however, different configuration options names and a few missing or different features in medusa from Echidna that we will be updating over time.
Learn more about medusa
's project configuration and how to set it up here!
Learn more about how to use medusa
's CLI here!
Learn more about how to write and test your code in property-mode and assertion-mode here