Mythril builds its own contract database to enable quick search for opcode sequences, function calls, et cetera. The initial sync is done over RPC. Unfortunately, this process is slow - however, you don't need to sync the whole blockchain to start working. If you abort the syncing process with `ctrl+c`, it will auto-resume the next time you run the `--init-db` command.
Mythril builds its own contract database using RPC sync. Unfortunately, this process is slow - however, you don't need to sync the whole blockchain to start working. If you abort the syncing process with `ctrl+c`, it will auto-resume the next time you run the `--init-db` command.
```bash
$ ./mythril --init-db
$ mythril --init-db
Starting synchronization from latest block: 4323706
Processing block 4323000, 3 individual contracts in database
(...)
@ -39,9 +43,35 @@ The default behavior is to only sync contracts with a non-zero balance. You can
## Command line usage
-- TODO --
The `mythril` command line tool allows you to easily access most of Mythril's functionality.
### Searching the database
The search feature allows you to find contract instances that contain specific function calls and opcode sequences. It supports simple boolean expressions, such as: