Git Product home page Git Product logo

bitcoinnickel / bitcoinnickel Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 1.0 25.13 MB

Bitcoinnickel is a decentralized Peer-2-Peer open source electronic currency. It's easy to get, completely private, and ready for you today.

Home Page: https://btcnickel.com

License: MIT License

Makefile 1.55% Shell 1.33% M4 2.58% QMake 0.01% Python 14.63% C++ 70.40% C 8.14% HTML 0.22% Objective-C++ 0.07% Sage 0.48% Assembly 0.29% Java 0.31% Dockerfile 0.01%
cryptocurrency p2p rpc-service

bitcoinnickel's Introduction

BitcoinNickel Core

Setup

BitcoinNickel Core is the original BitcoinNickel client and it builds the backbone of the network. It downloads and, by default, stores the entire history of BitcoinNickel transactions; depending on the speed of your computer and network connection, the synchronization process can take anywhere from a few hours to a day or more.

Running

The following are some helpful notes on how to run BitcoinNickel Core on your native platform.

All steps are to be run from your terminal emulator, i.e. the command line.

Ensure the dependencies are installed:

    Linux: sudo apt-get install build-essential libtool autotools-dev automake pkg-config bsdmainutils python3 libssl-dev libevent-dev libboost-system-dev libboost-filesystem-dev libboost-chrono-dev libboost-test-dev libboost-thread-dev libminiupnpc-dev libzmq3-dev libqt5gui5 libqt5core5a libqt5dbus5 qttools5-dev qttools5-dev-tools libprotobuf-dev protobuf-compiler git ccache

    macOS (with command line tools and Homebrew already installed): brew install automake berkeley-db4 libtool boost miniupnpc openssl pkg-config protobuf python qt libevent qrencode ccache

Download the BitcoinNickel source files by git cloning the repository:
    git clone https://github.com/bitcoinNickel/bitcoinnickel.git

Install Berkeley DB (BDB) v4.8, a backward-compatible version needed for the wallet, using the script in /contrib:
    Enter your local copy of the BitcoinNickel repository: cd bitcoinnickel
    Now that you are in the root of the bitcoinnickel repository, run ./contrib/install_db4.sh `pwd`
    Take note of the instructions displayed in the terminal at the end of the BDB installation process:

  db4 build complete.

  When compiling bitcoinnickeld, run `./configure` in the following way:

  export BDB_PREFIX='<PATH-TO>/db4'

  ./configure BDB_LIBS="-L${BDB_PREFIX}/lib -ldb_cxx-4.8" BDB_CFLAGS="-I${BDB_PREFIX}/include" ...

Compile from a tagged release branch instead of master, unless you want to test the bleeding edge:
    git tag -n | sort -V to see tags and descriptions ordered by most recent last
    git checkout <TAG> to use a tagged release, for example: git checkout v0.0.0.1

Compile BitcoinNickel from source:
    ./autogen.sh
    export BDB_PREFIX='<PATH-TO>/db4' (you can use the output from the BDB build above)
    ./configure BDB_LIBS="-L${BDB_PREFIX}/lib -ldb_cxx-4.8" BDB_CFLAGS="-I${BDB_PREFIX}/include"
    make, or if you have multiple threads on your machine, you can tell make to use all of them and reduce compile time significantly with
    make -j"$(($(nproc)+1))" on Linux, or
    make -j"$(($(sysctl -n hw.physicalcpu)+1))" on macOS

You can run ./configure --help to see the various configuration options.

If you build frequently from source (e.g. for testing pull requests), as long as you don't need to change the configuration options you can skip directly to the make step for subsequent builds.

Be sure to use ccache to speed up your builds. You can also gain time by building only what you need. See the BitcoinNickel Core productivity notes for more.

Run the unit tests:
    make check, or
    make -j"$(($(nproc)+1))" check to use multithreading on Linux, or
    make -j"$(($(sysctl -n hw.physicalcpu)+1))" check on macOS

Run the functional tests. From the repository root:
    test/functional/test_runner.py to run the standard test suite
    test/functional/test_runner.py --extended to run the extended test suite
    test/functional/test_runner.py --help to see the various options for running tests

Unix

Unpack the files into a directory and run:

  • bin/bitcoinnickel-qt (GUI) or
  • bin/bitcoinnickeld (headless)

Windows

Unpack the files into a directory, and then run bitcoinnickel-qt.exe.

macOS

Drag BitcoinNickel Core to your applications folder, and then run BitcoinNickel Core.

Need Help?

Building

The following are developer notes on how to build BitcoinNickel Core on your native platform. They are not complete guides, but include notes on the necessary libraries, compile flags, etc.

Development

The BitcoinNickel repo's root README contains relevant information on the development process and automated testing.

Resources

Miscellaneous

License

Distributed under the MIT software license. This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit. This product includes cryptographic software written by Eric Young ([email protected]), and UPnP software written by Thomas Bernard.

bitcoinnickel's People

Contributors

bitcoinnickel avatar ekronemaster avatar

Stargazers

 avatar

Watchers

 avatar

Forkers

wizadr

bitcoinnickel's Issues

Live chat

Hi, do you guys have a discord or telegram group where community could discuss to? Ty

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.