woodser 72222fefc3 end-to-end implementation of onIncomingTransfer() and
onOutgoingTransfer() working but transfers need filled in
2019-07-31 15:42:40 -04:00
2019-07-23 09:17:53 -04:00
2019-07-26 16:53:55 -04:00
2019-07-23 08:21:02 -04:00
2019-05-26 18:24:25 -04:00
2019-06-07 14:49:23 -04:00
2019-07-22 00:01:48 -04:00
2019-07-30 11:33:26 -04:00

Monero C++ Library

This project is a lightweight wrapper of Monero Core's C++ wallet, wallet2, which conforms to the specification defined here.

The purpose of this library is to define common daemon and wallet types for a general-purpose Monero API which focuses on ease-of-use.

This library may be used to build Monero-related GUI applications, libraries in other languages (e.g. monero-java), or a conformant REST/JSON-RPC API.

Building a Dynamic / Shared Library

The source code in this project may be built as a dynamic or "shared" library for use on a target platform (e.g. Linux, Mac, Windows, etc). For example, the associated Java library depends on a dynamic library built from this project to support a wallet using JNI.

Build Steps

These build steps aspire to be automated further.

  1. Setup Boost
    1. Download and extract the boost 1.69.0 source code zip from https://www.boost.org/users/download/ to ./external/boost-sdk/.
    2. cd ./external/boost-sdk/
    3. ./bootstraph.sh
    4. ./b2
    5. Copy .a files from ./external/boost-sdk/bin.v2/libs/*/link-static/* to ./external-libs/boost according to CMakeLists.txt.
  2. Setup OpenSSL
    1. Download and extract the latest OpenSSL source code zip from https://github.com/openssl/openssl to ./external/openssl-sdk/.
    2. Build for your system.
      Mac: installed through boost at /usr/local/opt/openssl/lib
    3. Copy libcrypto.a and libssl.a ./external-libs/openssl.
  3. Setup Monero Core
    1. Initialize submodules: git submodule update --init --recursive
    2. cd ./submodules/monero-core
    3. Modify CMakeLists.txt: option(BUILD_GUI_DEPS "Build GUI dependencies." ON).
    4. Build twice to create libwallet_merged.a in addition to other .a libraries: make release-static -j8.
    5. Copy .a files from ./submodules/monero-core/build/release/* to ./external-libs/monero-core according to CMakeLists.txt.
  4. Setup hidapi
    1. Download the latest hidapi source code from https://github.com/signal11/hidapi.
    2. Build hidapi for your system.
      Mac requires autoreconf: brew install automake
    3. Copy libhidapi.a to ./external-libs/hidapi.
  5. Setup libsodium
    1. Build libsodium for your system.
    2. Copy libsodium.a to ./external-libs/libsodium.
      Mac: installed through homebrew at /usr/local/Cellar/libsodium/1.0.17/lib/libsodium.a
  6. Build libmonero-cpp.dylib to ./build: ./bin/build-libmonero-cpp.sh.

See Also

Java reference implementation

JavaScript reference implementation

License

This project is licensed under MIT.

Donate

Please consider donating if you want to support this project. Thank you!

46FR1GKVqFNQnDiFkH7AuzbUBrGQwz2VdaXTDD4jcjRE8YkkoTYTmZ2Vohsz9gLSqkj5EM6ai9Q7sBoX4FPPYJdGKQQXPVz

S
Description
Mirror of github.com/wownero/wownero-cpp
Readme
4.6 MiB
Languages
C++ 98.3%
CMake 1.2%
Shell 0.5%