Git Product home page Git Product logo

bitcoin-on-docker's Introduction

bitcoin-testing-on-docker

Steps:

  • Build the docker image: ./build-image.sh
  • Export $BITCOIN_REPO in your shell and point them to the bitcoin core repository locally.
  • Run the docker container: ./run-container.sh. You can now build and run in ubuntu. In that container, you'll find bitcoin core in /bitcoin.

Other useful commands

miscellaneous

Configure to run an optimized fuzzer build

CC=clang CXX=clang++ ./configure --enable-fuzz --with-sanitizers=address,fuzzer,undefined

Run optimized fuzzer

FUZZ=<fuzz_test_name> src/test/fuzz/fuzz /qa-assets/fuzz_seed_corpus/<fuzz_test_name>

Configure to run an unoptimized fuzzer build with debug symbols

CC=clang CXX=clang++ ./configure CXXFLAGS="-O0 -g" CFLAGS="-O0 -g" --enable-fuzz --with-sanitizers=ad dress,fuzzer,undefined

Run debug fuzzer with lldb

FUZZ=<fuzz_test_name> lldb src/test/fuzz/fuzz lldb> run /qa-assets/fuzz_seed_corpus/<fuzz_test_name>

lldb breakpoint and counting

You can set a breakpoint in lldb using br set -f <file> -l <line> -i <ignore_count> You can see how often that breakpoint is hit using br l

NOTE: you only need to use the file name like p2p_transport_serialization.cpp and NOT the fully qualified relative file name like src/text/fuzz/p2p_transport-serialization.cpp

To build

Since ./run_container.sh allocated 3 CPUs, make -j 3 seems to work well.

bitcoin-on-docker's People

Contributors

dhruv avatar stratospher avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.