Sign inSign up

swaywu/ethscope

By swaywu

•Updated over 6 years ago

Image
0

205

swaywu/ethscope repository overview

⁠EthScope

⁠0. Catalog

1.0⁠

⁠2. About This Image

EthScope papar link: https://arxiv.org/abs/2005.08278⁠

This is the formal version of the EthScope system. The trial version was released in here⁠.

Binarys:

  • elastic-schema: Create the database schema discussed in paper.

  • replay: Replay Engine with instrumentation framework.

  • geth-elastic: Customized Ethereum client Geth, which will collect structured data and store them into Elasticsearch when executing transactions.

⁠3. How to Use This Image

⁠3.1. Start and Attach the Container
docker run --name es -it swaywu/ethscope:<tag>
⁠3.2. Requirements
⁠3.3. Creating Elasticsearch Schema
$ ./bin/elastic-schema -h

Usage of ./elastic-schema:
  -ipsfile string
        Enter the file path storing the ip list (default: 127.0.0.1).
$ ./bin/elastic-schema ./cluster-hosts.json
⁠3.4. Collecting Data

Collecting internal transactions and fine-grained historical states require us to re-execute all transactions in sequence. In order to avoid network latency and temporary fork, we always use the subcommand import provided by Geth to import blocks from genesis one offline. This process is time-consuming, but once for all.

geth-elastic import ./exported-blocks/0_100000

Another subcommand export provided by Geth export blocks into a specified file. For example:

geth --datadir ~/.ethereum/ export ./0_100000 0 100000

Running the above command requires that the user has synchronized the first 100000 blocks as a full node. The synchronization command shows in here:

geth --datadir ~/.ethereum --syncmode full

The newest official geth can be found in https://github.com/ethereum/go-ethereum⁠.

The remaining usage of EthScope is discussed in here⁠.

Tag summary

Content type

Image

Digest

Size

93.3 MB

Last updated

over 6 years ago

docker pull swaywu/ethscope