Tool for analyzing smart contracts using mythril
Follow next steps for getting heimdall badge:
- Badge URL:
https://heimdall.maddevs.io/badge/github/<owner>/<repository>
- Report URL:
https://heimdall.maddevs.io/report/github/<owner>/<repository>
- Markdown badge:
[![Heimdall Scanner](https://heimdall.maddevs.io/badge/github/<owner>/<repository>)](https://heimdall.maddevs.io/report/github/<owner>/<repository>)
- HTML badge:
<a href="https://heimdall.maddevs.io/report/github/<owner>/<repository>">
<img src="https://heimdall.maddevs.io/badge/github/<owner>/<repository>">
</a>
Notes: replace owner and github url path.
- Install mythril via pypi Mythril require additional setup doc from mythril source code:
Whenever you disassemble or analyze binary code, Mythril will try to
resolve function names using its local signature database. The database
must be provided at ``~/.mythril/signatures.json``. You can start out
with the `default file <signatures.json>`__ as follows:
::
$ cd ~/.mythril
$ wget https://raw.githubusercontent.com/b-mueller/mythril/master/signatures.json
::
- Install project dependencies:
$ pip install -r requirements.txt
- Go to project scanner dir
$ cd scanner
- Create github personal token:
https://github.com/settings/tokens - Setup firebase connection:
- FIREBASE_CERTIFICATE
Take certificate from Project Settings -> Service account -> Generate new private key
Place this certificate inside project root. - FIREBASE_DATABASE
Database url from Firebase real-time database settings.
- Run ginicorn:
Temporary define large timeout, will be fixed:
$ gunicorn main:run --bind localhost:8000 --worker-class aiohttp.GunicornWebWorker -e GITHUB_TOKEN=<token_here> -e FIREBASE_CERTIFICATE=<FIREBASE_CERTIFICATE_PATH> -e FIREBASE_DATABASE=<FIREBASE_DATABASE> -t 200 --reload