Giter VIP home page Giter VIP logo

libbitcoin's Introduction

All files in this repository fall under the license specified in LICENSE
The project is licensed as AGPL with a lesser clause. It may be used within
a proprietary project, but the core library and any changes to it must be
published online. Source code for this library must always remain free for
everybody to access.

==========================
Debian/Ubuntu Instructions
==========================

Note that you need g++ 4.7 or higher. For this reason Ubuntu 12.04 and older are not supported.

  VVVVVVVVVVV
> Start Here! <
  ^^^^^^^^^^^

  $ sudo apt-get install build-essential autoconf automake libtool libboost-all-dev pkg-config libcurl4-openssl-dev libleveldb-dev
  $ autoreconf -i
  $ ./configure --enable-leveldb
  $ make
  $ sudo make install
  $ sudo ldconfig

libbitcoin is now installed in /usr/local/.

* Ubuntu Precise Pangolin requires libboost1.48-all-dev instead of
  libboost-all-dev above.

--------
Advanced
--------

Files Open Limit
----------------

For the blockchain database, set the max open files limit higher.
The default limit on most Linux systems is too low.

  $ ulimit -n 4096

Core Dependencies
-----------------

You will need:

  - GCC 4.7 or newer
  - Boost 1.48 or newer
  - OpenSSL 0.9 or newer
  - LevelDB

Install Prefix
--------------

'./configure' accepts a --prefix switch. This is useful if you prefer to
install libbitcoin to a local directory instead.

  $ ./configure --enable-leveldb --prefix /home/genjix/usr/
  $ make
  $ make install

Then add these environment variables to the end of your ~/.bashrc to point
software to your local installation. Otherwise software will have trouble
finding the libbitcoin install.

  export LD_LIBRARY_PATH=~/usr/lib/
  export PKG_CONFIG_PATH=~/usr/lib/pkgconfig/

'./configure' also accepts the following flags:
  --enable-testnet (enables the alternative blockchain used for testing)
  --enable-debug   (verbose output)

Compile/Build Flags
-------------------

pkg-config can be invoked to get the neccessary compile and build flags
for creating software using libbitcoin.

  $ pkg-config --cflags --libs libbitcoin

--------
Examples
--------

Start with the examples/ to see a few sample programs:

  $ cd examples/
  $ make
  # Play around with private keys.
  $ ./priv
  # Initialize a new LevelDB blockchain database.
  $ mkdir database
  $ ./initchain database/
  # Run the fullnode example (validates blocks and transactions).
  $ ./fullnode

=======================
Arch Linux Instructions
=======================

Libbitcoin is available from the AUR: https://aur.archlinux.org/packages/libbitcoin-leveldb-git/ 

====================
Mac OSX Instructions
====================

To build on Mac OSX, you will need to download and compile your own boost,
leveldb using gcc 4.7 before building libbitcoin. Then set the following
environment variables before running the build process.

  CC=/usr/local/bin/gcc-4.7
  CXX=/usr/local/bin/g++-4.7

For Mac OSX Mountain Lion, you need to follow these brew commands:

  $ brew install boost openssl leveldb
  $ brew tap homebrew/versions
  $ brew install gcc48
  # Can be replaced back later if you prefer, but
  # keeping the new g++ is a good idea.
  $ sudo ln -sf /usr/local/bin/g++-4.8 /usr/bin/g++


  $ autoreconf -i
  $ ./configure --enable-leveldb
  $ make
  $ sudo make install

libbitcoin's People

Contributors

genjix avatar kdomanski avatar evoskuil avatar phantomcircuit avatar bobalot avatar pablocastellano avatar swansontec avatar veox avatar changlan 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.