├── .gitignore ├── AUTHORS ├── COPYING ├── ChangeLog ├── INSTALL ├── Makefile.am ├── NEWS ├── README ├── README.md ├── autogen.sh ├── build.cmd ├── builds ├── cmake │ ├── CMakeLists.txt │ ├── CMakePresets.json │ └── modules │ │ ├── FindBitcoin-Protocol.cmake │ │ └── FindBitcoin-System.cmake └── msvc │ ├── .gitignore │ ├── build │ ├── build_all.bat │ ├── build_base.bat │ └── nuget_all.bat │ ├── debug.natvis │ ├── nuget.config │ ├── properties │ ├── Common.props │ ├── DLL.props │ ├── Debug.props │ ├── DebugDEXE.props │ ├── DebugDLL.props │ ├── DebugLEXE.props │ ├── DebugLIB.props │ ├── DebugLTCG.props │ ├── DebugSEXE.props │ ├── EXE.props │ ├── LIB.props │ ├── LTCG.props │ ├── Link.props │ ├── Messages.props │ ├── Output.props │ ├── Release.props │ ├── ReleaseDEXE.props │ ├── ReleaseDLL.props │ ├── ReleaseLEXE.props │ ├── ReleaseLIB.props │ ├── ReleaseLTCG.props │ ├── ReleaseSEXE.props │ ├── Win32.props │ └── x64.props │ ├── vs2013 │ ├── libbitcoin-client-examples │ │ ├── libbitcoin-client-examples.props │ │ ├── libbitcoin-client-examples.vcxproj │ │ ├── libbitcoin-client-examples.vcxproj.filters │ │ └── packages.config │ ├── libbitcoin-client-test │ │ ├── libbitcoin-client-test.props │ │ ├── libbitcoin-client-test.vcxproj │ │ ├── libbitcoin-client-test.vcxproj.filters │ │ └── packages.config │ ├── libbitcoin-client.import.props │ ├── libbitcoin-client.import.xml │ ├── libbitcoin-client.sln │ ├── libbitcoin-client │ │ ├── libbitcoin-client.props │ │ ├── libbitcoin-client.vcxproj │ │ ├── libbitcoin-client.vcxproj.filters │ │ └── packages.config │ ├── libbitcoin-protocol.import.props │ ├── libbitcoin-protocol.import.xml │ ├── libbitcoin-system.import.props │ └── libbitcoin-system.import.xml │ ├── vs2015 │ ├── libbitcoin-client-examples │ │ ├── libbitcoin-client-examples.props │ │ ├── libbitcoin-client-examples.vcxproj │ │ ├── libbitcoin-client-examples.vcxproj.filters │ │ └── packages.config │ ├── libbitcoin-client-test │ │ ├── libbitcoin-client-test.props │ │ ├── libbitcoin-client-test.vcxproj │ │ ├── libbitcoin-client-test.vcxproj.filters │ │ └── packages.config │ ├── libbitcoin-client.import.props │ ├── libbitcoin-client.import.xml │ ├── libbitcoin-client.sln │ ├── libbitcoin-client │ │ ├── libbitcoin-client.props │ │ ├── libbitcoin-client.vcxproj │ │ ├── libbitcoin-client.vcxproj.filters │ │ └── packages.config │ ├── libbitcoin-protocol.import.props │ ├── libbitcoin-protocol.import.xml │ ├── libbitcoin-system.import.props │ └── libbitcoin-system.import.xml │ └── vs2022 │ ├── libbitcoin-client-examples │ ├── libbitcoin-client-examples.props │ ├── libbitcoin-client-examples.vcxproj │ ├── libbitcoin-client-examples.vcxproj.filters │ └── packages.config │ ├── libbitcoin-client-test │ ├── libbitcoin-client-test.props │ ├── libbitcoin-client-test.vcxproj │ ├── libbitcoin-client-test.vcxproj.filters │ └── packages.config │ ├── libbitcoin-client.import.props │ ├── libbitcoin-client.import.xml │ ├── libbitcoin-client.sln │ ├── libbitcoin-client │ ├── libbitcoin-client.props │ ├── libbitcoin-client.vcxproj │ ├── libbitcoin-client.vcxproj.filters │ └── packages.config │ ├── libbitcoin-protocol.import.props │ ├── libbitcoin-protocol.import.xml │ ├── libbitcoin-system.import.props │ └── libbitcoin-system.import.xml ├── configure.ac ├── examples ├── console │ ├── client.cpp │ ├── client.hpp │ ├── main.cpp │ ├── read_line.cpp │ └── read_line.hpp └── get_height │ └── main.cpp ├── include └── bitcoin │ ├── client.hpp │ └── client │ ├── define.hpp │ ├── history.hpp │ ├── obelisk_client.hpp │ └── version.hpp ├── install-cmake.sh ├── install-cmakepresets.sh ├── install.sh ├── libbitcoin-client-test_runner.sh ├── libbitcoin-client.pc.in ├── m4 ├── .gitignore ├── ax_boost_base.m4 ├── ax_boost_unit_test_framework.m4 ├── ax_check_compile_flag.m4 ├── ax_check_link_flag.m4 ├── ax_check_preproc_flag.m4 └── ax_cxx_compile_stdcxx.m4 ├── src └── obelisk_client.cpp └── test ├── main.cpp └── obelisk_client.cpp /.gitignore: -------------------------------------------------------------------------------- 1 | # Autotools: 2 | *.la 3 | *.lo 4 | *.o 5 | .deps 6 | .libs 7 | /aclocal.m4 8 | /autom4te.cache 9 | /build-aux 10 | /config.* 11 | /configure 12 | /libtool 13 | Makefile 14 | Makefile.in 15 | libbitcoin-client.pc 16 | 17 | # IDE's and editors: 18 | *~ 19 | .*.swp 20 | .dirstamp 21 | /*.kdev4 22 | /.cproject 23 | /.project 24 | /.settings 25 | /nbproject 26 | bin 27 | obj 28 | 29 | examples/get_height/get_height 30 | examples/console/libbitcoin_client 31 | -------------------------------------------------------------------------------- /AUTHORS: -------------------------------------------------------------------------------- 1 | commits libbitcoin developers 2 | -------------------------------------------- 3 | 420 Eric Voskuil (evoskuil) 4 | 105 Phillip Mienk (pmienk) 5 | 40 William Swanson (swansontec) 6 | 4 Neill Miller (thecodefactory) 7 | 2 Amir Taaki (genjix) 8 | 1 betachen 9 | 1 genjix 10 | 1 hao.chen 11 | -------------------------------------------------------------------------------- /ChangeLog: -------------------------------------------------------------------------------- 1 | Use command 'git log --oneline --decorate' for latest change log. 2 | -------------------------------------------------------------------------------- /Makefile.am: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # Copyright (c) 2014-2023 libbitcoin-client developers (see COPYING). 3 | # 4 | # GENERATED SOURCE CODE, DO NOT EDIT EXCEPT EXPERIMENTALLY 5 | # 6 | ############################################################################### 7 | 8 | # Automake settings. 9 | #============================================================================== 10 | # Look for macros in the m4 subdirectory. 11 | #------------------------------------------------------------------------------ 12 | ACLOCAL_AMFLAGS = -I m4 13 | 14 | 15 | # Distribute, make and install products. 16 | #============================================================================== 17 | # files => ${pkgconfigdir} 18 | #------------------------------------------------------------------------------ 19 | pkgconfig_DATA = \ 20 | libbitcoin-client.pc 21 | 22 | # files => ${docdir} 23 | #------------------------------------------------------------------------------ 24 | doc_DATA = \ 25 | AUTHORS \ 26 | COPYING \ 27 | ChangeLog \ 28 | INSTALL \ 29 | NEWS \ 30 | README 31 | 32 | # src/libbitcoin-client.la => ${libdir} 33 | #------------------------------------------------------------------------------ 34 | lib_LTLIBRARIES = src/libbitcoin-client.la 35 | src_libbitcoin_client_la_CPPFLAGS = -I${srcdir}/include ${bitcoin_system_BUILD_CPPFLAGS} ${bitcoin_protocol_BUILD_CPPFLAGS} 36 | src_libbitcoin_client_la_LIBADD = ${bitcoin_system_LIBS} ${bitcoin_protocol_LIBS} 37 | src_libbitcoin_client_la_SOURCES = \ 38 | src/obelisk_client.cpp 39 | 40 | # local: test/libbitcoin-client-test 41 | #------------------------------------------------------------------------------ 42 | if WITH_TESTS 43 | 44 | TESTS = libbitcoin-client-test_runner.sh 45 | 46 | check_PROGRAMS = test/libbitcoin-client-test 47 | test_libbitcoin_client_test_CPPFLAGS = -I${srcdir}/include ${bitcoin_system_BUILD_CPPFLAGS} ${bitcoin_protocol_BUILD_CPPFLAGS} 48 | test_libbitcoin_client_test_LDADD = src/libbitcoin-client.la ${boost_unit_test_framework_LIBS} ${bitcoin_system_LIBS} ${bitcoin_protocol_LIBS} 49 | test_libbitcoin_client_test_SOURCES = \ 50 | test/main.cpp \ 51 | test/obelisk_client.cpp 52 | 53 | endif WITH_TESTS 54 | 55 | # local: examples/console/console 56 | #------------------------------------------------------------------------------ 57 | if WITH_EXAMPLES 58 | 59 | noinst_PROGRAMS = examples/console/console 60 | examples_console_console_CPPFLAGS = -I${srcdir}/include ${bitcoin_system_BUILD_CPPFLAGS} ${bitcoin_protocol_BUILD_CPPFLAGS} 61 | examples_console_console_LDADD = src/libbitcoin-client.la ${bitcoin_system_LIBS} ${bitcoin_protocol_LIBS} 62 | examples_console_console_SOURCES = \ 63 | examples/console/client.cpp \ 64 | examples/console/client.hpp \ 65 | examples/console/main.cpp \ 66 | examples/console/read_line.cpp \ 67 | examples/console/read_line.hpp 68 | 69 | endif WITH_EXAMPLES 70 | 71 | # local: examples/get_height/get_height 72 | #------------------------------------------------------------------------------ 73 | if WITH_EXAMPLES 74 | 75 | noinst_PROGRAMS += examples/get_height/get_height 76 | examples_get_height_get_height_CPPFLAGS = -I${srcdir}/include ${bitcoin_system_BUILD_CPPFLAGS} ${bitcoin_protocol_BUILD_CPPFLAGS} 77 | examples_get_height_get_height_LDADD = src/libbitcoin-client.la ${bitcoin_system_LIBS} ${bitcoin_protocol_LIBS} 78 | examples_get_height_get_height_SOURCES = \ 79 | examples/get_height/main.cpp 80 | 81 | endif WITH_EXAMPLES 82 | 83 | # files => ${includedir}/bitcoin 84 | #------------------------------------------------------------------------------ 85 | include_bitcoindir = ${includedir}/bitcoin 86 | include_bitcoin_HEADERS = \ 87 | include/bitcoin/client.hpp 88 | 89 | include_bitcoin_clientdir = ${includedir}/bitcoin/client 90 | include_bitcoin_client_HEADERS = \ 91 | include/bitcoin/client/define.hpp \ 92 | include/bitcoin/client/history.hpp \ 93 | include/bitcoin/client/obelisk_client.hpp \ 94 | include/bitcoin/client/version.hpp 95 | 96 | 97 | # Custom make targets. 98 | #============================================================================== 99 | # make target: examples 100 | #------------------------------------------------------------------------------ 101 | target_examples = \ 102 | examples/console/console \ 103 | examples/get_height/get_height 104 | 105 | examples: ${target_examples} 106 | 107 | -------------------------------------------------------------------------------- /NEWS: -------------------------------------------------------------------------------- 1 | See https://libbitcoin.org -------------------------------------------------------------------------------- /README: -------------------------------------------------------------------------------- 1 | See README.md -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | This branch is not usable in its current state. Please see [version3](https://github.com/libbitcoin/libbitcoin-client/tree/version3) for the latest functional branch. 2 | -------------------------------------------------------------------------------- /autogen.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | ############################################################################### 3 | # Copyright (c) 2014-2023 libbitcoin-client developers (see COPYING). 4 | # 5 | # GENERATED SOURCE CODE, DO NOT EDIT EXCEPT EXPERIMENTALLY 6 | # 7 | ############################################################################### 8 | 9 | autoreconf -i 10 | -------------------------------------------------------------------------------- /build.cmd: -------------------------------------------------------------------------------- 1 | REM ########################################################################### 2 | REM # Copyright (c) 2014-2023 libbitcoin-client developers (see COPYING). 3 | REM # 4 | REM # GENERATED SOURCE CODE, DO NOT EDIT EXCEPT EXPERIMENTALLY 5 | REM # 6 | REM ########################################################################### 7 | @echo off 8 | SETLOCAL ENABLEEXTENSIONS 9 | SET "parent=%~dp0" 10 | SET "relative_path_base=%~1" 11 | call cd /d "%relative_path_base%" 12 | SET "path_base=%cd%" 13 | SET "nuget_pkg_path=%path_base%\.nuget\packages" 14 | SET "msbuild_args=/verbosity:minimal /p:Platform=%~2 /p:Configuration=%~3" 15 | SET "proj_version=%~4" 16 | SET "msbuild_exe=msbuild" 17 | IF EXIST "%~5" SET "msbuild_exe=%~5" 18 | 19 | call :pending "Build initialized..." 20 | IF NOT EXIST "%nuget_pkg_path%" ( 21 | call mkdir "%nuget_pkg_path%" 22 | IF %ERRORLEVEL% NEQ 0 ( 23 | call :failure "mkdir %nuget_pkg_path% failed." 24 | exit /b 1 25 | ) 26 | ) 27 | 28 | call :init libbitcoin libbitcoin-system master 29 | IF %ERRORLEVEL% NEQ 0 ( 30 | call :failure "Initializing repository libbitcoin libbitcoin-system master failed." 31 | exit /b 1 32 | ) 33 | call :init libbitcoin libbitcoin-protocol master 34 | IF %ERRORLEVEL% NEQ 0 ( 35 | call :failure "Initializing repository libbitcoin libbitcoin-protocol master failed." 36 | exit /b 1 37 | ) 38 | call :bld_repo libbitcoin-client 39 | IF %ERRORLEVEL% NEQ 0 ( 40 | call :failure "Building libbitcoin-client failed." 41 | exit /b 1 42 | ) 43 | 44 | call :success "Build complete." 45 | exit /b 0 46 | 47 | 48 | 49 | :init 50 | call :pending "Initializing repository %~1/%~2/%~3..." 51 | IF NOT EXIST "%path_base%\%~2" ( 52 | call git clone -q --branch=%~3 https://github.com/%~1/%~2 "%path_base%\%~2" 53 | IF %ERRORLEVEL% NEQ 0 ( 54 | call :failure "git clone %~1/%~2 failed." 55 | exit /b 1 56 | ) 57 | ) ELSE ( 58 | call :success "%path_base%\%~2 exists, assuming valid clone." 59 | ) 60 | 61 | call :bld_proj %~2 62 | IF %ERRORLEVEL% NEQ 0 ( 63 | call :failure "Building project %~2 failed." 64 | exit /b 1 65 | ) 66 | call :success "Initialization of %~1/%~2/%~3 complete." 67 | exit /b 0 68 | 69 | :bld_repo 70 | call :pending "Building respository %~1..." 71 | call :depends "%~1" 72 | IF %ERRORLEVEL% NEQ 0 ( 73 | call :failure "Initializing dependencies %~1 failed." 74 | exit /b 1 75 | ) 76 | call cd /d "%path_base%\%~1\builds\msvc\%proj_version%" 77 | call "%msbuild_exe%" %msbuild_args% %~1.sln /p:PreBuildEventUseInBuild=false /p:PostBuildEventUseInBuild=false 78 | IF %ERRORLEVEL% NEQ 0 ( 79 | call :failure "%msbuild_exe% %msbuild_args% %~1.sln failed." 80 | exit /b 1 81 | ) 82 | call :success "Building repository %~1 execution complete." 83 | call cd /d "%path_base%" 84 | exit /b 0 85 | 86 | :bld_proj 87 | call :pending "Building respository project %~1..." 88 | call :depends %~1 89 | IF %ERRORLEVEL% NEQ 0 ( 90 | call :failure "Initializing dependencies %~1 failed." 91 | exit /b 1 92 | ) 93 | call cd /d "%path_base%\%~1\builds\msvc\%proj_version%" 94 | call "%msbuild_exe%" %msbuild_args% /target:%~1:Rebuild %~1.sln /p:PreBuildEventUseInBuild=false /p:PostBuildEventUseInBuild=false 95 | IF %ERRORLEVEL% NEQ 0 ( 96 | call :failure "%msbuild_exe% %msbuild_args% /target:%~1:Rebuild %~1.sln" 97 | exit /b 1 98 | ) 99 | call :success "Building repository project %~1 execution complete." 100 | call cd /d "%path_base%" 101 | exit /b 0 102 | 103 | :depends 104 | call :pending "nuget restoring dependencies for %~1..." 105 | call nuget restore "%path_base%\%~1\builds\msvc\%proj_version%\%~1.sln" -OutputDirectory "%nuget_pkg_path%" 106 | IF %ERRORLEVEL% NEQ 0 ( 107 | call :failure "nuget restore failed." 108 | exit /b 1 109 | ) 110 | call :success "nuget restoration for %~1 complete." 111 | exit /b 0 112 | 113 | :pending 114 | echo %~1 115 | exit /b 0 116 | 117 | :success 118 | echo %~1 119 | exit /b 0 120 | 121 | :failure 122 | echo %~1 123 | exit /b 0 124 | -------------------------------------------------------------------------------- /builds/cmake/CMakePresets.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 5, 3 | "configurePresets": [ 4 | { 5 | "name": "nix-base", 6 | "description": "Factored base settings for non-windows *nix based platforms.", 7 | "hidden": true, 8 | "installDir": "${sourceParentDir}/../../prefix/${presetName}", 9 | "binaryDir": "${sourceParentDir}/../obj/${presetName}", 10 | "condition": { 11 | "type": "inList", 12 | "string": "${hostSystemName}", 13 | "list": [ 14 | "Darwin", 15 | "Linux" 16 | ] 17 | }, 18 | "cacheVariables": { 19 | "CMAKE_PREFIX_PATH": { 20 | "type": "PATH", 21 | "value": "${sourceParentDir}/../../prefix/${presetName}" 22 | }, 23 | "CMAKE_LIBRARY_PATH": { 24 | "type": "PATH", 25 | "value": "${sourceParentDir}/../../prefix/${presetName}/lib:$env{CMAKE_LIBRARY_PATH}" 26 | } 27 | } 28 | }, 29 | { 30 | "name": "gnu-debug", 31 | "description": "Factored debug settings.", 32 | "hidden": true, 33 | "cacheVariables": { 34 | "CMAKE_C_FLAGS": "$env{CMAKE_C_FLAGS} -Og -g --coverage", 35 | "CMAKE_CXX_FLAGS": "$env{CMAKE_CXX_FLAGS} -Og -g --coverage", 36 | "enable-ndebug": { 37 | "type": "BOOL", 38 | "value": "OFF" 39 | } 40 | } 41 | }, 42 | { 43 | "name": "gnu-release", 44 | "description": "Factored release settings.", 45 | "hidden": true, 46 | "cacheVariables": { 47 | "CMAKE_C_FLAGS": "$env{CMAKE_C_FLAGS} -O3", 48 | "CMAKE_CXX_FLAGS": "$env{CMAKE_CXX_FLAGS} -O3", 49 | "enable-ndebug": { 50 | "type": "BOOL", 51 | "value": "ON" 52 | } 53 | } 54 | }, 55 | { 56 | "name": "static", 57 | "description": "Factored static linking settings.", 58 | "hidden": true, 59 | "cacheVariables": { 60 | "BUILD_SHARED_LIBS": { 61 | "type": "BOOL", 62 | "value": "OFF" 63 | } 64 | } 65 | }, 66 | { 67 | "name": "shared", 68 | "description": "Factored shared/dynamic linking settings.", 69 | "hidden": true, 70 | "cacheVariables": { 71 | "BUILD_SHARED_LIBS": { 72 | "type": "BOOL", 73 | "value": "ON" 74 | } 75 | } 76 | }, 77 | { 78 | "name": "gnu-optimized-size", 79 | "description": "Factored size optimization settings.", 80 | "hidden": true, 81 | "cacheVariables": { 82 | "CMAKE_C_FLAGS": "$env{CMAKE_C_FLAGS} -Os -s", 83 | "CMAKE_CXX_FLAGS": "$env{CMAKE_CXX_FLAGS} -Os -s" 84 | } 85 | }, 86 | { 87 | "name": "nix-gnu-debug-static", 88 | "displayName": "*nix/GNU/Debug/Static", 89 | "description": "Debug build with static linking.", 90 | "hidden": false, 91 | "inherits": [ 92 | "static", 93 | "gnu-debug", 94 | "nix-base" 95 | ] 96 | }, 97 | { 98 | "name": "nix-gnu-debug-shared", 99 | "displayName": "*nix/GNU/Debug/Shared", 100 | "description": "Debug build with shared linking.", 101 | "hidden": false, 102 | "inherits": [ 103 | "shared", 104 | "gnu-debug", 105 | "nix-base" 106 | ] 107 | }, 108 | { 109 | "name": "nix-gnu-release-static", 110 | "displayName": "*nix/GNU/Release/Static", 111 | "description": "Release build with static linking and standard optimizations.", 112 | "hidden": false, 113 | "inherits": [ 114 | "static", 115 | "gnu-release", 116 | "nix-base" 117 | ] 118 | }, 119 | { 120 | "name": "nix-gnu-release-shared", 121 | "displayName": "*nix/GNU/Release/Shared", 122 | "description": "Release build with shared linking and standard optimizations.", 123 | "hidden": false, 124 | "inherits": [ 125 | "shared", 126 | "gnu-release", 127 | "nix-base" 128 | ] 129 | }, 130 | { 131 | "name": "nix-gnu-release-static-size", 132 | "displayName": "*nix/GNU/Release/Static/Size", 133 | "description": "Release build with static linking and optimizations for size.", 134 | "hidden": false, 135 | "inherits": [ 136 | "gnu-optimized-size", 137 | "static", 138 | "gnu-release", 139 | "nix-base" 140 | ] 141 | }, 142 | { 143 | "name": "nix-gnu-release-shared-size", 144 | "displayName": "*nix/GNU/Release/Shared/Size", 145 | "description": "Release build with shared linking and optimizations for size.", 146 | "hidden": false, 147 | "inherits": [ 148 | "gnu-optimized-size", 149 | "shared", 150 | "gnu-release", 151 | "nix-base" 152 | ] 153 | } 154 | ], 155 | "buildPresets": [ 156 | { 157 | "name": "nix-target-list", 158 | "hidden": true, 159 | "targets": [ 160 | "bitcoin-client", 161 | "libbitcoin-client-test", 162 | "console", 163 | "get_height" 164 | ] 165 | }, 166 | { 167 | "name": "nix-gnu-debug-static", 168 | "displayName": "*nix/GNU/Debug/Static", 169 | "inherits": [ "nix-target-list" ], 170 | "configurePreset": "nix-gnu-debug-static" 171 | }, 172 | { 173 | "name": "nix-gnu-debug-shared", 174 | "displayName": "*nix/GNU/Debug/Shared", 175 | "inherits": [ "nix-target-list" ], 176 | "configurePreset": "nix-gnu-debug-shared" 177 | }, 178 | { 179 | "name": "nix-gnu-release-static", 180 | "displayName": "*nix/GNU/Release/Static", 181 | "inherits": [ "nix-target-list" ], 182 | "configurePreset": "nix-gnu-release-static" 183 | }, 184 | { 185 | "name": "nix-gnu-release-shared", 186 | "displayName": "*nix/GNU/Release/Shared", 187 | "inherits": [ "nix-target-list" ], 188 | "configurePreset": "nix-gnu-release-shared" 189 | }, 190 | { 191 | "name": "nix-gnu-release-static-size", 192 | "displayName": "*nix/GNU/Release/Static/Size", 193 | "inherits": [ "nix-target-list" ], 194 | "configurePreset": "nix-gnu-release-static-size" 195 | }, 196 | { 197 | "name": "nix-gnu-release-shared-size", 198 | "displayName": "*nix/GNU/Release/Shared/Size", 199 | "inherits": [ "nix-target-list" ], 200 | "configurePreset": "nix-gnu-release-shared-size" 201 | } 202 | ] 203 | } 204 | -------------------------------------------------------------------------------- /builds/cmake/modules/FindBitcoin-Protocol.cmake: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # Copyright (c) 2014-2023 libbitcoin-server developers (see COPYING). 3 | # 4 | # GENERATED SOURCE CODE, DO NOT EDIT EXCEPT EXPERIMENTALLY 5 | # 6 | ############################################################################### 7 | # FindBitcoin-Protocol 8 | # 9 | # Use this module by invoking find_package with the form:: 10 | # 11 | # find_package( Bitcoin-Protocol 12 | # [version] # Minimum version 13 | # [REQUIRED] # Fail with error if bitcoin-protocol is not found 14 | # ) 15 | # 16 | # Defines the following for use: 17 | # 18 | # bitcoin_protocol_FOUND - true if headers and requested libraries were found 19 | # bitcoin_protocol_INCLUDE_DIRS - include directories for bitcoin-protocol libraries 20 | # bitcoin_protocol_LIBRARY_DIRS - link directories for bitcoin-protocol libraries 21 | # bitcoin_protocol_LIBRARIES - bitcoin-protocol libraries to be linked 22 | # bitcoin_protocol_PKG - bitcoin-protocol pkg-config package specification. 23 | # 24 | 25 | if (MSVC) 26 | if ( Bitcoin-Protocol_FIND_REQUIRED ) 27 | set( _bitcoin_protocol_MSG_STATUS "SEND_ERROR" ) 28 | else () 29 | set( _bitcoin_protocol_MSG_STATUS "STATUS" ) 30 | endif() 31 | 32 | set( bitcoin_protocol_FOUND false ) 33 | message( ${_bitcoin_protocol_MSG_STATUS} "MSVC environment detection for 'bitcoin-protocol' not currently supported." ) 34 | else () 35 | # required 36 | if ( Bitcoin-Protocol_FIND_REQUIRED ) 37 | set( _bitcoin_protocol_REQUIRED "REQUIRED" ) 38 | endif() 39 | 40 | # quiet 41 | if ( Bitcoin-Protocol_FIND_QUIETLY ) 42 | set( _bitcoin_protocol_QUIET "QUIET" ) 43 | endif() 44 | 45 | # modulespec 46 | if ( Bitcoin-Protocol_FIND_VERSION_COUNT EQUAL 0 ) 47 | set( _bitcoin_protocol_MODULE_SPEC "libbitcoin-protocol" ) 48 | else () 49 | if ( Bitcoin-Protocol_FIND_VERSION_EXACT ) 50 | set( _bitcoin_protocol_MODULE_SPEC_OP "=" ) 51 | else () 52 | set( _bitcoin_protocol_MODULE_SPEC_OP ">=" ) 53 | endif() 54 | 55 | set( _bitcoin_protocol_MODULE_SPEC "libbitcoin-protocol ${_bitcoin_protocol_MODULE_SPEC_OP} ${Bitcoin-Protocol_FIND_VERSION}" ) 56 | endif() 57 | 58 | pkg_check_modules( bitcoin_protocol ${_bitcoin_protocol_REQUIRED} ${_bitcoin_protocol_QUIET} "${_bitcoin_protocol_MODULE_SPEC}" ) 59 | set( bitcoin_protocol_PKG "${_bitcoin_protocol_MODULE_SPEC}" ) 60 | endif() 61 | -------------------------------------------------------------------------------- /builds/cmake/modules/FindBitcoin-System.cmake: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # Copyright (c) 2014-2023 libbitcoin-protocol developers (see COPYING). 3 | # 4 | # GENERATED SOURCE CODE, DO NOT EDIT EXCEPT EXPERIMENTALLY 5 | # 6 | ############################################################################### 7 | # FindBitcoin 8 | # 9 | # Use this module by invoking find_package with the form:: 10 | # 11 | # find_package( Bitcoin-System 12 | # [version] # Minimum version 13 | # [REQUIRED] # Fail with error if bitcoin is not found 14 | # ) 15 | # 16 | # Defines the following for use: 17 | # 18 | # bitcoin_system_FOUND - true if headers and requested libraries were found 19 | # bitcoin_system_INCLUDE_DIRS - include directories for bitcoin-system libraries 20 | # bitcoin_system_LIBRARY_DIRS - link directories for bitcoin-system libraries 21 | # bitcoin_system_LIBRARIES - bitcoin-system libraries to be linked 22 | # bitcoin_system_PKG - bitcoin-system pkg-config package specification. 23 | # 24 | 25 | if (MSVC) 26 | if ( Bitcoin-System_FIND_REQUIRED ) 27 | set( _bitcoin_system_MSG_STATUS "SEND_ERROR" ) 28 | else () 29 | set( _bitcoin_system_MSG_STATUS "STATUS" ) 30 | endif() 31 | 32 | set( bitcoin_system_FOUND false ) 33 | message( ${_bitcoin_system_MSG_STATUS} "MSVC environment detection for 'bitcoin-system' not currently supported." ) 34 | else () 35 | # required 36 | if ( Bitcoin-System_FIND_REQUIRED ) 37 | set( _bitcoin_system_REQUIRED "REQUIRED" ) 38 | endif() 39 | 40 | # quiet 41 | if ( Bitcoin-System_FIND_QUIETLY ) 42 | set( _bitcoin_system_QUIET "QUIET" ) 43 | endif() 44 | 45 | # modulespec 46 | if ( Bitcoin-System_FIND_VERSION_COUNT EQUAL 0 ) 47 | set( _bitcoin_system_MODULE_SPEC "libbitcoin-system" ) 48 | else () 49 | if ( Bitcoin-System_FIND_VERSION_EXACT ) 50 | set( _bitcoin_system_MODULE_SPEC_OP "=" ) 51 | else () 52 | set( _bitcoin_system_MODULE_SPEC_OP ">=" ) 53 | endif() 54 | 55 | set( _bitcoin_system_MODULE_SPEC "libbitcoin-system ${_bitcoin_system_MODULE_SPEC_OP} ${Bitcoin-System_FIND_VERSION}" ) 56 | endif() 57 | 58 | pkg_check_modules( bitcoin_system ${_bitcoin_system_REQUIRED} ${_bitcoin_system_QUIET} "${_bitcoin_system_MODULE_SPEC}" ) 59 | set( bitcoin_system_PKG "${_bitcoin_system_MODULE_SPEC}" ) 60 | endif() 61 | -------------------------------------------------------------------------------- /builds/msvc/.gitignore: -------------------------------------------------------------------------------- 1 | *.bin 2 | *.json 3 | *.suo 4 | *.opensdf 5 | *.sdf 6 | *.log 7 | *.aps 8 | *.user 9 | *.ipch 10 | *.VC.* -------------------------------------------------------------------------------- /builds/msvc/build/build_all.bat: -------------------------------------------------------------------------------- 1 | @ECHO OFF 2 | CALL nuget_all.bat 3 | ECHO. 4 | CALL build_base.bat vs2022 libbitcoin-client "Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build" 5 | CALL build_base.bat vs2019 libbitcoin-client "Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build" 6 | CALL build_base.bat vs2017 libbitcoin-client "Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build" 7 | REM CALL build_base.bat vs2015 libbitcoin-client "Microsoft Visual Studio 14.0\VC" 8 | REM CALL build_base.bat vs2013 libbitcoin-client "Microsoft Visual Studio 12.0\VC" 9 | PAUSE 10 | -------------------------------------------------------------------------------- /builds/msvc/build/build_base.bat: -------------------------------------------------------------------------------- 1 | @ECHO OFF 2 | REM Usage: [buildbase.bat vs2017 libbitcoin "Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build"] 3 | REM Usage: [buildbase.bat vs2015 libbitcoin "Microsoft Visual Studio 14.0\VC"] 4 | REM Usage: [buildbase.bat vs2013 libbitcoin "Microsoft Visual Studio 12.0\VC"] 5 | 6 | SET studio=%1 7 | SET project=%2 8 | SET version=%~3 9 | 10 | SET log=%studio%.log 11 | SET solution=..\%studio%\%project%.sln 12 | SET tools=%version%\vcvarsall.bat 13 | SET environment=%programfiles(x86)%\%tools% 14 | 15 | IF NOT EXIST "%environment%" SET environment=%programfiles%\%tools% 16 | IF NOT EXIST "%environment%" GOTO no_tools 17 | 18 | ECHO Building: %solution% 19 | 20 | CALL "%environment%" x86 > nul 21 | ECHO Platform=x86 22 | 23 | ECHO Configuration=StaticDebug 24 | msbuild /m /v:n /p:Configuration=StaticDebug /p:Platform=Win32 %solution% >> %log% 25 | IF errorlevel 1 GOTO error 26 | ECHO Configuration=StaticRelease 27 | msbuild /m /v:n /p:Configuration=StaticRelease /p:Platform=Win32 %solution% >> %log% 28 | IF errorlevel 1 GOTO error 29 | 30 | CALL "%environment%" x86_amd64 > nul 31 | ECHO Platform=x64 32 | 33 | ECHO Configuration=StaticDebug 34 | msbuild /m /v:n /p:Configuration=StaticDebug /p:Platform=x64 %solution% >> %log% 35 | IF errorlevel 1 GOTO error 36 | ECHO Configuration=StaticRelease 37 | msbuild /m /v:n /p:Configuration=StaticRelease /p:Platform=x64 %solution% >> %log% 38 | IF errorlevel 1 GOTO error 39 | 40 | ECHO Complete: %solution% 41 | GOTO end 42 | 43 | :error 44 | ECHO *** ERROR, build terminated early, see: %log% 45 | GOTO end 46 | 47 | :no_tools 48 | ECHO *** ERROR, build tools not found: %tools% 49 | 50 | :end 51 | 52 | -------------------------------------------------------------------------------- /builds/msvc/build/nuget_all.bat: -------------------------------------------------------------------------------- 1 | @ECHO OFF 2 | ECHO Downloading libbitcoin vs2022 dependencies from NuGet 3 | CALL nuget.exe install ..\vs2022\libbitcoin-client\packages.config 4 | CALL nuget.exe install ..\vs2022\libbitcoin-client-examples\packages.config 5 | CALL nuget.exe install ..\vs2022\libbitcoin-client-test\packages.config 6 | ECHO. 7 | ECHO Downloading libbitcoin vs2019 dependencies from NuGet 8 | CALL nuget.exe install ..\vs2019\libbitcoin-client\packages.config 9 | CALL nuget.exe install ..\vs2019\libbitcoin-client-examples\packages.config 10 | CALL nuget.exe install ..\vs2019\libbitcoin-client-test\packages.config 11 | ECHO. 12 | ECHO Downloading libbitcoin vs2017 dependencies from NuGet 13 | CALL nuget.exe install ..\vs2017\libbitcoin-client\packages.config 14 | CALL nuget.exe install ..\vs2017\libbitcoin-client-examples\packages.config 15 | CALL nuget.exe install ..\vs2017\libbitcoin-client-test\packages.config 16 | -------------------------------------------------------------------------------- /builds/msvc/debug.natvis: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 10 | 11 | 12 | { m_backend } 13 | 14 | 15 | 16 | 17 | { m_data } 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /builds/msvc/nuget.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 22 | 23 | 24 | 25 | 26 | 30 | 31 | -------------------------------------------------------------------------------- /builds/msvc/properties/Common.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | <_PropertySheetDisplayName>Common Settings 6 | Unicode 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | x64 15 | 16 | 17 | 18 | 19 | UNICODE;_UNICODE;%(PreprocessorDefinitions) 20 | 21 | 22 | 23 | Level4 24 | false 25 | false 26 | true 27 | 28 | 29 | 30 | /Zc:__cplusplus %(AdditionalOptions) 31 | true 32 | true 33 | false 34 | false 35 | stdc11 36 | stdcpp14 37 | stdcpp17 38 | stdcpp20 39 | false 40 | true 41 | true 42 | 43 | 44 | 45 | 46 | Level4 47 | 48 | 49 | 50 | -------------------------------------------------------------------------------- /builds/msvc/properties/DLL.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | <_PropertySheetDisplayName>Dynamic Library 6 | dynamic 7 | .dll 8 | 9 | 10 | 11 | 12 | _DLL;_WINDLL;%(PreprocessorDefinitions) 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /builds/msvc/properties/Debug.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | <_PropertySheetDisplayName>Debug Settings 10 | Debug 11 | 12 | 13 | 14 | 15 | 16 | EnableFastChecks 17 | ProgramDatabase 18 | true 19 | Disabled 20 | _DEBUG;%(PreprocessorDefinitions) 21 | 22 | 23 | _DEBUG;%(PreprocessorDefinitions) 24 | 25 | 26 | true 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /builds/msvc/properties/DebugDEXE.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | <_PropertySheetDisplayName>Console Debug Dynamic 6 | dynamic 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | MultiThreadedDebugDLL 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /builds/msvc/properties/DebugDLL.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | <_PropertySheetDisplayName>Dynamic Debug Library 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | MultiThreadedDebugDLL 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /builds/msvc/properties/DebugLEXE.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | <_PropertySheetDisplayName>Console Debug Link Time Code Generation 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | MultiThreadedDebug 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /builds/msvc/properties/DebugLIB.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | <_PropertySheetDisplayName>Static Debug Library 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | MultiThreadedDebug 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /builds/msvc/properties/DebugLTCG.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | <_PropertySheetDisplayName>Static Debug Link Time Code Generation Library 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | MultiThreadedDebug 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /builds/msvc/properties/DebugSEXE.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | <_PropertySheetDisplayName>Console Debug Static 6 | static 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | MultiThreadedDebug 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /builds/msvc/properties/EXE.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | <_PropertySheetDisplayName>Console Application 6 | true 7 | 8 | 9 | 10 | 11 | _CONSOLE;%(PreprocessorDefinitions) 12 | 13 | 14 | Console 15 | 16 | 17 | -------------------------------------------------------------------------------- /builds/msvc/properties/LIB.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | <_PropertySheetDisplayName>Static Library 6 | static 7 | .lib 8 | 9 | 10 | 11 | 12 | _LIB;%(PreprocessorDefinitions) 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /builds/msvc/properties/LTCG.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | <_PropertySheetDisplayName>Link Time Code Generation Library 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /builds/msvc/properties/Link.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | <_PropertySheetDisplayName>Link Time Code Generation Settings 6 | ltcg 7 | 8 | 9 | 10 | 11 | true 12 | 13 | 14 | UseLinkTimeCodeGeneration 15 | 16 | 17 | true 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /builds/msvc/properties/Messages.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | <_PropertySheetDisplayName>Build Messages 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /builds/msvc/properties/Output.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | <_PropertySheetDisplayName>Output Settings 6 | 7 | $(ProjectDir)..\..\ 8 | $(ProjectDir)..\..\..\..\ 9 | $(ProjectDir)..\..\..\..\..\ 10 | $(ProjectDir)..\..\..\..\bin\$(PlatformName)\$(DebugOrRelease)\$(PlatformToolset)\$(DefaultLinkage)\ 11 | $(ProjectDir)..\..\..\..\obj\$(TargetName)\$(PlatformName)\$(DebugOrRelease)\$(PlatformToolset)\$(DefaultLinkage)\ 12 | $(OutDir) 13 | $(TargetName) 14 | $(TargetDir)$(TargetName)$(TargetExt) 15 | 16 | 17 | 18 | 19 | $(OutDir)$(TargetName).lib 20 | 21 | 22 | $(OutDir)$(TargetName).log 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /builds/msvc/properties/Release.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | <_PropertySheetDisplayName>Release Settings 10 | Release 11 | false 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | false 20 | 21 | 22 | false 23 | true 24 | true 25 | Speed 26 | true 27 | AnySuitable 28 | true 29 | true 30 | MaxSpeed 31 | 32 | 33 | 34 | 35 | AdvancedVectorExtensions2 36 | 37 | 38 | ProgramDatabase 39 | true 40 | NDEBUG;%(PreprocessorDefinitions) 41 | 42 | 43 | NDEBUG;%(PreprocessorDefinitions) 44 | 45 | 46 | true 47 | true 48 | true 49 | 50 | 51 | -------------------------------------------------------------------------------- /builds/msvc/properties/ReleaseDEXE.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | <_PropertySheetDisplayName>Console Release Dynamic 6 | dynamic 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | MultiThreadedDLL 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /builds/msvc/properties/ReleaseDLL.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | <_PropertySheetDisplayName>Dynamic Release Library 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | MultiThreadedDLL 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /builds/msvc/properties/ReleaseLEXE.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | <_PropertySheetDisplayName>Console Release Link Time Code Generation 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | MultiThreaded 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /builds/msvc/properties/ReleaseLIB.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | <_PropertySheetDisplayName>Static Release Library 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | MultiThreaded 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /builds/msvc/properties/ReleaseLTCG.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | <_PropertySheetDisplayName>Static Release Link Time Code Generation Library 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | MultiThreaded 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /builds/msvc/properties/ReleaseSEXE.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | <_PropertySheetDisplayName>Console Release Static 6 | static 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | MultiThreaded 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /builds/msvc/properties/Win32.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | <_PropertySheetDisplayName>x86 Settings 6 | 7 | 8 | 9 | 10 | WIN32;_WIN32;%(PreprocessorDefinitions) 11 | 12 | 13 | MachineX86 14 | 15 | 16 | /MACHINE:X86 %(AdditionalOptions) 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /builds/msvc/properties/x64.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | <_PropertySheetDisplayName>x64 Settings 6 | 7 | 8 | 9 | 10 | 13 | WIN32;_WIN32;WIN64;_WIN64;%(PreprocessorDefinitions) 14 | 15 | 16 | MachineX64 17 | 18 | 19 | /MACHINE:X64 %(AdditionalOptions) 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /builds/msvc/vs2013/libbitcoin-client-examples/libbitcoin-client-examples.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | <_PropertySheetDisplayName>Libbitcoin Client Examples 6 | AllRules.ruleset 7 | false 8 | 9 | 10 | 11 | 12 | 13 | 14 | $(RepoRoot)include\;(AdditionalIncludeDirectories) 15 | false 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | ..\..\..\..\..\.nuget\packages\ 29 | 30 | 31 | 32 | dynamic 33 | dynamic 34 | dynamic 35 | dynamic 36 | dynamic 37 | 38 | 39 | ltcg 40 | ltcg 41 | ltcg 42 | ltcg 43 | ltcg 44 | 45 | 46 | static 47 | static 48 | static 49 | static 50 | static 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | -------------------------------------------------------------------------------- /builds/msvc/vs2013/libbitcoin-client-examples/libbitcoin-client-examples.vcxproj.filters: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 10 | 11 | {FBCC58AD-93A1-4247-0000-000000000001} 12 | 13 | 14 | {FBCC58AD-93A1-4247-0000-000000000000} 15 | 16 | 17 | 18 | 19 | src 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /builds/msvc/vs2013/libbitcoin-client-examples/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /builds/msvc/vs2013/libbitcoin-client-test/libbitcoin-client-test.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | <_PropertySheetDisplayName>Libbitcoin Client Test Common Settings 6 | AllRules.ruleset 7 | false 8 | 9 | 10 | 11 | 12 | 13 | 14 | false 15 | _WIN32_WINNT=0x0600;%(PreprocessorDefinitions) 16 | BOOST_TEST_DYN_LINK;%(PreprocessorDefinitions) 17 | 18 | 19 | "$(TargetPath)" --run_test=* --show_progress=no --build_info=yes 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | ..\..\..\..\..\.nuget\packages\ 33 | 34 | 35 | 36 | dynamic 37 | dynamic 38 | dynamic 39 | dynamic 40 | dynamic 41 | 42 | 43 | ltcg 44 | ltcg 45 | ltcg 46 | ltcg 47 | ltcg 48 | 49 | 50 | static 51 | static 52 | static 53 | static 54 | static 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | -------------------------------------------------------------------------------- /builds/msvc/vs2013/libbitcoin-client-test/libbitcoin-client-test.vcxproj.filters: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 10 | 11 | {A56A00C6-669B-4535-0000-000000000000} 12 | 13 | 14 | 15 | 16 | src 17 | 18 | 19 | src 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /builds/msvc/vs2013/libbitcoin-client-test/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /builds/msvc/vs2013/libbitcoin-client.import.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | <_PropertySheetDisplayName>Libbitcoin Client Import Settings 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | $(ProjectDir)..\..\..\..\..\libbitcoin-client\include\;%(AdditionalIncludeDirectories) 19 | BCC_STATIC;%(PreprocessorDefinitions) 20 | 21 | 22 | libbitcoin-client.lib;%(AdditionalDependencies) 23 | 24 | 25 | 26 | 27 | $(ProjectDir)..\..\..\..\..\libbitcoin-client\bin\$(PlatformName)\Debug\CTP_Nov2013\$(Linkage-libbitcoin-client)\; 28 | $(ProjectDir)..\..\..\..\..\libbitcoin-client\obj\libbitcoin-client\$(PlatformName)\Debug\CTP_Nov2013\$(Linkage-libbitcoin-client)\;%(AdditionalLibraryDirectories) 29 | 30 | 31 | $(ProjectDir)..\..\..\..\..\libbitcoin-client\bin\$(PlatformName)\Release\CTP_Nov2013\$(Linkage-libbitcoin-client)\; 32 | $(ProjectDir)..\..\..\..\..\libbitcoin-client\obj\libbitcoin-client\$(PlatformName)\Release\CTP_Nov2013\$(Linkage-libbitcoin-client)\;%(AdditionalLibraryDirectories) 33 | 34 | 35 | 36 | 37 | $(ProjectDir)..\..\..\..\..\libbitcoin-client\bin\$(PlatformName)\Debug\$(PlatformToolset)\$(Linkage-libbitcoin-client)\; 38 | $(ProjectDir)..\..\..\..\..\libbitcoin-client\obj\libbitcoin-client\$(PlatformName)\Debug\$(PlatformToolset)\$(Linkage-libbitcoin-client)\;%(AdditionalLibraryDirectories) 39 | 40 | 41 | $(ProjectDir)..\..\..\..\..\libbitcoin-client\bin\$(PlatformName)\Release\$(PlatformToolset)\$(Linkage-libbitcoin-client)\; 42 | $(ProjectDir)..\..\..\..\..\libbitcoin-client\obj\libbitcoin-client\$(PlatformName)\Release\$(PlatformToolset)\$(Linkage-libbitcoin-client)\;%(AdditionalLibraryDirectories) 43 | 44 | 45 | 46 | 47 | $(ProgramFiles)\Microsoft Visual C++ Compiler Nov 2013 CTP\lib\arm;%(AdditionalLibraryDirectories) 48 | $(ProgramFiles)\Microsoft Visual C++ Compiler Nov 2013 CTP\lib\amd64;%(AdditionalLibraryDirectories) 49 | $(ProgramFiles)\Microsoft Visual C++ Compiler Nov 2013 CTP\lib;%(AdditionalLibraryDirectories) 50 | 51 | 52 | -------------------------------------------------------------------------------- /builds/msvc/vs2013/libbitcoin-client.import.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /builds/msvc/vs2013/libbitcoin-client.sln: -------------------------------------------------------------------------------- 1 | 2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 2013 4 | VisualStudioVersion = 12.0.30723.0 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libbitcoin-client", "libbitcoin-client\libbitcoin-client.vcxproj", "{475E189D-F147-4122-B5FE-5BCF1153696E}" 7 | EndProject 8 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libbitcoin-client-test", "libbitcoin-client-test\libbitcoin-client-test.vcxproj", "{A56A00C6-669B-4535-9DC2-772A931B04C2}" 9 | EndProject 10 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libbitcoin-client-examples", "libbitcoin-client-examples\libbitcoin-client-examples.vcxproj", "{FBCC58AD-93A1-4247-B660-B32C61ACA680}" 11 | EndProject 12 | Global 13 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 14 | StaticDebug|Win32 = StaticDebug|Win32 15 | StaticDebug|x64 = StaticDebug|x64 16 | StaticRelease|Win32 = StaticRelease|Win32 17 | StaticRelease|x64 = StaticRelease|x64 18 | EndGlobalSection 19 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 20 | {475E189D-F147-4122-B5FE-5BCF1153696E}.StaticDebug|Win32.ActiveCfg = DebugLIB|Win32 21 | {475E189D-F147-4122-B5FE-5BCF1153696E}.StaticDebug|Win32.Build.0 = DebugLIB|Win32 22 | {475E189D-F147-4122-B5FE-5BCF1153696E}.StaticDebug|x64.ActiveCfg = DebugLIB|x64 23 | {475E189D-F147-4122-B5FE-5BCF1153696E}.StaticDebug|x64.Build.0 = DebugLIB|x64 24 | {475E189D-F147-4122-B5FE-5BCF1153696E}.StaticRelease|Win32.ActiveCfg = ReleaseLIB|Win32 25 | {475E189D-F147-4122-B5FE-5BCF1153696E}.StaticRelease|Win32.Build.0 = ReleaseLIB|Win32 26 | {475E189D-F147-4122-B5FE-5BCF1153696E}.StaticRelease|x64.ActiveCfg = ReleaseLIB|x64 27 | {475E189D-F147-4122-B5FE-5BCF1153696E}.StaticRelease|x64.Build.0 = ReleaseLIB|x64 28 | {A56A00C6-669B-4535-9DC2-772A931B04C2}.StaticDebug|Win32.ActiveCfg = DebugSEXE|Win32 29 | {A56A00C6-669B-4535-9DC2-772A931B04C2}.StaticDebug|Win32.Build.0 = DebugSEXE|Win32 30 | {A56A00C6-669B-4535-9DC2-772A931B04C2}.StaticDebug|x64.ActiveCfg = DebugSEXE|x64 31 | {A56A00C6-669B-4535-9DC2-772A931B04C2}.StaticDebug|x64.Build.0 = DebugSEXE|x64 32 | {A56A00C6-669B-4535-9DC2-772A931B04C2}.StaticRelease|Win32.ActiveCfg = ReleaseSEXE|Win32 33 | {A56A00C6-669B-4535-9DC2-772A931B04C2}.StaticRelease|Win32.Build.0 = ReleaseSEXE|Win32 34 | {A56A00C6-669B-4535-9DC2-772A931B04C2}.StaticRelease|x64.ActiveCfg = ReleaseSEXE|x64 35 | {A56A00C6-669B-4535-9DC2-772A931B04C2}.StaticRelease|x64.Build.0 = ReleaseSEXE|x64 36 | {FBCC58AD-93A1-4247-B660-B32C61ACA680}.StaticDebug|Win32.ActiveCfg = DebugSEXE|Win32 37 | {FBCC58AD-93A1-4247-B660-B32C61ACA680}.StaticDebug|Win32.Build.0 = DebugSEXE|Win32 38 | {FBCC58AD-93A1-4247-B660-B32C61ACA680}.StaticDebug|x64.ActiveCfg = DebugSEXE|x64 39 | {FBCC58AD-93A1-4247-B660-B32C61ACA680}.StaticDebug|x64.Build.0 = DebugSEXE|x64 40 | {FBCC58AD-93A1-4247-B660-B32C61ACA680}.StaticRelease|Win32.ActiveCfg = ReleaseSEXE|Win32 41 | {FBCC58AD-93A1-4247-B660-B32C61ACA680}.StaticRelease|Win32.Build.0 = ReleaseSEXE|Win32 42 | {FBCC58AD-93A1-4247-B660-B32C61ACA680}.StaticRelease|x64.ActiveCfg = ReleaseSEXE|x64 43 | {FBCC58AD-93A1-4247-B660-B32C61ACA680}.StaticRelease|x64.Build.0 = ReleaseSEXE|x64 44 | EndGlobalSection 45 | GlobalSection(SolutionProperties) = preSolution 46 | HideSolutionNode = FALSE 47 | EndGlobalSection 48 | EndGlobal 49 | -------------------------------------------------------------------------------- /builds/msvc/vs2013/libbitcoin-client/libbitcoin-client.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | <_PropertySheetDisplayName>Libbitcoin Client Library Common Settings 6 | AllRules.ruleset 7 | false 8 | 9 | 10 | 11 | 12 | 13 | 14 | $(RepoRoot)include\;%(AdditionalIncludeDirectories) 15 | false 16 | BCC_DLL;%(PreprocessorDefinitions) 17 | BCC_STATIC;%(PreprocessorDefinitions) 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | ..\..\..\..\..\.nuget\packages\ 30 | 31 | 32 | 33 | dynamic 34 | dynamic 35 | dynamic 36 | dynamic 37 | 38 | 39 | ltcg 40 | ltcg 41 | ltcg 42 | ltcg 43 | 44 | 45 | static 46 | static 47 | static 48 | static 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | -------------------------------------------------------------------------------- /builds/msvc/vs2013/libbitcoin-client/libbitcoin-client.vcxproj.filters: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 10 | 11 | {475E189D-F147-4122-0000-000000000001} 12 | 13 | 14 | {475E189D-F147-4122-0000-000000000002} 15 | 16 | 17 | {475E189D-F147-4122-0000-000000000003} 18 | 19 | 20 | {475E189D-F147-4122-0000-000000000004} 21 | 22 | 23 | {475E189D-F147-4122-0000-000000000000} 24 | 25 | 26 | 27 | 28 | src 29 | 30 | 31 | 32 | 33 | include\bitcoin 34 | 35 | 36 | include\bitcoin\client 37 | 38 | 39 | include\bitcoin\client 40 | 41 | 42 | include\bitcoin\client 43 | 44 | 45 | include\bitcoin\client 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | -------------------------------------------------------------------------------- /builds/msvc/vs2013/libbitcoin-client/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /builds/msvc/vs2013/libbitcoin-protocol.import.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | <_PropertySheetDisplayName>Libbitcoin Protocol Import Settings 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | $(ProjectDir)..\..\..\..\..\libbitcoin-protocol\include\;%(AdditionalIncludeDirectories) 19 | BCP_STATIC;%(PreprocessorDefinitions) 20 | 21 | 22 | libbitcoin-protocol.lib;%(AdditionalDependencies) 23 | Iphlpapi.lib;%(AdditionalDependencies) 24 | 25 | 26 | 27 | 28 | $(ProjectDir)..\..\..\..\..\libbitcoin-protocol\bin\$(PlatformName)\Debug\CTP_Nov2013\$(Linkage-libbitcoin-protocol)\; 29 | $(ProjectDir)..\..\..\..\..\libbitcoin-protocol\obj\libbitcoin-protocol\$(PlatformName)\Debug\CTP_Nov2013\$(Linkage-libbitcoin-protocol)\;%(AdditionalLibraryDirectories) 30 | 31 | 32 | $(ProjectDir)..\..\..\..\..\libbitcoin-protocol\bin\$(PlatformName)\Release\CTP_Nov2013\$(Linkage-libbitcoin-protocol)\; 33 | $(ProjectDir)..\..\..\..\..\libbitcoin-protocol\obj\libbitcoin-protocol\$(PlatformName)\Release\CTP_Nov2013\$(Linkage-libbitcoin-protocol)\;%(AdditionalLibraryDirectories) 34 | 35 | 36 | 37 | 38 | $(ProjectDir)..\..\..\..\..\libbitcoin-protocol\bin\$(PlatformName)\Debug\$(PlatformToolset)\$(Linkage-libbitcoin-protocol)\; 39 | $(ProjectDir)..\..\..\..\..\libbitcoin-protocol\obj\libbitcoin-protocol\$(PlatformName)\Debug\$(PlatformToolset)\$(Linkage-libbitcoin-protocol)\;%(AdditionalLibraryDirectories) 40 | 41 | 42 | $(ProjectDir)..\..\..\..\..\libbitcoin-protocol\bin\$(PlatformName)\Release\$(PlatformToolset)\$(Linkage-libbitcoin-protocol)\; 43 | $(ProjectDir)..\..\..\..\..\libbitcoin-protocol\obj\libbitcoin-protocol\$(PlatformName)\Release\$(PlatformToolset)\$(Linkage-libbitcoin-protocol)\;%(AdditionalLibraryDirectories) 44 | 45 | 46 | 47 | 48 | $(ProgramFiles)\Microsoft Visual C++ Compiler Nov 2013 CTP\lib\arm;%(AdditionalLibraryDirectories) 49 | $(ProgramFiles)\Microsoft Visual C++ Compiler Nov 2013 CTP\lib\amd64;%(AdditionalLibraryDirectories) 50 | $(ProgramFiles)\Microsoft Visual C++ Compiler Nov 2013 CTP\lib;%(AdditionalLibraryDirectories) 51 | 52 | 53 | -------------------------------------------------------------------------------- /builds/msvc/vs2013/libbitcoin-protocol.import.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /builds/msvc/vs2013/libbitcoin-system.import.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | <_PropertySheetDisplayName>Libbitcoin System Import Settings 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | $(ProjectDir)..\..\..\..\..\libbitcoin-system\include\;%(AdditionalIncludeDirectories) 19 | 20 | 21 | 22 | WITH_ICU;WIN32_LEAN_AND_MEAN;NOMINMAX;_WIN32_WINNT=0x0600;%(PreprocessorDefinitions) 23 | BC_STATIC;%(PreprocessorDefinitions) 24 | 25 | 26 | libbitcoin-system.lib;%(AdditionalDependencies) 27 | 28 | 29 | 30 | 31 | $(ProjectDir)..\..\..\..\..\libbitcoin-system\bin\$(PlatformName)\Debug\CTP_Nov2013\$(Linkage-libbitcoin-system)\; 32 | $(ProjectDir)..\..\..\..\..\libbitcoin-system\obj\libbitcoin-system\$(PlatformName)\Debug\CTP_Nov2013\$(Linkage-libbitcoin-system)\;%(AdditionalLibraryDirectories) 33 | 34 | 35 | $(ProjectDir)..\..\..\..\..\libbitcoin-system\bin\$(PlatformName)\Release\CTP_Nov2013\$(Linkage-libbitcoin-system)\; 36 | $(ProjectDir)..\..\..\..\..\libbitcoin-system\obj\libbitcoin-system\$(PlatformName)\Release\CTP_Nov2013\$(Linkage-libbitcoin-system)\;%(AdditionalLibraryDirectories) 37 | 38 | 39 | 40 | 41 | $(ProjectDir)..\..\..\..\..\libbitcoin-system\bin\$(PlatformName)\Debug\$(PlatformToolset)\$(Linkage-libbitcoin-system)\; 42 | $(ProjectDir)..\..\..\..\..\libbitcoin-system\obj\libbitcoin-system\$(PlatformName)\Debug\$(PlatformToolset)\$(Linkage-libbitcoin-system)\;%(AdditionalLibraryDirectories) 43 | 44 | 45 | $(ProjectDir)..\..\..\..\..\libbitcoin-system\bin\$(PlatformName)\Release\$(PlatformToolset)\$(Linkage-libbitcoin-system)\; 46 | $(ProjectDir)..\..\..\..\..\libbitcoin-system\obj\libbitcoin-system\$(PlatformName)\Release\$(PlatformToolset)\$(Linkage-libbitcoin-system)\;%(AdditionalLibraryDirectories) 47 | 48 | 49 | 50 | 51 | $(ProgramFiles)\Microsoft Visual C++ Compiler Nov 2013 CTP\lib\arm;%(AdditionalLibraryDirectories) 52 | $(ProgramFiles)\Microsoft Visual C++ Compiler Nov 2013 CTP\lib\amd64;%(AdditionalLibraryDirectories) 53 | $(ProgramFiles)\Microsoft Visual C++ Compiler Nov 2013 CTP\lib;%(AdditionalLibraryDirectories) 54 | 55 | 56 | -------------------------------------------------------------------------------- /builds/msvc/vs2013/libbitcoin-system.import.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /builds/msvc/vs2015/libbitcoin-client-examples/libbitcoin-client-examples.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | <_PropertySheetDisplayName>Libbitcoin Client Examples 6 | AllRules.ruleset 7 | false 8 | 9 | 10 | 11 | 12 | 13 | 14 | $(RepoRoot)include\;(AdditionalIncludeDirectories) 15 | false 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | ..\..\..\..\..\.nuget\packages\ 29 | 30 | 31 | 32 | dynamic 33 | dynamic 34 | dynamic 35 | dynamic 36 | dynamic 37 | 38 | 39 | ltcg 40 | ltcg 41 | ltcg 42 | ltcg 43 | ltcg 44 | 45 | 46 | static 47 | static 48 | static 49 | static 50 | static 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | -------------------------------------------------------------------------------- /builds/msvc/vs2015/libbitcoin-client-examples/libbitcoin-client-examples.vcxproj.filters: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 10 | 11 | {FBCC58AD-93A1-4247-0000-000000000001} 12 | 13 | 14 | {FBCC58AD-93A1-4247-0000-000000000000} 15 | 16 | 17 | 18 | 19 | src 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /builds/msvc/vs2015/libbitcoin-client-examples/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /builds/msvc/vs2015/libbitcoin-client-test/libbitcoin-client-test.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | <_PropertySheetDisplayName>Libbitcoin Client Test Common Settings 6 | AllRules.ruleset 7 | false 8 | 9 | 10 | 11 | 12 | 13 | 14 | false 15 | _WIN32_WINNT=0x0600;%(PreprocessorDefinitions) 16 | BOOST_TEST_DYN_LINK;%(PreprocessorDefinitions) 17 | 18 | 19 | "$(TargetPath)" --run_test=* --show_progress=no --build_info=yes 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | ..\..\..\..\..\.nuget\packages\ 33 | 34 | 35 | 36 | dynamic 37 | dynamic 38 | dynamic 39 | dynamic 40 | dynamic 41 | 42 | 43 | ltcg 44 | ltcg 45 | ltcg 46 | ltcg 47 | ltcg 48 | 49 | 50 | static 51 | static 52 | static 53 | static 54 | static 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | -------------------------------------------------------------------------------- /builds/msvc/vs2015/libbitcoin-client-test/libbitcoin-client-test.vcxproj.filters: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 10 | 11 | {A56A00C6-669B-4535-0000-000000000000} 12 | 13 | 14 | 15 | 16 | src 17 | 18 | 19 | src 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /builds/msvc/vs2015/libbitcoin-client-test/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /builds/msvc/vs2015/libbitcoin-client.import.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | <_PropertySheetDisplayName>Libbitcoin Client Import Settings 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | $(ProjectDir)..\..\..\..\..\libbitcoin-client\include\;%(AdditionalIncludeDirectories) 19 | BCC_STATIC;%(PreprocessorDefinitions) 20 | 21 | 22 | libbitcoin-client.lib;%(AdditionalDependencies) 23 | 24 | 25 | 26 | 27 | $(ProjectDir)..\..\..\..\..\libbitcoin-client\bin\$(PlatformName)\Debug\CTP_Nov2013\$(Linkage-libbitcoin-client)\; 28 | $(ProjectDir)..\..\..\..\..\libbitcoin-client\obj\libbitcoin-client\$(PlatformName)\Debug\CTP_Nov2013\$(Linkage-libbitcoin-client)\;%(AdditionalLibraryDirectories) 29 | 30 | 31 | $(ProjectDir)..\..\..\..\..\libbitcoin-client\bin\$(PlatformName)\Release\CTP_Nov2013\$(Linkage-libbitcoin-client)\; 32 | $(ProjectDir)..\..\..\..\..\libbitcoin-client\obj\libbitcoin-client\$(PlatformName)\Release\CTP_Nov2013\$(Linkage-libbitcoin-client)\;%(AdditionalLibraryDirectories) 33 | 34 | 35 | 36 | 37 | $(ProjectDir)..\..\..\..\..\libbitcoin-client\bin\$(PlatformName)\Debug\$(PlatformToolset)\$(Linkage-libbitcoin-client)\; 38 | $(ProjectDir)..\..\..\..\..\libbitcoin-client\obj\libbitcoin-client\$(PlatformName)\Debug\$(PlatformToolset)\$(Linkage-libbitcoin-client)\;%(AdditionalLibraryDirectories) 39 | 40 | 41 | $(ProjectDir)..\..\..\..\..\libbitcoin-client\bin\$(PlatformName)\Release\$(PlatformToolset)\$(Linkage-libbitcoin-client)\; 42 | $(ProjectDir)..\..\..\..\..\libbitcoin-client\obj\libbitcoin-client\$(PlatformName)\Release\$(PlatformToolset)\$(Linkage-libbitcoin-client)\;%(AdditionalLibraryDirectories) 43 | 44 | 45 | 46 | 47 | $(ProgramFiles)\Microsoft Visual C++ Compiler Nov 2013 CTP\lib\arm;%(AdditionalLibraryDirectories) 48 | $(ProgramFiles)\Microsoft Visual C++ Compiler Nov 2013 CTP\lib\amd64;%(AdditionalLibraryDirectories) 49 | $(ProgramFiles)\Microsoft Visual C++ Compiler Nov 2013 CTP\lib;%(AdditionalLibraryDirectories) 50 | 51 | 52 | -------------------------------------------------------------------------------- /builds/msvc/vs2015/libbitcoin-client.import.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /builds/msvc/vs2015/libbitcoin-client.sln: -------------------------------------------------------------------------------- 1 | 2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 14 4 | VisualStudioVersion = 14.0.25420.1 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libbitcoin-client", "libbitcoin-client\libbitcoin-client.vcxproj", "{475E189D-F147-4122-B5FE-5BCF1153696E}" 7 | EndProject 8 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libbitcoin-client-test", "libbitcoin-client-test\libbitcoin-client-test.vcxproj", "{A56A00C6-669B-4535-9DC2-772A931B04C2}" 9 | EndProject 10 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libbitcoin-client-examples", "libbitcoin-client-examples\libbitcoin-client-examples.vcxproj", "{FBCC58AD-93A1-4247-B660-B32C61ACA680}" 11 | EndProject 12 | Global 13 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 14 | StaticDebug|Win32 = StaticDebug|Win32 15 | StaticDebug|x64 = StaticDebug|x64 16 | StaticRelease|Win32 = StaticRelease|Win32 17 | StaticRelease|x64 = StaticRelease|x64 18 | EndGlobalSection 19 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 20 | {475E189D-F147-4122-B5FE-5BCF1153696E}.StaticDebug|Win32.ActiveCfg = DebugLIB|Win32 21 | {475E189D-F147-4122-B5FE-5BCF1153696E}.StaticDebug|Win32.Build.0 = DebugLIB|Win32 22 | {475E189D-F147-4122-B5FE-5BCF1153696E}.StaticDebug|x64.ActiveCfg = DebugLIB|x64 23 | {475E189D-F147-4122-B5FE-5BCF1153696E}.StaticDebug|x64.Build.0 = DebugLIB|x64 24 | {475E189D-F147-4122-B5FE-5BCF1153696E}.StaticRelease|Win32.ActiveCfg = ReleaseLIB|Win32 25 | {475E189D-F147-4122-B5FE-5BCF1153696E}.StaticRelease|Win32.Build.0 = ReleaseLIB|Win32 26 | {475E189D-F147-4122-B5FE-5BCF1153696E}.StaticRelease|x64.ActiveCfg = ReleaseLIB|x64 27 | {475E189D-F147-4122-B5FE-5BCF1153696E}.StaticRelease|x64.Build.0 = ReleaseLIB|x64 28 | {A56A00C6-669B-4535-9DC2-772A931B04C2}.StaticDebug|Win32.ActiveCfg = DebugSEXE|Win32 29 | {A56A00C6-669B-4535-9DC2-772A931B04C2}.StaticDebug|Win32.Build.0 = DebugSEXE|Win32 30 | {A56A00C6-669B-4535-9DC2-772A931B04C2}.StaticDebug|x64.ActiveCfg = DebugSEXE|x64 31 | {A56A00C6-669B-4535-9DC2-772A931B04C2}.StaticDebug|x64.Build.0 = DebugSEXE|x64 32 | {A56A00C6-669B-4535-9DC2-772A931B04C2}.StaticRelease|Win32.ActiveCfg = ReleaseSEXE|Win32 33 | {A56A00C6-669B-4535-9DC2-772A931B04C2}.StaticRelease|Win32.Build.0 = ReleaseSEXE|Win32 34 | {A56A00C6-669B-4535-9DC2-772A931B04C2}.StaticRelease|x64.ActiveCfg = ReleaseSEXE|x64 35 | {A56A00C6-669B-4535-9DC2-772A931B04C2}.StaticRelease|x64.Build.0 = ReleaseSEXE|x64 36 | {FBCC58AD-93A1-4247-B660-B32C61ACA680}.StaticDebug|Win32.ActiveCfg = DebugSEXE|Win32 37 | {FBCC58AD-93A1-4247-B660-B32C61ACA680}.StaticDebug|Win32.Build.0 = DebugSEXE|Win32 38 | {FBCC58AD-93A1-4247-B660-B32C61ACA680}.StaticDebug|x64.ActiveCfg = DebugSEXE|x64 39 | {FBCC58AD-93A1-4247-B660-B32C61ACA680}.StaticDebug|x64.Build.0 = DebugSEXE|x64 40 | {FBCC58AD-93A1-4247-B660-B32C61ACA680}.StaticRelease|Win32.ActiveCfg = ReleaseSEXE|Win32 41 | {FBCC58AD-93A1-4247-B660-B32C61ACA680}.StaticRelease|Win32.Build.0 = ReleaseSEXE|Win32 42 | {FBCC58AD-93A1-4247-B660-B32C61ACA680}.StaticRelease|x64.ActiveCfg = ReleaseSEXE|x64 43 | {FBCC58AD-93A1-4247-B660-B32C61ACA680}.StaticRelease|x64.Build.0 = ReleaseSEXE|x64 44 | EndGlobalSection 45 | GlobalSection(SolutionProperties) = preSolution 46 | HideSolutionNode = FALSE 47 | EndGlobalSection 48 | EndGlobal 49 | -------------------------------------------------------------------------------- /builds/msvc/vs2015/libbitcoin-client/libbitcoin-client.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | <_PropertySheetDisplayName>Libbitcoin Client Library Common Settings 6 | AllRules.ruleset 7 | false 8 | 9 | 10 | 11 | 12 | 13 | 14 | $(RepoRoot)include\;%(AdditionalIncludeDirectories) 15 | false 16 | BCC_DLL;%(PreprocessorDefinitions) 17 | BCC_STATIC;%(PreprocessorDefinitions) 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | ..\..\..\..\..\.nuget\packages\ 30 | 31 | 32 | 33 | dynamic 34 | dynamic 35 | dynamic 36 | dynamic 37 | 38 | 39 | ltcg 40 | ltcg 41 | ltcg 42 | ltcg 43 | 44 | 45 | static 46 | static 47 | static 48 | static 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | -------------------------------------------------------------------------------- /builds/msvc/vs2015/libbitcoin-client/libbitcoin-client.vcxproj.filters: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 10 | 11 | {475E189D-F147-4122-0000-000000000001} 12 | 13 | 14 | {475E189D-F147-4122-0000-000000000002} 15 | 16 | 17 | {475E189D-F147-4122-0000-000000000003} 18 | 19 | 20 | {475E189D-F147-4122-0000-000000000004} 21 | 22 | 23 | {475E189D-F147-4122-0000-000000000000} 24 | 25 | 26 | 27 | 28 | src 29 | 30 | 31 | 32 | 33 | include\bitcoin 34 | 35 | 36 | include\bitcoin\client 37 | 38 | 39 | include\bitcoin\client 40 | 41 | 42 | include\bitcoin\client 43 | 44 | 45 | include\bitcoin\client 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | -------------------------------------------------------------------------------- /builds/msvc/vs2015/libbitcoin-client/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /builds/msvc/vs2015/libbitcoin-protocol.import.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | <_PropertySheetDisplayName>Libbitcoin Protocol Import Settings 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | $(ProjectDir)..\..\..\..\..\libbitcoin-protocol\include\;%(AdditionalIncludeDirectories) 19 | BCP_STATIC;%(PreprocessorDefinitions) 20 | 21 | 22 | libbitcoin-protocol.lib;%(AdditionalDependencies) 23 | Iphlpapi.lib;%(AdditionalDependencies) 24 | 25 | 26 | 27 | 28 | $(ProjectDir)..\..\..\..\..\libbitcoin-protocol\bin\$(PlatformName)\Debug\CTP_Nov2013\$(Linkage-libbitcoin-protocol)\; 29 | $(ProjectDir)..\..\..\..\..\libbitcoin-protocol\obj\libbitcoin-protocol\$(PlatformName)\Debug\CTP_Nov2013\$(Linkage-libbitcoin-protocol)\;%(AdditionalLibraryDirectories) 30 | 31 | 32 | $(ProjectDir)..\..\..\..\..\libbitcoin-protocol\bin\$(PlatformName)\Release\CTP_Nov2013\$(Linkage-libbitcoin-protocol)\; 33 | $(ProjectDir)..\..\..\..\..\libbitcoin-protocol\obj\libbitcoin-protocol\$(PlatformName)\Release\CTP_Nov2013\$(Linkage-libbitcoin-protocol)\;%(AdditionalLibraryDirectories) 34 | 35 | 36 | 37 | 38 | $(ProjectDir)..\..\..\..\..\libbitcoin-protocol\bin\$(PlatformName)\Debug\$(PlatformToolset)\$(Linkage-libbitcoin-protocol)\; 39 | $(ProjectDir)..\..\..\..\..\libbitcoin-protocol\obj\libbitcoin-protocol\$(PlatformName)\Debug\$(PlatformToolset)\$(Linkage-libbitcoin-protocol)\;%(AdditionalLibraryDirectories) 40 | 41 | 42 | $(ProjectDir)..\..\..\..\..\libbitcoin-protocol\bin\$(PlatformName)\Release\$(PlatformToolset)\$(Linkage-libbitcoin-protocol)\; 43 | $(ProjectDir)..\..\..\..\..\libbitcoin-protocol\obj\libbitcoin-protocol\$(PlatformName)\Release\$(PlatformToolset)\$(Linkage-libbitcoin-protocol)\;%(AdditionalLibraryDirectories) 44 | 45 | 46 | 47 | 48 | $(ProgramFiles)\Microsoft Visual C++ Compiler Nov 2013 CTP\lib\arm;%(AdditionalLibraryDirectories) 49 | $(ProgramFiles)\Microsoft Visual C++ Compiler Nov 2013 CTP\lib\amd64;%(AdditionalLibraryDirectories) 50 | $(ProgramFiles)\Microsoft Visual C++ Compiler Nov 2013 CTP\lib;%(AdditionalLibraryDirectories) 51 | 52 | 53 | -------------------------------------------------------------------------------- /builds/msvc/vs2015/libbitcoin-protocol.import.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /builds/msvc/vs2015/libbitcoin-system.import.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | <_PropertySheetDisplayName>Libbitcoin System Import Settings 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | $(ProjectDir)..\..\..\..\..\libbitcoin-system\include\;%(AdditionalIncludeDirectories) 19 | 20 | 21 | 22 | WITH_ICU;WIN32_LEAN_AND_MEAN;NOMINMAX;_WIN32_WINNT=0x0600;%(PreprocessorDefinitions) 23 | BC_STATIC;%(PreprocessorDefinitions) 24 | 25 | 26 | libbitcoin-system.lib;%(AdditionalDependencies) 27 | 28 | 29 | 30 | 31 | $(ProjectDir)..\..\..\..\..\libbitcoin-system\bin\$(PlatformName)\Debug\CTP_Nov2013\$(Linkage-libbitcoin-system)\; 32 | $(ProjectDir)..\..\..\..\..\libbitcoin-system\obj\libbitcoin-system\$(PlatformName)\Debug\CTP_Nov2013\$(Linkage-libbitcoin-system)\;%(AdditionalLibraryDirectories) 33 | 34 | 35 | $(ProjectDir)..\..\..\..\..\libbitcoin-system\bin\$(PlatformName)\Release\CTP_Nov2013\$(Linkage-libbitcoin-system)\; 36 | $(ProjectDir)..\..\..\..\..\libbitcoin-system\obj\libbitcoin-system\$(PlatformName)\Release\CTP_Nov2013\$(Linkage-libbitcoin-system)\;%(AdditionalLibraryDirectories) 37 | 38 | 39 | 40 | 41 | $(ProjectDir)..\..\..\..\..\libbitcoin-system\bin\$(PlatformName)\Debug\$(PlatformToolset)\$(Linkage-libbitcoin-system)\; 42 | $(ProjectDir)..\..\..\..\..\libbitcoin-system\obj\libbitcoin-system\$(PlatformName)\Debug\$(PlatformToolset)\$(Linkage-libbitcoin-system)\;%(AdditionalLibraryDirectories) 43 | 44 | 45 | $(ProjectDir)..\..\..\..\..\libbitcoin-system\bin\$(PlatformName)\Release\$(PlatformToolset)\$(Linkage-libbitcoin-system)\; 46 | $(ProjectDir)..\..\..\..\..\libbitcoin-system\obj\libbitcoin-system\$(PlatformName)\Release\$(PlatformToolset)\$(Linkage-libbitcoin-system)\;%(AdditionalLibraryDirectories) 47 | 48 | 49 | 50 | 51 | $(ProgramFiles)\Microsoft Visual C++ Compiler Nov 2013 CTP\lib\arm;%(AdditionalLibraryDirectories) 52 | $(ProgramFiles)\Microsoft Visual C++ Compiler Nov 2013 CTP\lib\amd64;%(AdditionalLibraryDirectories) 53 | $(ProgramFiles)\Microsoft Visual C++ Compiler Nov 2013 CTP\lib;%(AdditionalLibraryDirectories) 54 | 55 | 56 | -------------------------------------------------------------------------------- /builds/msvc/vs2015/libbitcoin-system.import.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /builds/msvc/vs2022/libbitcoin-client-examples/libbitcoin-client-examples.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | <_PropertySheetDisplayName>Libbitcoin Client Examples 6 | AllRules.ruleset 7 | false 8 | 9 | 10 | 11 | 12 | 13 | 14 | $(RepoRoot)include\;(AdditionalIncludeDirectories) 15 | false 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | ..\..\..\..\..\.nuget\packages\ 29 | 30 | 31 | 32 | dynamic 33 | dynamic 34 | dynamic 35 | dynamic 36 | dynamic 37 | 38 | 39 | ltcg 40 | ltcg 41 | ltcg 42 | ltcg 43 | ltcg 44 | 45 | 46 | static 47 | static 48 | static 49 | static 50 | static 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | -------------------------------------------------------------------------------- /builds/msvc/vs2022/libbitcoin-client-examples/libbitcoin-client-examples.vcxproj: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 10 | Application 11 | v143 12 | {FBCC58AD-93A1-4247-B660-B32C61ACA680} 13 | libbitcoin-client-examples 14 | 15 | 16 | 17 | DebugDEXE 18 | Win32 19 | 20 | 21 | ReleaseDEXE 22 | Win32 23 | 24 | 25 | DebugDEXE 26 | x64 27 | 28 | 29 | ReleaseDEXE 30 | x64 31 | 32 | 33 | DebugLEXE 34 | Win32 35 | 36 | 37 | ReleaseLEXE 38 | Win32 39 | 40 | 41 | DebugLEXE 42 | x64 43 | 44 | 45 | ReleaseLEXE 46 | x64 47 | 48 | 49 | DebugSEXE 50 | Win32 51 | 52 | 53 | ReleaseSEXE 54 | Win32 55 | 56 | 57 | DebugSEXE 58 | x64 59 | 60 | 61 | ReleaseSEXE 62 | x64 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | {475E189D-F147-4122-B5FE-5BCF1153696E} 112 | 113 | 114 | 115 | 116 | 117 | 118 | -------------------------------------------------------------------------------- /builds/msvc/vs2022/libbitcoin-client-examples/libbitcoin-client-examples.vcxproj.filters: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 10 | 11 | {FBCC58AD-93A1-4247-0000-000000000001} 12 | 13 | 14 | {FBCC58AD-93A1-4247-0000-000000000000} 15 | 16 | 17 | 18 | 19 | src 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /builds/msvc/vs2022/libbitcoin-client-examples/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /builds/msvc/vs2022/libbitcoin-client-test/libbitcoin-client-test.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | <_PropertySheetDisplayName>Libbitcoin Client Test Common Settings 6 | AllRules.ruleset 7 | false 8 | 9 | 10 | 11 | 12 | 13 | 14 | false 15 | _WIN32_WINNT=0x0600;%(PreprocessorDefinitions) 16 | BOOST_TEST_DYN_LINK;%(PreprocessorDefinitions) 17 | 18 | 19 | "$(TargetPath)" --run_test=* --show_progress=no --build_info=yes 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | ..\..\..\..\..\.nuget\packages\ 33 | 34 | 35 | 36 | dynamic 37 | dynamic 38 | dynamic 39 | dynamic 40 | dynamic 41 | 42 | 43 | ltcg 44 | ltcg 45 | ltcg 46 | ltcg 47 | ltcg 48 | 49 | 50 | static 51 | static 52 | static 53 | static 54 | static 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | -------------------------------------------------------------------------------- /builds/msvc/vs2022/libbitcoin-client-test/libbitcoin-client-test.vcxproj.filters: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 10 | 11 | {A56A00C6-669B-4535-0000-000000000000} 12 | 13 | 14 | 15 | 16 | src 17 | 18 | 19 | src 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /builds/msvc/vs2022/libbitcoin-client-test/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /builds/msvc/vs2022/libbitcoin-client.import.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | <_PropertySheetDisplayName>Libbitcoin Client Import Settings 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | $(ProjectDir)..\..\..\..\..\libbitcoin-client\include\;%(AdditionalIncludeDirectories) 19 | BCC_STATIC;%(PreprocessorDefinitions) 20 | 21 | 22 | libbitcoin-client.lib;%(AdditionalDependencies) 23 | 24 | 25 | 26 | $(ProjectDir)..\..\..\..\..\libbitcoin-client\bin\$(PlatformName)\Debug\$(PlatformToolset)\$(Linkage-libbitcoin-client)\; 27 | $(ProjectDir)..\..\..\..\..\libbitcoin-client\obj\libbitcoin-client\$(PlatformName)\Debug\$(PlatformToolset)\$(Linkage-libbitcoin-client)\;%(AdditionalLibraryDirectories) 28 | 29 | 30 | $(ProjectDir)..\..\..\..\..\libbitcoin-client\bin\$(PlatformName)\Release\$(PlatformToolset)\$(Linkage-libbitcoin-client)\; 31 | $(ProjectDir)..\..\..\..\..\libbitcoin-client\obj\libbitcoin-client\$(PlatformName)\Release\$(PlatformToolset)\$(Linkage-libbitcoin-client)\;%(AdditionalLibraryDirectories) 32 | 33 | 34 | 35 | -------------------------------------------------------------------------------- /builds/msvc/vs2022/libbitcoin-client.import.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /builds/msvc/vs2022/libbitcoin-client.sln: -------------------------------------------------------------------------------- 1 | 2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 15 4 | VisualStudioVersion = 15.0.27004.2010 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libbitcoin-client", "libbitcoin-client\libbitcoin-client.vcxproj", "{475E189D-F147-4122-B5FE-5BCF1153696E}" 7 | EndProject 8 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libbitcoin-client-test", "libbitcoin-client-test\libbitcoin-client-test.vcxproj", "{A56A00C6-669B-4535-9DC2-772A931B04C2}" 9 | EndProject 10 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libbitcoin-client-examples", "libbitcoin-client-examples\libbitcoin-client-examples.vcxproj", "{FBCC58AD-93A1-4247-B660-B32C61ACA680}" 11 | EndProject 12 | Global 13 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 14 | StaticDebug|Win32 = StaticDebug|Win32 15 | StaticDebug|x64 = StaticDebug|x64 16 | StaticRelease|Win32 = StaticRelease|Win32 17 | StaticRelease|x64 = StaticRelease|x64 18 | EndGlobalSection 19 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 20 | {475E189D-F147-4122-B5FE-5BCF1153696E}.StaticDebug|Win32.ActiveCfg = DebugLIB|Win32 21 | {475E189D-F147-4122-B5FE-5BCF1153696E}.StaticDebug|Win32.Build.0 = DebugLIB|Win32 22 | {475E189D-F147-4122-B5FE-5BCF1153696E}.StaticDebug|x64.ActiveCfg = DebugLIB|x64 23 | {475E189D-F147-4122-B5FE-5BCF1153696E}.StaticDebug|x64.Build.0 = DebugLIB|x64 24 | {475E189D-F147-4122-B5FE-5BCF1153696E}.StaticRelease|Win32.ActiveCfg = ReleaseLIB|Win32 25 | {475E189D-F147-4122-B5FE-5BCF1153696E}.StaticRelease|Win32.Build.0 = ReleaseLIB|Win32 26 | {475E189D-F147-4122-B5FE-5BCF1153696E}.StaticRelease|x64.ActiveCfg = ReleaseLIB|x64 27 | {475E189D-F147-4122-B5FE-5BCF1153696E}.StaticRelease|x64.Build.0 = ReleaseLIB|x64 28 | {A56A00C6-669B-4535-9DC2-772A931B04C2}.StaticDebug|Win32.ActiveCfg = DebugSEXE|Win32 29 | {A56A00C6-669B-4535-9DC2-772A931B04C2}.StaticDebug|Win32.Build.0 = DebugSEXE|Win32 30 | {A56A00C6-669B-4535-9DC2-772A931B04C2}.StaticDebug|x64.ActiveCfg = DebugSEXE|x64 31 | {A56A00C6-669B-4535-9DC2-772A931B04C2}.StaticDebug|x64.Build.0 = DebugSEXE|x64 32 | {A56A00C6-669B-4535-9DC2-772A931B04C2}.StaticRelease|Win32.ActiveCfg = ReleaseSEXE|Win32 33 | {A56A00C6-669B-4535-9DC2-772A931B04C2}.StaticRelease|Win32.Build.0 = ReleaseSEXE|Win32 34 | {A56A00C6-669B-4535-9DC2-772A931B04C2}.StaticRelease|x64.ActiveCfg = ReleaseSEXE|x64 35 | {A56A00C6-669B-4535-9DC2-772A931B04C2}.StaticRelease|x64.Build.0 = ReleaseSEXE|x64 36 | {FBCC58AD-93A1-4247-B660-B32C61ACA680}.StaticDebug|Win32.ActiveCfg = DebugSEXE|Win32 37 | {FBCC58AD-93A1-4247-B660-B32C61ACA680}.StaticDebug|Win32.Build.0 = DebugSEXE|Win32 38 | {FBCC58AD-93A1-4247-B660-B32C61ACA680}.StaticDebug|x64.ActiveCfg = DebugSEXE|x64 39 | {FBCC58AD-93A1-4247-B660-B32C61ACA680}.StaticDebug|x64.Build.0 = DebugSEXE|x64 40 | {FBCC58AD-93A1-4247-B660-B32C61ACA680}.StaticRelease|Win32.ActiveCfg = ReleaseSEXE|Win32 41 | {FBCC58AD-93A1-4247-B660-B32C61ACA680}.StaticRelease|Win32.Build.0 = ReleaseSEXE|Win32 42 | {FBCC58AD-93A1-4247-B660-B32C61ACA680}.StaticRelease|x64.ActiveCfg = ReleaseSEXE|x64 43 | {FBCC58AD-93A1-4247-B660-B32C61ACA680}.StaticRelease|x64.Build.0 = ReleaseSEXE|x64 44 | EndGlobalSection 45 | GlobalSection(SolutionProperties) = preSolution 46 | HideSolutionNode = FALSE 47 | EndGlobalSection 48 | EndGlobal 49 | -------------------------------------------------------------------------------- /builds/msvc/vs2022/libbitcoin-client/libbitcoin-client.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | <_PropertySheetDisplayName>Libbitcoin Client Library Common Settings 6 | AllRules.ruleset 7 | false 8 | 9 | 10 | 11 | 12 | 13 | 14 | $(RepoRoot)include\;%(AdditionalIncludeDirectories) 15 | false 16 | BCC_DLL;%(PreprocessorDefinitions) 17 | BCC_STATIC;%(PreprocessorDefinitions) 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | ..\..\..\..\..\.nuget\packages\ 30 | 31 | 32 | 33 | dynamic 34 | dynamic 35 | dynamic 36 | dynamic 37 | 38 | 39 | ltcg 40 | ltcg 41 | ltcg 42 | ltcg 43 | 44 | 45 | static 46 | static 47 | static 48 | static 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | -------------------------------------------------------------------------------- /builds/msvc/vs2022/libbitcoin-client/libbitcoin-client.vcxproj: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 10 | v143 11 | {475E189D-F147-4122-B5FE-5BCF1153696E} 12 | libbitcoin-client 13 | 14 | 15 | 16 | DebugDLL 17 | Win32 18 | 19 | 20 | ReleaseDLL 21 | Win32 22 | 23 | 24 | DebugDLL 25 | x64 26 | 27 | 28 | ReleaseDLL 29 | x64 30 | 31 | 32 | DebugLTCG 33 | Win32 34 | 35 | 36 | ReleaseLTCG 37 | Win32 38 | 39 | 40 | DebugLTCG 41 | x64 42 | 43 | 44 | ReleaseLTCG 45 | x64 46 | 47 | 48 | DebugLIB 49 | Win32 50 | 51 | 52 | ReleaseLIB 53 | Win32 54 | 55 | 56 | DebugLIB 57 | x64 58 | 59 | 60 | ReleaseLIB 61 | x64 62 | 63 | 64 | 65 | StaticLibrary 66 | DynamicLibrary 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | -------------------------------------------------------------------------------- /builds/msvc/vs2022/libbitcoin-client/libbitcoin-client.vcxproj.filters: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 10 | 11 | {475E189D-F147-4122-0000-000000000001} 12 | 13 | 14 | {475E189D-F147-4122-0000-000000000002} 15 | 16 | 17 | {475E189D-F147-4122-0000-000000000003} 18 | 19 | 20 | {475E189D-F147-4122-0000-000000000004} 21 | 22 | 23 | {475E189D-F147-4122-0000-000000000000} 24 | 25 | 26 | 27 | 28 | src 29 | 30 | 31 | 32 | 33 | include\bitcoin 34 | 35 | 36 | include\bitcoin\client 37 | 38 | 39 | include\bitcoin\client 40 | 41 | 42 | include\bitcoin\client 43 | 44 | 45 | include\bitcoin\client 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | -------------------------------------------------------------------------------- /builds/msvc/vs2022/libbitcoin-client/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /builds/msvc/vs2022/libbitcoin-protocol.import.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | <_PropertySheetDisplayName>Libbitcoin Protocol Import Settings 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | $(ProjectDir)..\..\..\..\..\libbitcoin-protocol\include\;%(AdditionalIncludeDirectories) 19 | BCP_STATIC;%(PreprocessorDefinitions) 20 | 21 | 22 | libbitcoin-protocol.lib;%(AdditionalDependencies) 23 | Iphlpapi.lib;%(AdditionalDependencies) 24 | 25 | 26 | 27 | $(ProjectDir)..\..\..\..\..\libbitcoin-protocol\bin\$(PlatformName)\Debug\$(PlatformToolset)\$(Linkage-libbitcoin-protocol)\; 28 | $(ProjectDir)..\..\..\..\..\libbitcoin-protocol\obj\libbitcoin-protocol\$(PlatformName)\Debug\$(PlatformToolset)\$(Linkage-libbitcoin-protocol)\;%(AdditionalLibraryDirectories) 29 | 30 | 31 | $(ProjectDir)..\..\..\..\..\libbitcoin-protocol\bin\$(PlatformName)\Release\$(PlatformToolset)\$(Linkage-libbitcoin-protocol)\; 32 | $(ProjectDir)..\..\..\..\..\libbitcoin-protocol\obj\libbitcoin-protocol\$(PlatformName)\Release\$(PlatformToolset)\$(Linkage-libbitcoin-protocol)\;%(AdditionalLibraryDirectories) 33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /builds/msvc/vs2022/libbitcoin-protocol.import.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /builds/msvc/vs2022/libbitcoin-system.import.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | <_PropertySheetDisplayName>Libbitcoin System Import Settings 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | $(ProjectDir)..\..\..\..\..\libbitcoin-system\include\;%(AdditionalIncludeDirectories) 19 | 20 | 21 | 22 | 23 | WITH_ICU;WIN32_LEAN_AND_MEAN;NOMINMAX;_WIN32_WINNT=0x0600;%(PreprocessorDefinitions) 24 | BC_STATIC;%(PreprocessorDefinitions) 25 | 26 | 27 | libbitcoin-system.lib;%(AdditionalDependencies) 28 | 29 | 30 | 31 | $(ProjectDir)..\..\..\..\..\libbitcoin-system\bin\$(PlatformName)\Debug\$(PlatformToolset)\$(Linkage-libbitcoin-system)\; 32 | $(ProjectDir)..\..\..\..\..\libbitcoin-system\obj\libbitcoin-system\$(PlatformName)\Debug\$(PlatformToolset)\$(Linkage-libbitcoin-system)\;%(AdditionalLibraryDirectories) 33 | 34 | 35 | $(ProjectDir)..\..\..\..\..\libbitcoin-system\bin\$(PlatformName)\Release\$(PlatformToolset)\$(Linkage-libbitcoin-system)\; 36 | $(ProjectDir)..\..\..\..\..\libbitcoin-system\obj\libbitcoin-system\$(PlatformName)\Release\$(PlatformToolset)\$(Linkage-libbitcoin-system)\;%(AdditionalLibraryDirectories) 37 | 38 | 39 | 40 | 41 | -------------------------------------------------------------------------------- /builds/msvc/vs2022/libbitcoin-system.import.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /examples/console/client.cpp: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2011-2023 libbitcoin developers (see AUTHORS) 3 | * 4 | * This file is part of libbitcoin. 5 | * 6 | * This program is free software: you can redistribute it and/or modify 7 | * it under the terms of the GNU Affero General Public License as published by 8 | * the Free Software Foundation, either version 3 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU Affero General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU Affero General Public License 17 | * along with this program. If not, see . 18 | */ 19 | #include "client.hpp" 20 | 21 | #include 22 | #include 23 | #include 24 | #include 25 | #include 26 | #include "read_line.hpp" 27 | 28 | using namespace bc::client; 29 | using namespace bc::protocol; 30 | using namespace bc::system; 31 | using namespace bc::system::chain; 32 | using namespace bc::system::wallet; 33 | 34 | client::client() 35 | : done_(false) 36 | { 37 | } 38 | 39 | void client::cmd_exit(std::stringstream&) 40 | { 41 | done_ = true; 42 | } 43 | 44 | void client::cmd_help(std::stringstream&) 45 | { 46 | std::cout << "Commands:" << std::endl; 47 | std::cout << " exit [ or quit ] - Leave the program" << std::endl; 48 | std::cout << " help - Display this menu" << std::endl; 49 | std::cout << " connect - Connect to a server" << std::endl; 50 | std::cout << " disconnect - Disconnect from the server" << std::endl; 51 | std::cout << " version - Fetch the server's version" << std::endl; 52 | std::cout << " height - Fetch last block height" << std::endl; 53 | std::cout << " header - Fetch a block's header" << std::endl; 54 | std::cout << " history
- Fetch an address' history" << std::endl; 55 | } 56 | 57 | void client::cmd_connect(std::stringstream& args) 58 | { 59 | static constexpr size_t retries = 3; 60 | 61 | std::string server; 62 | if (!read_string(args, server, "error: no server given")) 63 | return; 64 | 65 | std::cout << "Connecting to " << server << std::endl; 66 | 67 | connection_ = std::make_shared(retries); 68 | if (!connection_ || !connection_->connect(config::endpoint(server))) 69 | std::cerr << "Failed to connect to " << server << std::endl; 70 | } 71 | 72 | void client::cmd_disconnect(std::stringstream&) 73 | { 74 | connection_.reset(); 75 | std::cout << "Disconnected from server" << std::endl; 76 | } 77 | 78 | void client::cmd_version(std::stringstream&) 79 | { 80 | if (!connection_) 81 | { 82 | std::cerr << "Connect to a server first." << std::endl; 83 | return; 84 | } 85 | 86 | auto handler = [](const code& ec, const std::string& version) 87 | { 88 | if (ec) 89 | std::cerr << "Failed to retrieve version: " << ec.message() 90 | << std::endl; 91 | else 92 | std::cout << "Version: " << version << std::endl; 93 | }; 94 | 95 | connection_->server_version(handler); 96 | connection_->wait(); 97 | } 98 | 99 | void client::cmd_height(std::stringstream&) 100 | { 101 | if (!connection_) 102 | { 103 | std::cerr << "Connect to a server first." << std::endl; 104 | return; 105 | } 106 | 107 | auto handler = [](const code& ec, size_t height) 108 | { 109 | if (ec) 110 | std::cerr << "Failed to retrieve height: " << ec.message() 111 | << std::endl; 112 | else 113 | std::cout << "Height: " << height << std::endl; 114 | }; 115 | 116 | connection_->blockchain_fetch_last_height(handler); 117 | connection_->wait(); 118 | } 119 | 120 | void client::cmd_history(std::stringstream& args) 121 | { 122 | if (!connection_) 123 | { 124 | std::cerr << "Connect to a server first." << std::endl; 125 | return; 126 | } 127 | 128 | payment_address address; 129 | if (!read_address(args, address)) 130 | return; 131 | 132 | auto handler = [](const code& ec, const history::list& history) 133 | { 134 | if (ec != error::success) 135 | std::cerr << "Failed to retrieve history: " << ec.message() 136 | << std::endl; 137 | else 138 | for (const auto& row: history) 139 | std::cout << "History value: " << row.value << std::endl; 140 | }; 141 | 142 | const auto key = sha256_hash(address.output_script().to_data(false)); 143 | connection_->blockchain_fetch_history4(handler, key); 144 | connection_->wait(); 145 | } 146 | 147 | void client::cmd_header(std::stringstream& args) 148 | { 149 | if (!connection_) 150 | { 151 | std::cerr << "Connect to a server first." << std::endl; 152 | return; 153 | } 154 | 155 | hash_digest hash{}; 156 | if (!read_hash(args, hash)) 157 | return; 158 | 159 | auto handler = [](const code& ec, const header& header) 160 | { 161 | if (ec) 162 | { 163 | std::cerr << "Failed to retrieve block header: " << ec.message() 164 | << std::endl; 165 | return; 166 | } 167 | 168 | std::cout << "Header : " << encode_base16(header.hash()) 169 | << std::endl; 170 | std::cout << "Bits : " << header.bits() << std::endl; 171 | std::cout << "Merkle Tree Hash: " 172 | << encode_base16(header.merkle_root()) << std::endl; 173 | std::cout << "Nonce : " << header.nonce() << std::endl; 174 | std::cout << "Previous Hash : " 175 | << encode_base16(header.previous_block_hash()) << std::endl; 176 | std::cout << "Timestamp : " << header.timestamp() << std::endl; 177 | std::cout << "Version : " << header.version() << std::endl; 178 | }; 179 | 180 | connection_->blockchain_fetch_block_header(handler, hash); 181 | connection_->wait(); 182 | } 183 | 184 | int client::run() 185 | { 186 | static const size_t delay_milliseconds = 100; 187 | 188 | std::cout << "Type \"help\" for supported instructions" << std::endl; 189 | terminal_.show_prompt(); 190 | 191 | const auto terminal_socket_id = terminal_.socket().id(); 192 | zmq::poller poller; 193 | poller.add(terminal_.socket()); 194 | 195 | while (!poller.terminated() && !done_) 196 | { 197 | if (poller.wait(delay_milliseconds).contains(terminal_socket_id)) 198 | command(); 199 | } 200 | 201 | return 0; 202 | } 203 | 204 | void client::command() 205 | { 206 | typedef std::function handler; 207 | typedef std::unordered_map handler_map; 208 | 209 | static const handler_map handlers = 210 | { 211 | { "exit", [this](std::stringstream& args) { cmd_exit(args); } }, 212 | { "quit", [this](std::stringstream& args) { cmd_exit(args); } }, 213 | { "help", [this](std::stringstream& args) { cmd_help(args); } }, 214 | { "connect", [this](std::stringstream& args) { cmd_connect(args); } }, 215 | { "disconnect", [this](std::stringstream& args) { cmd_disconnect(args); } }, 216 | { "version", [this](std::stringstream& args) { cmd_version(args); } }, 217 | { "height", [this](std::stringstream& args) { cmd_height(args); } }, 218 | { "history", [this](std::stringstream& args) { cmd_history(args); } }, 219 | { "header", [this](std::stringstream& args) { cmd_header(args); } } 220 | }; 221 | 222 | std::stringstream reader(terminal_.get_line()); 223 | std::string command; 224 | reader >> command; 225 | 226 | auto command_handler = handlers.find(command); 227 | if (command_handler != handlers.end()) 228 | command_handler->second(reader); 229 | else 230 | std::cout << "Unknown command " << command << std::endl; 231 | 232 | if (!done_) 233 | terminal_.show_prompt(); 234 | } 235 | 236 | bool client::read_string(std::stringstream& args, std::string& out, 237 | const std::string& error_message) 238 | { 239 | args >> out; 240 | if (!out.size()) 241 | { 242 | std::cout << error_message << std::endl; 243 | return false; 244 | } 245 | 246 | return true; 247 | } 248 | 249 | bool client::read_address(std::stringstream& args, payment_address& out) 250 | { 251 | std::string address; 252 | if (!read_string(args, address, "error: no address given")) 253 | return false; 254 | 255 | payment_address payment(address); 256 | if (!payment) 257 | { 258 | std::cout << "Error: invalid address " << address << std::endl; 259 | return false; 260 | } 261 | 262 | out = payment; 263 | return true; 264 | } 265 | 266 | bool client::read_hash(std::stringstream& args, hash_digest& out) 267 | { 268 | std::string hash_string; 269 | if (!read_string(args, hash_string, "error: no hash given")) 270 | return false; 271 | 272 | hash_digest hash{}; 273 | if (!decode_hash(hash, hash_string)) 274 | { 275 | std::cout << "Error: invalid hash " << hash_string << std::endl; 276 | return false; 277 | } 278 | 279 | out = hash; 280 | return true; 281 | } 282 | -------------------------------------------------------------------------------- /examples/console/client.hpp: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2011-2023 libbitcoin developers (see AUTHORS) 3 | * 4 | * This file is part of libbitcoin. 5 | * 6 | * This program is free software: you can redistribute it and/or modify 7 | * it under the terms of the GNU Affero General Public License as published by 8 | * the Free Software Foundation, either version 3 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU Affero General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU Affero General Public License 17 | * along with this program. If not, see . 18 | */ 19 | #ifndef BITCOIN_CLIENT_CLIENT_HPP 20 | #define BITCOIN_CLIENT_CLIENT_HPP 21 | 22 | #include 23 | #include 24 | #include 25 | #include 26 | #include 27 | #include "read_line.hpp" 28 | 29 | /** 30 | * Command-line interface for talking to the obelisk server. 31 | */ 32 | class client 33 | { 34 | public: 35 | /** 36 | * Constructor. 37 | */ 38 | client(); 39 | 40 | /** 41 | * The main loop for the example application. This loop can be woken up 42 | * by either events from the network or by input from the terminal. 43 | */ 44 | int run(); 45 | 46 | private: 47 | 48 | /** 49 | * The commands. 50 | */ 51 | void cmd_exit(std::stringstream& args); 52 | void cmd_help(std::stringstream& args); 53 | void cmd_connect(std::stringstream& args); 54 | void cmd_disconnect(std::stringstream& args); 55 | void cmd_version(std::stringstream& args); 56 | void cmd_height(std::stringstream& args); 57 | void cmd_history(std::stringstream& args); 58 | void cmd_header(std::stringstream& args); 59 | 60 | /** 61 | * Reads a command from the terminal thread, and processes it appropriately. 62 | */ 63 | void command(); 64 | 65 | /** 66 | * Parses a string argument out of the command line, or prints an error 67 | * message if there is none. 68 | */ 69 | bool read_string(std::stringstream& args, std::string& out, 70 | const std::string& error_message); 71 | 72 | /** 73 | * Reads a bitcoin address from the command-line, or prints an error if 74 | * the address is missing or invalid. 75 | */ 76 | bool read_address(std::stringstream& args, 77 | bc::system::wallet::payment_address& out); 78 | 79 | /** 80 | * Reads a 64 byte hex encoded hash from the command-line, or 81 | * prints an error if the hash is missing or invalid. 82 | */ 83 | bool read_hash(std::stringstream& args, bc::system::hash_digest& out); 84 | 85 | /** 86 | * Private members. 87 | */ 88 | bool done_; 89 | read_line terminal_; 90 | std::shared_ptr connection_; 91 | }; 92 | 93 | #endif 94 | -------------------------------------------------------------------------------- /examples/console/main.cpp: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2011-2023 libbitcoin developers (see AUTHORS) 3 | * 4 | * This file is part of libbitcoin. 5 | * 6 | * This program is free software: you can redistribute it and/or modify 7 | * it under the terms of the GNU Affero General Public License as published by 8 | * the Free Software Foundation, either version 3 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU Affero General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU Affero General Public License 17 | * along with this program. If not, see . 18 | */ 19 | #include "client.hpp" 20 | 21 | int main() 22 | { 23 | client client; 24 | return client.run(); 25 | } 26 | -------------------------------------------------------------------------------- /examples/console/read_line.cpp: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2011-2023 libbitcoin developers (see AUTHORS) 3 | * 4 | * This file is part of libbitcoin. 5 | * 6 | * This program is free software: you can redistribute it and/or modify 7 | * it under the terms of the GNU Affero General Public License as published by 8 | * the Free Software Foundation, either version 3 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU Affero General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU Affero General Public License 17 | * along with this program. If not, see . 18 | */ 19 | #include "read_line.hpp" 20 | 21 | #include 22 | #include 23 | #include 24 | #include 25 | #include 26 | #include 27 | 28 | using namespace bc::system; 29 | using namespace bc::protocol; 30 | 31 | uint32_t signal_halt = 0; 32 | uint32_t signal_continue = 1; 33 | 34 | read_line::read_line() 35 | : socket_(context_, zmq::socket::role::requester) 36 | { 37 | DEBUG_ONLY(const auto ec =) socket_.bind({ "inproc://terminal" }); 38 | BITCOIN_ASSERT(!ec); 39 | 40 | // The thread must be constructed after the socket is already bound. 41 | thread_ = std::make_shared(std::bind(&read_line::run, this)); 42 | } 43 | 44 | read_line::~read_line() 45 | { 46 | zmq::message message; 47 | message.enqueue_little_endian(signal_halt); 48 | DEBUG_ONLY(const auto ec =) socket_.send(message); 49 | BITCOIN_ASSERT(!ec); 50 | thread_->join(); 51 | } 52 | 53 | void read_line::show_prompt() 54 | { 55 | std::cout << "> " << std::flush; 56 | zmq::message message; 57 | message.enqueue_little_endian(signal_continue); 58 | DEBUG_ONLY(const auto ec =) socket_.send(message); 59 | BITCOIN_ASSERT(!ec); 60 | } 61 | 62 | std::string read_line::get_line() 63 | { 64 | code ec; 65 | zmq::poller poller; 66 | poller.add(socket_); 67 | 68 | if (poller.wait().contains(socket_.id())) 69 | { 70 | zmq::message message; 71 | ec = socket_.receive(message); 72 | BITCOIN_ASSERT(!ec); 73 | return message.dequeue_text(); 74 | } 75 | 76 | return{}; 77 | } 78 | 79 | void read_line::run() 80 | { 81 | zmq::socket socket(context_, zmq::socket::role::replier); 82 | auto ec = socket.connect({ "inproc://terminal" }); 83 | BITCOIN_ASSERT(!ec); 84 | 85 | while (true) 86 | { 87 | uint32_t signal; 88 | zmq::message message; 89 | ec = socket.receive(message); 90 | BITCOIN_ASSERT(!ec); 91 | 92 | if (!message.dequeue(signal) || signal == signal_halt) 93 | break; 94 | 95 | // Read input: 96 | char line[1000]; 97 | std::cin.getline(line, sizeof(line)); 98 | std::string text(line); 99 | 100 | zmq::message response; 101 | response.enqueue(text); 102 | ec = socket.send(response); 103 | BITCOIN_ASSERT(!ec); 104 | } 105 | } 106 | 107 | zmq::socket& read_line::socket() 108 | { 109 | return socket_; 110 | } 111 | -------------------------------------------------------------------------------- /examples/console/read_line.hpp: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2011-2023 libbitcoin developers (see AUTHORS) 3 | * 4 | * This file is part of libbitcoin. 5 | * 6 | * This program is free software: you can redistribute it and/or modify 7 | * it under the terms of the GNU Affero General Public License as published by 8 | * the Free Software Foundation, either version 3 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU Affero General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU Affero General Public License 17 | * along with this program. If not, see . 18 | */ 19 | #ifndef BITCOIN_CLIENT_READ_LINE_HPP 20 | #define BITCOIN_CLIENT_READ_LINE_HPP 21 | 22 | #include 23 | #include 24 | #include 25 | #include 26 | 27 | /* 28 | * Reads lines from the terminal in a separate thread. 29 | * 30 | * A networking thread cannot use the C++ standard library to read from the 31 | * terminal. Once the thread calls std::cin.getline or similar, it becomes 32 | * stuck until the user types something, so the thread cannot handle network 33 | * events at the same time. Therefore, the network stuff and the terminal 34 | * stuff need to run in separate threads. 35 | * 36 | * The simplest solution is to create a thread that simply reads from the 37 | * terminal and transmits the results over a zeromq inproc socket. The main 38 | * thread sends an empty REQ message when it wants to read from the terminal, 39 | * and the reader thread sends back a REP message with whatever the user 40 | * typed. If the main thread sends a non-empty REQ message, the thread quits. 41 | * 42 | * To use this class, first call `show_prompt`. This call will display a 43 | * command prompt and begin reading input in the background. Then, use 44 | * `pollitem` with `zmq_poll` to determine when the line is available. Once 45 | * the line is available, use `get_line` to retrieve it. 46 | * 47 | * If you attempt to destroy this class while reading a line, the destructor 48 | * will block until the user finishes their entry. 49 | */ 50 | class read_line 51 | { 52 | public: 53 | read_line(); 54 | 55 | ~read_line(); 56 | 57 | /** 58 | * Displays a command prompt and begins reading a line in the background. 59 | */ 60 | void show_prompt(); 61 | 62 | /** 63 | * Retrieves the line requested by `show_prompt`. This method will 64 | * return a blank string if no line is available yet. 65 | */ 66 | std::string get_line(); 67 | 68 | virtual bc::protocol::zmq::socket& socket(); 69 | 70 | private: 71 | void run(); 72 | 73 | bc::protocol::zmq::context context_; 74 | bc::protocol::zmq::socket socket_; 75 | std::shared_ptr thread_; 76 | }; 77 | 78 | #endif 79 | -------------------------------------------------------------------------------- /examples/get_height/main.cpp: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2011-2023 libbitcoin developers (see AUTHORS) 3 | * 4 | * This file is part of libbitcoin. 5 | * 6 | * This program is free software: you can redistribute it and/or modify 7 | * it under the terms of the GNU Affero General Public License as published by 8 | * the Free Software Foundation, either version 3 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU Affero General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU Affero General Public License 17 | * along with this program. If not, see . 18 | */ 19 | #include 20 | #include 21 | #include 22 | 23 | using namespace bc::system; 24 | using namespace bc::client; 25 | using namespace bc::protocol; 26 | 27 | /** 28 | * A minimal example that connects to a server and fetches height. 29 | */ 30 | int main(int argc, char* argv[]) 31 | { 32 | if (argc != 2) 33 | { 34 | std::cerr << "usage: " << argv[0] << " " << std::endl; 35 | return 1; 36 | } 37 | 38 | const auto completion_handler = [](const code& ec, size_t height) 39 | { 40 | if (ec) 41 | std::cerr << "Failed retrieving height: " << ec.message() << std::endl; 42 | else 43 | std::cout << "Height: " << height << std::endl; 44 | }; 45 | 46 | obelisk_client client; 47 | client.connect(config::endpoint(argv[1])); 48 | 49 | // Make the request. 50 | client.blockchain_fetch_last_height(completion_handler); 51 | client.wait(); 52 | 53 | return 0; 54 | } 55 | -------------------------------------------------------------------------------- /include/bitcoin/client.hpp: -------------------------------------------------------------------------------- 1 | /////////////////////////////////////////////////////////////////////////////// 2 | // Copyright (c) 2014-2023 libbitcoin-client developers (see COPYING). 3 | // 4 | // GENERATED SOURCE CODE, DO NOT EDIT EXCEPT EXPERIMENTALLY 5 | // 6 | /////////////////////////////////////////////////////////////////////////////// 7 | #ifndef LIBBITCOIN_CLIENT_HPP 8 | #define LIBBITCOIN_CLIENT_HPP 9 | 10 | /** 11 | * API Users: Include only this header. Direct use of other headers is fragile 12 | * and unsupported as header organization is subject to change. 13 | * 14 | * Maintainers: Do not include this header internal to this library. 15 | */ 16 | 17 | #include 18 | #include 19 | #include 20 | #include 21 | #include 22 | #include 23 | 24 | #endif 25 | -------------------------------------------------------------------------------- /include/bitcoin/client/define.hpp: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2011-2023 libbitcoin developers (see AUTHORS) 3 | * 4 | * This file is part of libbitcoin. 5 | * 6 | * This program is free software: you can redistribute it and/or modify 7 | * it under the terms of the GNU Affero General Public License as published by 8 | * the Free Software Foundation, either version 3 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU Affero General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU Affero General Public License 17 | * along with this program. If not, see . 18 | */ 19 | #ifndef LIBBITCOIN_CLIENT_DEFINE_HPP 20 | #define LIBBITCOIN_CLIENT_DEFINE_HPP 21 | 22 | #include 23 | 24 | // We use the generic helper definitions in libbitcoin to define BCX_API 25 | // and BCX_INTERNAL. BCX_API is used for the public API symbols. It either DLL 26 | // imports or DLL exports (or does nothing for static build) BCX_INTERNAL is 27 | // used for non-api symbols. 28 | 29 | #if defined BCC_STATIC 30 | #define BCC_API 31 | #define BCC_INTERNAL 32 | #elif defined BCC_DLL 33 | #define BCC_API BC_HELPER_DLL_EXPORT 34 | #define BCC_INTERNAL BC_HELPER_DLL_LOCAL 35 | #else 36 | #define BCC_API BC_HELPER_DLL_IMPORT 37 | #define BCC_INTERNAL BC_HELPER_DLL_LOCAL 38 | #endif 39 | 40 | #endif 41 | -------------------------------------------------------------------------------- /include/bitcoin/client/history.hpp: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2011-2023 libbitcoin developers (see AUTHORS) 3 | * 4 | * This file is part of libbitcoin. 5 | * 6 | * This program is free software: you can redistribute it and/or modify 7 | * it under the terms of the GNU Affero General Public License as published by 8 | * the Free Software Foundation, either version 3 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU Affero General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU Affero General Public License 17 | * along with this program. If not, see . 18 | */ 19 | #ifndef LIBBITCOIN_CLIENT_HISTORY_HPP 20 | #define LIBBITCOIN_CLIENT_HISTORY_HPP 21 | 22 | #include 23 | #include 24 | #include 25 | 26 | namespace libbitcoin { 27 | namespace client { 28 | 29 | /// This structure is used between client and API callers in v3. 30 | /// This structure models the client-server protocol in v1/v2. 31 | struct BCC_API history 32 | { 33 | typedef std::vector list; 34 | 35 | // Constructor provided for in-place construction. 36 | history(const system::chain::output_point& output, 37 | uint64_t output_height, uint64_t value, 38 | const system::chain::input_point& spend, 39 | uint64_t temporary_checksum) 40 | : output(output), 41 | output_height(output_height), 42 | value(value), 43 | spend(spend), 44 | temporary_checksum(temporary_checksum) 45 | { 46 | } 47 | 48 | /// If there is no output this is null_hash:max. 49 | system::chain::output_point output; 50 | uint64_t output_height; 51 | 52 | /// The satoshi value of the output. 53 | uint64_t value; 54 | 55 | /// If there is no spend this is null_hash:max. 56 | system::chain::input_point spend; 57 | 58 | union 59 | { 60 | /// The height of the spend or max if no spend. 61 | uint64_t spend_height; 62 | 63 | /// During expansion this value temporarily doubles as a checksum. 64 | uint64_t temporary_checksum; 65 | }; 66 | }; 67 | 68 | } // namespace client 69 | } // namespace libbitcoin 70 | 71 | #endif 72 | -------------------------------------------------------------------------------- /include/bitcoin/client/version.hpp: -------------------------------------------------------------------------------- 1 | /////////////////////////////////////////////////////////////////////////////// 2 | // Copyright (c) 2014-2023 libbitcoin-client developers (see COPYING). 3 | // 4 | // GENERATED SOURCE CODE, DO NOT EDIT EXCEPT EXPERIMENTALLY 5 | // 6 | /////////////////////////////////////////////////////////////////////////////// 7 | #ifndef LIBBITCOIN_CLIENT_VERSION_HPP 8 | #define LIBBITCOIN_CLIENT_VERSION_HPP 9 | 10 | /** 11 | * The semantic version of this repository as: [major].[minor].[patch] 12 | * For interpretation of the versioning scheme see: http://semver.org 13 | */ 14 | 15 | #define LIBBITCOIN_CLIENT_VERSION "4.0.0" 16 | #define LIBBITCOIN_CLIENT_MAJOR_VERSION 4 17 | #define LIBBITCOIN_CLIENT_MINOR_VERSION 0 18 | #define LIBBITCOIN_CLIENT_PATCH_VERSION 0 19 | 20 | #endif 21 | -------------------------------------------------------------------------------- /libbitcoin-client-test_runner.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | ############################################################################### 3 | # Copyright (c) 2014-2023 libbitcoin-client developers (see COPYING). 4 | # 5 | # GENERATED SOURCE CODE, DO NOT EDIT EXCEPT EXPERIMENTALLY 6 | # 7 | ############################################################################### 8 | 9 | # Define tests and options. 10 | #============================================================================== 11 | BOOST_UNIT_TEST_OPTIONS=\ 12 | "--run_test=* "\ 13 | "--show_progress=no "\ 14 | "--detect_memory_leak=0 "\ 15 | "--report_level=no "\ 16 | "--build_info=yes" 17 | 18 | 19 | # Run tests. 20 | #============================================================================== 21 | # ALlow CI to send errors to standard output 22 | if [[ $CI == true ]]; then 23 | ./test/libbitcoin-client-test ${BOOST_UNIT_TEST_OPTIONS} 24 | else 25 | ./test/libbitcoin-client-test ${BOOST_UNIT_TEST_OPTIONS} > test.log 26 | fi 27 | -------------------------------------------------------------------------------- /libbitcoin-client.pc.in: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # Copyright (c) 2014-2023 libbitcoin-client developers (see COPYING). 3 | # 4 | # GENERATED SOURCE CODE, DO NOT EDIT EXCEPT EXPERIMENTALLY 5 | # 6 | ############################################################################### 7 | 8 | # Substitutions 9 | #============================================================================== 10 | prefix=@prefix@ 11 | exec_prefix=@exec_prefix@ 12 | libdir=@libdir@ 13 | includedir=@includedir@ 14 | 15 | 16 | # Metadata 17 | #============================================================================== 18 | Name: libbitcoin-client 19 | Description: Bitcoin Client Query Library 20 | URL: https://github.com/libbitcoin/libbitcoin-client 21 | Version: @PACKAGE_VERSION@ 22 | 23 | 24 | # Variables 25 | #============================================================================== 26 | # Dependencies that publish package configuration. 27 | #------------------------------------------------------------------------------ 28 | Requires: libbitcoin-system >= 4.0.0 libbitcoin-protocol >= 4.0.0 29 | 30 | # Include directory and any other required compiler flags. 31 | #------------------------------------------------------------------------------ 32 | Cflags: -I${includedir} 33 | 34 | # Lib directory, lib and any required that do not publish pkg-config. 35 | #------------------------------------------------------------------------------ 36 | Libs: -L${libdir} -lbitcoin-client 37 | 38 | -------------------------------------------------------------------------------- /m4/.gitignore: -------------------------------------------------------------------------------- 1 | /libtool.m4 2 | /lt*.m4 3 | -------------------------------------------------------------------------------- /m4/ax_boost_unit_test_framework.m4: -------------------------------------------------------------------------------- 1 | # ================================================================================= 2 | # https://www.gnu.org/software/autoconf-archive/ax_boost_unit_test_framework.html 3 | # ================================================================================= 4 | # 5 | # SYNOPSIS 6 | # 7 | # AX_BOOST_UNIT_TEST_FRAMEWORK 8 | # 9 | # DESCRIPTION 10 | # 11 | # Test for Unit_Test_Framework library from the Boost C++ libraries. The 12 | # macro requires a preceding call to AX_BOOST_BASE. Further documentation 13 | # is available at . 14 | # 15 | # This macro calls: 16 | # 17 | # AC_SUBST(BOOST_UNIT_TEST_FRAMEWORK_LIB) 18 | # 19 | # And sets: 20 | # 21 | # HAVE_BOOST_UNIT_TEST_FRAMEWORK 22 | # 23 | # LICENSE 24 | # 25 | # Copyright (c) 2008 Thomas Porschberg 26 | # 27 | # Copying and distribution of this file, with or without modification, are 28 | # permitted in any medium without royalty provided the copyright notice 29 | # and this notice are preserved. This file is offered as-is, without any 30 | # warranty. 31 | 32 | #serial 22 33 | 34 | AC_DEFUN([AX_BOOST_UNIT_TEST_FRAMEWORK], 35 | [ 36 | AC_ARG_WITH([boost-unit-test-framework], 37 | AS_HELP_STRING([--with-boost-unit-test-framework@<:@=special-lib@:>@], 38 | [use the Unit_Test_Framework library from boost - it is possible to specify a certain library for the linker 39 | e.g. --with-boost-unit-test-framework=boost_unit_test_framework-gcc ]), 40 | [ 41 | if test "$withval" = "no"; then 42 | want_boost="no" 43 | elif test "$withval" = "yes"; then 44 | want_boost="yes" 45 | ax_boost_user_unit_test_framework_lib="" 46 | else 47 | want_boost="yes" 48 | ax_boost_user_unit_test_framework_lib="$withval" 49 | fi 50 | ], 51 | [want_boost="yes"] 52 | ) 53 | 54 | if test "x$want_boost" = "xyes"; then 55 | AC_REQUIRE([AC_PROG_CC]) 56 | CPPFLAGS_SAVED="$CPPFLAGS" 57 | CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS" 58 | export CPPFLAGS 59 | 60 | LDFLAGS_SAVED="$LDFLAGS" 61 | LDFLAGS="$LDFLAGS $BOOST_LDFLAGS" 62 | export LDFLAGS 63 | 64 | AC_CACHE_CHECK(whether the Boost::Unit_Test_Framework library is available, 65 | ax_cv_boost_unit_test_framework, 66 | [AC_LANG_PUSH([C++]) 67 | AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[@%:@include ]], 68 | [[using boost::unit_test::test_suite; 69 | test_suite* test= BOOST_TEST_SUITE( "Unit test example 1" ); if (test == NULL) { return 1; } else { return 0; }]])], 70 | ax_cv_boost_unit_test_framework=yes, ax_cv_boost_unit_test_framework=no) 71 | AC_LANG_POP([C++]) 72 | ]) 73 | if test "x$ax_cv_boost_unit_test_framework" = "xyes"; then 74 | AC_DEFINE(HAVE_BOOST_UNIT_TEST_FRAMEWORK,,[define if the Boost::Unit_Test_Framework library is available]) 75 | BOOSTLIBDIR=`echo $BOOST_LDFLAGS | sed -e 's/@<:@^\/@:>@*//'` 76 | 77 | if test "x$ax_boost_user_unit_test_framework_lib" = "x"; then 78 | saved_ldflags="${LDFLAGS}" 79 | for monitor_library in `ls $BOOSTLIBDIR/libboost_unit_test_framework*.so* $BOOSTLIBDIR/libboost_unit_test_framework*.dylib* $BOOSTLIBDIR/libboost_unit_test_framework*.a* 2>/dev/null` ; do 80 | if test -r $monitor_library ; then 81 | libextension=`echo $monitor_library | sed 's,.*/,,' | sed -e 's;^lib\(boost_unit_test_framework.*\)\.so.*$;\1;' -e 's;^lib\(boost_unit_test_framework.*\)\.dylib.*$;\1;' -e 's;^lib\(boost_unit_test_framework.*\)\.a.*$;\1;'` 82 | ax_lib=${libextension} 83 | link_unit_test_framework="yes" 84 | else 85 | link_unit_test_framework="no" 86 | fi 87 | 88 | if test "x$link_unit_test_framework" = "xyes"; then 89 | BOOST_UNIT_TEST_FRAMEWORK_LIB="-l$ax_lib" 90 | AC_SUBST(BOOST_UNIT_TEST_FRAMEWORK_LIB) 91 | break 92 | fi 93 | done 94 | if test "x$link_unit_test_framework" != "xyes"; then 95 | for libextension in `ls $BOOSTLIBDIR/boost_unit_test_framework*.dll* $BOOSTLIBDIR/boost_unit_test_framework*.a* 2>/dev/null | sed 's,.*/,,' | sed -e 's;^\(boost_unit_test_framework.*\)\.dll.*$;\1;' -e 's;^\(boost_unit_test_framework.*\)\.a.*$;\1;'` ; do 96 | ax_lib=${libextension} 97 | AC_CHECK_LIB($ax_lib, exit, 98 | [BOOST_UNIT_TEST_FRAMEWORK_LIB="-l$ax_lib"; AC_SUBST(BOOST_UNIT_TEST_FRAMEWORK_LIB) link_unit_test_framework="yes"; break], 99 | [link_unit_test_framework="no"]) 100 | done 101 | fi 102 | else 103 | link_unit_test_framework="no" 104 | saved_ldflags="${LDFLAGS}" 105 | for ax_lib in boost_unit_test_framework-$ax_boost_user_unit_test_framework_lib $ax_boost_user_unit_test_framework_lib ; do 106 | if test "x$link_unit_test_framework" = "xyes"; then 107 | break; 108 | fi 109 | for unittest_library in `ls $BOOSTLIBDIR/lib${ax_lib}.so* $BOOSTLIBDIR/lib${ax_lib}.a* 2>/dev/null` ; do 110 | if test -r $unittest_library ; then 111 | libextension=`echo $unittest_library | sed 's,.*/,,' | sed -e 's;^lib\(boost_unit_test_framework.*\)\.so.*$;\1;' -e 's;^lib\(boost_unit_test_framework.*\)\.a*$;\1;'` 112 | ax_lib=${libextension} 113 | link_unit_test_framework="yes" 114 | else 115 | link_unit_test_framework="no" 116 | fi 117 | 118 | if test "x$link_unit_test_framework" = "xyes"; then 119 | BOOST_UNIT_TEST_FRAMEWORK_LIB="-l$ax_lib" 120 | AC_SUBST(BOOST_UNIT_TEST_FRAMEWORK_LIB) 121 | break 122 | fi 123 | done 124 | done 125 | fi 126 | if test "x$ax_lib" = "x"; then 127 | AC_MSG_ERROR(Could not find a version of the Boost::Unit_Test_Framework library!) 128 | fi 129 | if test "x$link_unit_test_framework" != "xyes"; then 130 | AC_MSG_ERROR(Could not link against $ax_lib !) 131 | fi 132 | fi 133 | 134 | CPPFLAGS="$CPPFLAGS_SAVED" 135 | LDFLAGS="$LDFLAGS_SAVED" 136 | fi 137 | ]) 138 | -------------------------------------------------------------------------------- /m4/ax_check_compile_flag.m4: -------------------------------------------------------------------------------- 1 | # =========================================================================== 2 | # https://www.gnu.org/software/autoconf-archive/ax_check_compile_flag.html 3 | # =========================================================================== 4 | # 5 | # SYNOPSIS 6 | # 7 | # AX_CHECK_COMPILE_FLAG(FLAG, [ACTION-SUCCESS], [ACTION-FAILURE], [EXTRA-FLAGS], [INPUT]) 8 | # 9 | # DESCRIPTION 10 | # 11 | # Check whether the given FLAG works with the current language's compiler 12 | # or gives an error. (Warnings, however, are ignored) 13 | # 14 | # ACTION-SUCCESS/ACTION-FAILURE are shell commands to execute on 15 | # success/failure. 16 | # 17 | # If EXTRA-FLAGS is defined, it is added to the current language's default 18 | # flags (e.g. CFLAGS) when the check is done. The check is thus made with 19 | # the flags: "CFLAGS EXTRA-FLAGS FLAG". This can for example be used to 20 | # force the compiler to issue an error when a bad flag is given. 21 | # 22 | # INPUT gives an alternative input source to AC_COMPILE_IFELSE. 23 | # 24 | # NOTE: Implementation based on AX_CFLAGS_GCC_OPTION. Please keep this 25 | # macro in sync with AX_CHECK_{PREPROC,LINK}_FLAG. 26 | # 27 | # LICENSE 28 | # 29 | # Copyright (c) 2008 Guido U. Draheim 30 | # Copyright (c) 2011 Maarten Bosmans 31 | # 32 | # Copying and distribution of this file, with or without modification, are 33 | # permitted in any medium without royalty provided the copyright notice 34 | # and this notice are preserved. This file is offered as-is, without any 35 | # warranty. 36 | 37 | #serial 6 38 | 39 | AC_DEFUN([AX_CHECK_COMPILE_FLAG], 40 | [AC_PREREQ(2.64)dnl for _AC_LANG_PREFIX and AS_VAR_IF 41 | AS_VAR_PUSHDEF([CACHEVAR],[ax_cv_check_[]_AC_LANG_ABBREV[]flags_$4_$1])dnl 42 | AC_CACHE_CHECK([whether _AC_LANG compiler accepts $1], CACHEVAR, [ 43 | ax_check_save_flags=$[]_AC_LANG_PREFIX[]FLAGS 44 | _AC_LANG_PREFIX[]FLAGS="$[]_AC_LANG_PREFIX[]FLAGS $4 $1" 45 | AC_COMPILE_IFELSE([m4_default([$5],[AC_LANG_PROGRAM()])], 46 | [AS_VAR_SET(CACHEVAR,[yes])], 47 | [AS_VAR_SET(CACHEVAR,[no])]) 48 | _AC_LANG_PREFIX[]FLAGS=$ax_check_save_flags]) 49 | AS_VAR_IF(CACHEVAR,yes, 50 | [m4_default([$2], :)], 51 | [m4_default([$3], :)]) 52 | AS_VAR_POPDEF([CACHEVAR])dnl 53 | ])dnl AX_CHECK_COMPILE_FLAGS 54 | -------------------------------------------------------------------------------- /m4/ax_check_link_flag.m4: -------------------------------------------------------------------------------- 1 | # =========================================================================== 2 | # https://www.gnu.org/software/autoconf-archive/ax_check_link_flag.html 3 | # =========================================================================== 4 | # 5 | # SYNOPSIS 6 | # 7 | # AX_CHECK_LINK_FLAG(FLAG, [ACTION-SUCCESS], [ACTION-FAILURE], [EXTRA-FLAGS], [INPUT]) 8 | # 9 | # DESCRIPTION 10 | # 11 | # Check whether the given FLAG works with the linker or gives an error. 12 | # (Warnings, however, are ignored) 13 | # 14 | # ACTION-SUCCESS/ACTION-FAILURE are shell commands to execute on 15 | # success/failure. 16 | # 17 | # If EXTRA-FLAGS is defined, it is added to the linker's default flags 18 | # when the check is done. The check is thus made with the flags: "LDFLAGS 19 | # EXTRA-FLAGS FLAG". This can for example be used to force the linker to 20 | # issue an error when a bad flag is given. 21 | # 22 | # INPUT gives an alternative input source to AC_LINK_IFELSE. 23 | # 24 | # NOTE: Implementation based on AX_CFLAGS_GCC_OPTION. Please keep this 25 | # macro in sync with AX_CHECK_{PREPROC,COMPILE}_FLAG. 26 | # 27 | # LICENSE 28 | # 29 | # Copyright (c) 2008 Guido U. Draheim 30 | # Copyright (c) 2011 Maarten Bosmans 31 | # 32 | # Copying and distribution of this file, with or without modification, are 33 | # permitted in any medium without royalty provided the copyright notice 34 | # and this notice are preserved. This file is offered as-is, without any 35 | # warranty. 36 | 37 | #serial 6 38 | 39 | AC_DEFUN([AX_CHECK_LINK_FLAG], 40 | [AC_PREREQ(2.64)dnl for _AC_LANG_PREFIX and AS_VAR_IF 41 | AS_VAR_PUSHDEF([CACHEVAR],[ax_cv_check_ldflags_$4_$1])dnl 42 | AC_CACHE_CHECK([whether the linker accepts $1], CACHEVAR, [ 43 | ax_check_save_flags=$LDFLAGS 44 | LDFLAGS="$LDFLAGS $4 $1" 45 | AC_LINK_IFELSE([m4_default([$5],[AC_LANG_PROGRAM()])], 46 | [AS_VAR_SET(CACHEVAR,[yes])], 47 | [AS_VAR_SET(CACHEVAR,[no])]) 48 | LDFLAGS=$ax_check_save_flags]) 49 | AS_VAR_IF(CACHEVAR,yes, 50 | [m4_default([$2], :)], 51 | [m4_default([$3], :)]) 52 | AS_VAR_POPDEF([CACHEVAR])dnl 53 | ])dnl AX_CHECK_LINK_FLAGS 54 | -------------------------------------------------------------------------------- /m4/ax_check_preproc_flag.m4: -------------------------------------------------------------------------------- 1 | # =========================================================================== 2 | # https://www.gnu.org/software/autoconf-archive/ax_check_preproc_flag.html 3 | # =========================================================================== 4 | # 5 | # SYNOPSIS 6 | # 7 | # AX_CHECK_PREPROC_FLAG(FLAG, [ACTION-SUCCESS], [ACTION-FAILURE], [EXTRA-FLAGS], [INPUT]) 8 | # 9 | # DESCRIPTION 10 | # 11 | # Check whether the given FLAG works with the current language's 12 | # preprocessor or gives an error. (Warnings, however, are ignored) 13 | # 14 | # ACTION-SUCCESS/ACTION-FAILURE are shell commands to execute on 15 | # success/failure. 16 | # 17 | # If EXTRA-FLAGS is defined, it is added to the preprocessor's default 18 | # flags when the check is done. The check is thus made with the flags: 19 | # "CPPFLAGS EXTRA-FLAGS FLAG". This can for example be used to force the 20 | # preprocessor to issue an error when a bad flag is given. 21 | # 22 | # INPUT gives an alternative input source to AC_PREPROC_IFELSE. 23 | # 24 | # NOTE: Implementation based on AX_CFLAGS_GCC_OPTION. Please keep this 25 | # macro in sync with AX_CHECK_{COMPILE,LINK}_FLAG. 26 | # 27 | # LICENSE 28 | # 29 | # Copyright (c) 2008 Guido U. Draheim 30 | # Copyright (c) 2011 Maarten Bosmans 31 | # 32 | # Copying and distribution of this file, with or without modification, are 33 | # permitted in any medium without royalty provided the copyright notice 34 | # and this notice are preserved. This file is offered as-is, without any 35 | # warranty. 36 | 37 | #serial 6 38 | 39 | AC_DEFUN([AX_CHECK_PREPROC_FLAG], 40 | [AC_PREREQ(2.64)dnl for _AC_LANG_PREFIX and AS_VAR_IF 41 | AS_VAR_PUSHDEF([CACHEVAR],[ax_cv_check_[]_AC_LANG_ABBREV[]cppflags_$4_$1])dnl 42 | AC_CACHE_CHECK([whether _AC_LANG preprocessor accepts $1], CACHEVAR, [ 43 | ax_check_save_flags=$CPPFLAGS 44 | CPPFLAGS="$CPPFLAGS $4 $1" 45 | AC_PREPROC_IFELSE([m4_default([$5],[AC_LANG_PROGRAM()])], 46 | [AS_VAR_SET(CACHEVAR,[yes])], 47 | [AS_VAR_SET(CACHEVAR,[no])]) 48 | CPPFLAGS=$ax_check_save_flags]) 49 | AS_VAR_IF(CACHEVAR,yes, 50 | [m4_default([$2], :)], 51 | [m4_default([$3], :)]) 52 | AS_VAR_POPDEF([CACHEVAR])dnl 53 | ])dnl AX_CHECK_PREPROC_FLAGS 54 | -------------------------------------------------------------------------------- /test/main.cpp: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2011-2023 libbitcoin developers (see AUTHORS) 3 | * 4 | * This file is part of libbitcoin. 5 | * 6 | * This program is free software: you can redistribute it and/or modify 7 | * it under the terms of the GNU Affero General Public License as published by 8 | * the Free Software Foundation, either version 3 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU Affero General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU Affero General Public License 17 | * along with this program. If not, see . 18 | */ 19 | #define BOOST_TEST_MODULE libbitcoin_client_test 20 | #include 21 | --------------------------------------------------------------------------------