From f54afd889c24df296c92b7a7b06dec287bc2b9b9 Mon Sep 17 00:00:00 2001 From: Bernhard Mueller Date: Sat, 30 Sep 2017 11:59:42 +0700 Subject: [PATCH] Update README.md --- README.md | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index f2b1093a..2aca867e 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ Mythril is a bug hunting tool and framework for the Ethereum blockchain. -## Installation +## Installation and setup Install from Pypi: @@ -18,7 +18,23 @@ $ cd mythril $ python setup.py install ``` -## Usage +You also need a [go-ethereum](https://github.com/ethereum/go-ethereum) node that is synced with the network (not that Mythril uses non-standard RPC APIs offered by go-ethereum, so other clients likely won't work). Start the node as follows: + +```bash +$ geth --rpc --rpcapi eth,admin,debug --syncmode fast +``` + +### Database initialization + +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. + +```bash +$ ./mythril --init-db +Starting synchronization from latest block: 4323706 +Processing block 4323000, 3 individual contracts in database +(...) +``` +## Command line usage -- TODO --