diff --git a/Makefile.am b/Makefile.am
index bf644b31..02f64100 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -31,3 +31,176 @@ doc_DATA = \
# src/libbitcoin-server.la => ${libdir}
#------------------------------------------------------------------------------
+lib_LTLIBRARIES = src/libbitcoin-server.la
+src_libbitcoin_server_la_CPPFLAGS = -I${srcdir}/include -DSYSCONFDIR=\"${sysconfdir}\" ${bitcoin_node_BUILD_CPPFLAGS}
+src_libbitcoin_server_la_LIBADD = ${bitcoin_node_LIBS}
+src_libbitcoin_server_la_SOURCES = \
+ src/configuration.cpp \
+ src/error.cpp \
+ src/parser.cpp \
+ src/server_node.cpp \
+ src/settings.cpp \
+ src/parsers/bitcoind_query.cpp \
+ src/parsers/bitcoind_target.cpp \
+ src/parsers/explore_query.cpp \
+ src/parsers/explore_target.cpp \
+ src/protocols/protocol_bitcoind_rest.cpp \
+ src/protocols/protocol_bitcoind_rpc.cpp \
+ src/protocols/protocol_electrum.cpp \
+ src/protocols/protocol_electrum_version.cpp \
+ src/protocols/protocol_explore.cpp \
+ src/protocols/protocol_html.cpp \
+ src/protocols/protocol_http.cpp \
+ src/protocols/protocol_stratum_v1.cpp
+
+# local: test/libbitcoin-server-test
+#------------------------------------------------------------------------------
+if WITH_TESTS
+
+TESTS = libbitcoin-server-test_runner.sh
+
+check_PROGRAMS = test/libbitcoin-server-test
+test_libbitcoin_server_test_CPPFLAGS = -I${srcdir}/include ${bitcoin_node_BUILD_CPPFLAGS}
+test_libbitcoin_server_test_LDADD = src/libbitcoin-server.la ${boost_unit_test_framework_LIBS} ${bitcoin_node_LIBS}
+test_libbitcoin_server_test_SOURCES = \
+ test/error.cpp \
+ test/main.cpp \
+ test/test.cpp \
+ test/test.hpp
+
+endif WITH_TESTS
+
+# console/bs => ${bindir}
+#------------------------------------------------------------------------------
+if WITH_CONSOLE
+
+bin_PROGRAMS = console/bs
+console_bs_CPPFLAGS = -I${srcdir}/include ${bitcoin_node_BUILD_CPPFLAGS}
+console_bs_LDADD = src/libbitcoin-server.la ${bitcoin_node_LIBS}
+console_bs_SOURCES = \
+ console/executor.cpp \
+ console/executor.hpp \
+ console/executor_commands.cpp \
+ console/executor_dumps.cpp \
+ console/executor_events.cpp \
+ console/executor_logging.cpp \
+ console/executor_options.cpp \
+ console/executor_runner.cpp \
+ console/executor_scans.cpp \
+ console/executor_store.cpp \
+ console/executor_test_reader.cpp \
+ console/executor_test_writer.cpp \
+ console/localize.hpp \
+ console/main.cpp \
+ console/stack_trace.cpp \
+ console/stack_trace.hpp \
+ console/embedded/embedded.hpp \
+ console/embedded/explore_css.cpp \
+ console/embedded/explore_ecma.cpp \
+ console/embedded/explore_font.cpp \
+ console/embedded/explore_html.cpp \
+ console/embedded/explore_icon.cpp \
+ console/embedded/web_css.cpp \
+ console/embedded/web_ecma.cpp \
+ console/embedded/web_font.cpp \
+ console/embedded/web_html.cpp \
+ console/embedded/web_icon.cpp
+
+endif WITH_CONSOLE
+
+# files => ${includedir}/bitcoin
+#------------------------------------------------------------------------------
+include_bitcoindir = ${includedir}/bitcoin
+include_bitcoin_HEADERS = \
+ include/bitcoin/server.hpp
+
+include_bitcoin_serverdir = ${includedir}/bitcoin/server
+include_bitcoin_server_HEADERS = \
+ include/bitcoin/server/configuration.hpp \
+ include/bitcoin/server/define.hpp \
+ include/bitcoin/server/error.hpp \
+ include/bitcoin/server/parser.hpp \
+ include/bitcoin/server/server_node.hpp \
+ include/bitcoin/server/settings.hpp \
+ include/bitcoin/server/version.hpp
+
+include_bitcoin_server_channelsdir = ${includedir}/bitcoin/server/channels
+include_bitcoin_server_channels_HEADERS = \
+ include/bitcoin/server/channels/channel_electrum.hpp \
+ include/bitcoin/server/channels/channel_http.hpp \
+ include/bitcoin/server/channels/channel_stratum_v1.hpp \
+ include/bitcoin/server/channels/channel_stratum_v2.hpp \
+ include/bitcoin/server/channels/channel_ws.hpp \
+ include/bitcoin/server/channels/channels.hpp
+
+include_bitcoin_server_interfacesdir = ${includedir}/bitcoin/server/interfaces
+include_bitcoin_server_interfaces_HEADERS = \
+ include/bitcoin/server/interfaces/bitcoind_rest.hpp \
+ include/bitcoin/server/interfaces/bitcoind_rpc.hpp \
+ include/bitcoin/server/interfaces/electrum.hpp \
+ include/bitcoin/server/interfaces/explore.hpp \
+ include/bitcoin/server/interfaces/interfaces.hpp \
+ include/bitcoin/server/interfaces/stratum_v1.hpp \
+ include/bitcoin/server/interfaces/stratum_v2.hpp \
+ include/bitcoin/server/interfaces/types.hpp
+
+include_bitcoin_server_parsersdir = ${includedir}/bitcoin/server/parsers
+include_bitcoin_server_parsers_HEADERS = \
+ include/bitcoin/server/parsers/bitcoind_query.hpp \
+ include/bitcoin/server/parsers/bitcoind_target.hpp \
+ include/bitcoin/server/parsers/electrum_version.hpp \
+ include/bitcoin/server/parsers/explore_query.hpp \
+ include/bitcoin/server/parsers/explore_target.hpp \
+ include/bitcoin/server/parsers/parsers.hpp
+
+include_bitcoin_server_protocolsdir = ${includedir}/bitcoin/server/protocols
+include_bitcoin_server_protocols_HEADERS = \
+ include/bitcoin/server/protocols/protocol.hpp \
+ include/bitcoin/server/protocols/protocol_bitcoind_rest.hpp \
+ include/bitcoin/server/protocols/protocol_bitcoind_rpc.hpp \
+ include/bitcoin/server/protocols/protocol_electrum.hpp \
+ include/bitcoin/server/protocols/protocol_electrum_version.hpp \
+ include/bitcoin/server/protocols/protocol_explore.hpp \
+ include/bitcoin/server/protocols/protocol_html.hpp \
+ include/bitcoin/server/protocols/protocol_http.hpp \
+ include/bitcoin/server/protocols/protocol_rpc.hpp \
+ include/bitcoin/server/protocols/protocol_stratum_v1.hpp \
+ include/bitcoin/server/protocols/protocol_stratum_v2.hpp \
+ include/bitcoin/server/protocols/protocol_web.hpp \
+ include/bitcoin/server/protocols/protocols.hpp
+
+include_bitcoin_server_sessionsdir = ${includedir}/bitcoin/server/sessions
+include_bitcoin_server_sessions_HEADERS = \
+ include/bitcoin/server/sessions/session_handshake.hpp \
+ include/bitcoin/server/sessions/session_server.hpp \
+ include/bitcoin/server/sessions/sessions.hpp
+
+# files => ${bash_completiondir}
+#------------------------------------------------------------------------------
+if BASH_COMPLETIONDIR
+
+dist_bash_completion_DATA = \
+ data/bs
+
+endif BASH_COMPLETIONDIR
+
+# files => ${sysconfdir}/libbitcoin
+#------------------------------------------------------------------------------
+if WITH_CONSOLE
+
+sysconf_libbitcoindir = ${sysconfdir}/libbitcoin
+sysconf_libbitcoin_DATA = \
+ data/bs.cfg
+
+endif WITH_CONSOLE
+
+
+# Custom make targets.
+#==============================================================================
+# make target: console
+#------------------------------------------------------------------------------
+target_console = \
+ console/bs
+
+console: ${target_console}
+
diff --git a/builds/cmake/CMakeLists.txt b/builds/cmake/CMakeLists.txt
index 8d367ead..cd9022bd 100644
--- a/builds/cmake/CMakeLists.txt
+++ b/builds/cmake/CMakeLists.txt
@@ -171,33 +171,27 @@ find_package( Bitcoin-Node 4.0.0 REQUIRED )
# Define project common includes for build.
#------------------------------------------------------------------------------
if (BUILD_SHARED_LIBS)
- set( bitcoin_protocol_FOR_BUILD_INCLUDE_DIRS ${bitcoin_protocol_INCLUDE_DIRS} CACHE STRING "Placeholder" )
set( bitcoin_node_FOR_BUILD_INCLUDE_DIRS ${bitcoin_node_INCLUDE_DIRS} CACHE STRING "Placeholder" )
else()
- set( bitcoin_protocol_FOR_BUILD_INCLUDE_DIRS ${bitcoin_protocol_STATIC_INCLUDE_DIRS} CACHE STRING "Placeholder" )
set( bitcoin_node_FOR_BUILD_INCLUDE_DIRS ${bitcoin_node_STATIC_INCLUDE_DIRS} CACHE STRING "Placeholder" )
endif()
# Define project common includes directories
#------------------------------------------------------------------------------
include_directories( SYSTEM
- ${bitcoin_protocol_FOR_BUILD_INCLUDE_DIRS}
${bitcoin_node_FOR_BUILD_INCLUDE_DIRS} )
# Define project common library directories for build.
#------------------------------------------------------------------------------
if (BUILD_SHARED_LIBS)
- set( bitcoin_protocol_FOR_BUILD_LIBRARY_DIRS ${bitcoin_protocol_LIBRARY_DIRS} CACHE STRING "Placeholder" )
set( bitcoin_node_FOR_BUILD_LIBRARY_DIRS ${bitcoin_node_LIBRARY_DIRS} CACHE STRING "Placeholder" )
else()
- set( bitcoin_protocol_FOR_BUILD_LIBRARY_DIRS ${bitcoin_protocol_STATIC_LIBRARY_DIRS} CACHE STRING "Placeholder" )
set( bitcoin_node_FOR_BUILD_LIBRARY_DIRS ${bitcoin_node_STATIC_LIBRARY_DIRS} CACHE STRING "Placeholder" )
endif()
# Define project common library directories
#------------------------------------------------------------------------------
link_directories(
- ${bitcoin_protocol_FOR_BUILD_LIBRARY_DIRS}
${bitcoin_node_FOR_BUILD_LIBRARY_DIRS} )
# Define project common linker flags.
@@ -224,17 +218,14 @@ endif()
# Define common library usage for build.
#------------------------------------------------------------------------------
if (BUILD_SHARED_LIBS)
- set( bitcoin_protocol_FOR_BUILD_LIBRARIES ${bitcoin_protocol_LIBRARIES} CACHE STRING "Placeholder" )
set( bitcoin_node_FOR_BUILD_LIBRARIES ${bitcoin_node_LIBRARIES} CACHE STRING "Placeholder" )
else()
- set( bitcoin_protocol_FOR_BUILD_LIBRARIES ${bitcoin_protocol_STATIC_LIBRARIES} CACHE STRING "Placeholder" )
set( bitcoin_node_FOR_BUILD_LIBRARIES ${bitcoin_node_STATIC_LIBRARIES} CACHE STRING "Placeholder" )
endif()
# Define project common libraries.
#------------------------------------------------------------------------------
link_libraries(
- ${bitcoin_protocol_FOR_BUILD_LIBRARIES}
${bitcoin_node_FOR_BUILD_LIBRARIES} )
add_definitions(
@@ -264,10 +255,8 @@ add_library( ${CANONICAL_LIB_NAME}
# ${CANONICAL_LIB_NAME} project specific include directory normalization for build.
#------------------------------------------------------------------------------
if (BUILD_SHARED_LIBS)
- set( bitcoin_protocol_FOR_BUILD_INCLUDE_DIRS ${bitcoin_protocol_INCLUDE_DIRS} CACHE STRING "Placeholder" )
set( bitcoin_node_FOR_BUILD_INCLUDE_DIRS ${bitcoin_node_INCLUDE_DIRS} CACHE STRING "Placeholder" )
else()
- set( bitcoin_protocol_FOR_BUILD_INCLUDE_DIRS ${bitcoin_protocol_STATIC_INCLUDE_DIRS} CACHE STRING "Placeholder" )
set( bitcoin_node_FOR_BUILD_INCLUDE_DIRS ${bitcoin_node_STATIC_INCLUDE_DIRS} CACHE STRING "Placeholder" )
endif()
@@ -275,7 +264,6 @@ endif()
#------------------------------------------------------------------------------
target_include_directories( ${CANONICAL_LIB_NAME} PRIVATE
"../../include"
- ${bitcoin_protocol_FOR_BUILD_INCLUDE_DIRS}
${bitcoin_node_FOR_BUILD_INCLUDE_DIRS} )
target_include_directories( ${CANONICAL_LIB_NAME} PUBLIC
@@ -284,17 +272,14 @@ target_include_directories( ${CANONICAL_LIB_NAME} PUBLIC
# ${CANONICAL_LIB_NAME} project specific libraries noramalization for build.
#------------------------------------------------------------------------------
if (BUILD_SHARED_LIBS)
- set( bitcoin_protocol_FOR_BUILD_LIBRARIES ${bitcoin_protocol_LIBRARIES} CACHE STRING "Placeholder" )
set( bitcoin_node_FOR_BUILD_LIBRARIES ${bitcoin_node_LIBRARIES} CACHE STRING "Placeholder" )
else()
- set( bitcoin_protocol_FOR_BUILD_LIBRARIES ${bitcoin_protocol_STATIC_LIBRARIES} CACHE STRING "Placeholder" )
set( bitcoin_node_FOR_BUILD_LIBRARIES ${bitcoin_node_STATIC_LIBRARIES} CACHE STRING "Placeholder" )
endif()
# ${CANONICAL_LIB_NAME} project specific libraries/linker flags.
#------------------------------------------------------------------------------
target_link_libraries( ${CANONICAL_LIB_NAME}
- ${bitcoin_protocol_FOR_BUILD_LIBRARIES}
${bitcoin_node_FOR_BUILD_LIBRARIES} )
# Define libbitcoin-server-test project.
diff --git a/builds/msvc/vs2022/bs/bs.props b/builds/msvc/vs2022/bs/bs.props
index 31e3f540..5d4d73c3 100644
--- a/builds/msvc/vs2022/bs/bs.props
+++ b/builds/msvc/vs2022/bs/bs.props
@@ -20,12 +20,9 @@
-
-
-
@@ -34,54 +31,38 @@
- dynamic
dynamic
dynamic
- dynamic
dynamic
- dynamic
dynamic
dynamic
- dynamic
dynamic
- ltcg
ltcg
ltcg
- ltcg
ltcg
- ltcg
ltcg
ltcg
- ltcg
ltcg
- static
static
static
- static
static
- static
static
static
- static
static
-
-
-
-
diff --git a/builds/msvc/vs2022/libbitcoin-blockchain.import.props b/builds/msvc/vs2022/libbitcoin-blockchain.import.props
deleted file mode 100644
index ab50a6e4..00000000
--- a/builds/msvc/vs2022/libbitcoin-blockchain.import.props
+++ /dev/null
@@ -1,35 +0,0 @@
-
-
-
-
- <_PropertySheetDisplayName>Libbitcoin Blockchain Import Settings
-
-
-
-
-
-
-
-
-
-
-
-
- $(ProjectDir)..\..\..\..\..\libbitcoin-blockchain\include\;%(AdditionalIncludeDirectories)
- BCB_STATIC;%(PreprocessorDefinitions)
-
-
- libbitcoin-blockchain.lib;%(AdditionalDependencies)
-
-
-
- $(ProjectDir)..\..\..\..\..\libbitcoin-blockchain\bin\$(PlatformName)\Debug\$(PlatformToolset)\$(Linkage-libbitcoin-blockchain)\;
- $(ProjectDir)..\..\..\..\..\libbitcoin-blockchain\obj\libbitcoin-blockchain\$(PlatformName)\Debug\$(PlatformToolset)\$(Linkage-libbitcoin-blockchain)\;%(AdditionalLibraryDirectories)
-
-
- $(ProjectDir)..\..\..\..\..\libbitcoin-blockchain\bin\$(PlatformName)\Release\$(PlatformToolset)\$(Linkage-libbitcoin-blockchain)\;
- $(ProjectDir)..\..\..\..\..\libbitcoin-blockchain\obj\libbitcoin-blockchain\$(PlatformName)\Release\$(PlatformToolset)\$(Linkage-libbitcoin-blockchain)\;%(AdditionalLibraryDirectories)
-
-
-
-
\ No newline at end of file
diff --git a/builds/msvc/vs2022/libbitcoin-blockchain.import.xml b/builds/msvc/vs2022/libbitcoin-blockchain.import.xml
deleted file mode 100644
index 5c29172c..00000000
--- a/builds/msvc/vs2022/libbitcoin-blockchain.import.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/builds/msvc/vs2022/libbitcoin-consensus.import.props b/builds/msvc/vs2022/libbitcoin-consensus.import.props
deleted file mode 100644
index f0f10e65..00000000
--- a/builds/msvc/vs2022/libbitcoin-consensus.import.props
+++ /dev/null
@@ -1,36 +0,0 @@
-
-
-
-
- <_PropertySheetDisplayName>Libbitcoin Consensus Import Settings
-
-
-
-
-
-
-
-
-
-
-
-
- $(ProjectDir)..\..\..\..\..\libbitcoin-consensus\include\;%(AdditionalIncludeDirectories)
- _WIN32_WINNT=0x0600;%(PreprocessorDefinitions)
- BCK_STATIC;%(PreprocessorDefinitions)
-
-
- libbitcoin-consensus.lib;%(AdditionalDependencies)
-
-
-
- $(ProjectDir)..\..\..\..\..\libbitcoin-consensus\bin\$(PlatformName)\Debug\$(PlatformToolset)\$(Linkage-libbitcoin-consensus)\;
- $(ProjectDir)..\..\..\..\..\libbitcoin-consensus\obj\libbitcoin-consensus\$(PlatformName)\Debug\$(PlatformToolset)\$(Linkage-libbitcoin-consensus)\;%(AdditionalLibraryDirectories)
-
-
- $(ProjectDir)..\..\..\..\..\libbitcoin-consensus\bin\$(PlatformName)\Release\$(PlatformToolset)\$(Linkage-libbitcoin-consensus)\;
- $(ProjectDir)..\..\..\..\..\libbitcoin-consensus\obj\libbitcoin-consensus\$(PlatformName)\Release\$(PlatformToolset)\$(Linkage-libbitcoin-consensus)\;%(AdditionalLibraryDirectories)
-
-
-
-
\ No newline at end of file
diff --git a/builds/msvc/vs2022/libbitcoin-consensus.import.xml b/builds/msvc/vs2022/libbitcoin-consensus.import.xml
deleted file mode 100644
index 2c4a76f7..00000000
--- a/builds/msvc/vs2022/libbitcoin-consensus.import.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/builds/msvc/vs2022/libbitcoin-protocol.import.props b/builds/msvc/vs2022/libbitcoin-protocol.import.props
deleted file mode 100644
index 7fbe6c20..00000000
--- a/builds/msvc/vs2022/libbitcoin-protocol.import.props
+++ /dev/null
@@ -1,36 +0,0 @@
-
-
-
-
- <_PropertySheetDisplayName>Libbitcoin Protocol Import Settings
-
-
-
-
-
-
-
-
-
-
-
-
- $(ProjectDir)..\..\..\..\..\libbitcoin-protocol\include\;%(AdditionalIncludeDirectories)
- BCP_STATIC;%(PreprocessorDefinitions)
-
-
- libbitcoin-protocol.lib;%(AdditionalDependencies)
- Iphlpapi.lib;%(AdditionalDependencies)
-
-
-
- $(ProjectDir)..\..\..\..\..\libbitcoin-protocol\bin\$(PlatformName)\Debug\$(PlatformToolset)\$(Linkage-libbitcoin-protocol)\;
- $(ProjectDir)..\..\..\..\..\libbitcoin-protocol\obj\libbitcoin-protocol\$(PlatformName)\Debug\$(PlatformToolset)\$(Linkage-libbitcoin-protocol)\;%(AdditionalLibraryDirectories)
-
-
- $(ProjectDir)..\..\..\..\..\libbitcoin-protocol\bin\$(PlatformName)\Release\$(PlatformToolset)\$(Linkage-libbitcoin-protocol)\;
- $(ProjectDir)..\..\..\..\..\libbitcoin-protocol\obj\libbitcoin-protocol\$(PlatformName)\Release\$(PlatformToolset)\$(Linkage-libbitcoin-protocol)\;%(AdditionalLibraryDirectories)
-
-
-
-
\ No newline at end of file
diff --git a/builds/msvc/vs2022/libbitcoin-protocol.import.xml b/builds/msvc/vs2022/libbitcoin-protocol.import.xml
deleted file mode 100644
index cb516ac3..00000000
--- a/builds/msvc/vs2022/libbitcoin-protocol.import.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/builds/msvc/vs2022/libbitcoin-server-test/libbitcoin-server-test.props b/builds/msvc/vs2022/libbitcoin-server-test/libbitcoin-server-test.props
index 35b507d4..accd225f 100644
--- a/builds/msvc/vs2022/libbitcoin-server-test/libbitcoin-server-test.props
+++ b/builds/msvc/vs2022/libbitcoin-server-test/libbitcoin-server-test.props
@@ -22,12 +22,9 @@
-
-
-
@@ -36,54 +33,38 @@
- dynamic
dynamic
dynamic
- dynamic
dynamic
- dynamic
dynamic
dynamic
- dynamic
dynamic
- ltcg
ltcg
ltcg
- ltcg
ltcg
- ltcg
ltcg
ltcg
- ltcg
ltcg
- static
static
static
- static
static
- static
static
static
- static
static
-
-
-
-
diff --git a/builds/msvc/vs2022/libbitcoin-server/libbitcoin-server.props b/builds/msvc/vs2022/libbitcoin-server/libbitcoin-server.props
index 1462cd4f..6727044f 100644
--- a/builds/msvc/vs2022/libbitcoin-server/libbitcoin-server.props
+++ b/builds/msvc/vs2022/libbitcoin-server/libbitcoin-server.props
@@ -28,12 +28,9 @@
-
-
-
@@ -41,51 +38,35 @@
- dynamic
dynamic
dynamic
- dynamic
dynamic
- dynamic
dynamic
dynamic
- dynamic
- ltcg
ltcg
ltcg
- ltcg
ltcg
- ltcg
ltcg
ltcg
- ltcg
- static
static
static
- static
static
- static
static
static
- static
-
-
-
-
diff --git a/builds/msvc/vs2022/libbitcoin-server/libbitcoin-server.vcxproj b/builds/msvc/vs2022/libbitcoin-server/libbitcoin-server.vcxproj
index c89cadeb..14cdb559 100644
--- a/builds/msvc/vs2022/libbitcoin-server/libbitcoin-server.vcxproj
+++ b/builds/msvc/vs2022/libbitcoin-server/libbitcoin-server.vcxproj
@@ -218,4 +218,4 @@
-
\ No newline at end of file
+
diff --git a/builds/msvc/vs2022/libbitcoin-server/libbitcoin-server.vcxproj.filters b/builds/msvc/vs2022/libbitcoin-server/libbitcoin-server.vcxproj.filters
index aba46af3..d6253b8b 100644
--- a/builds/msvc/vs2022/libbitcoin-server/libbitcoin-server.vcxproj.filters
+++ b/builds/msvc/vs2022/libbitcoin-server/libbitcoin-server.vcxproj.filters
@@ -245,4 +245,4 @@
resource
-
\ No newline at end of file
+
diff --git a/include/bitcoin/server/protocols/protocol_html.hpp b/include/bitcoin/server/protocols/protocol_html.hpp
index 04ab96b3..215b284b 100644
--- a/include/bitcoin/server/protocols/protocol_html.hpp
+++ b/include/bitcoin/server/protocols/protocol_html.hpp
@@ -32,7 +32,7 @@ namespace server {
/// derives from protocol_http (as required). So any html server is able to
/// operate as a websocket server.
class BCS_API protocol_html
- : public protocol_http,
+ : public server::protocol_http,
public network::protocol_ws,
protected network::tracker
{
@@ -44,7 +44,7 @@ class BCS_API protocol_html
inline protocol_html(const auto& session,
const network::channel::ptr& channel,
const options_t& options) NOEXCEPT
- : protocol_http(session, channel),
+ : server::protocol_http(session, channel),
network::protocol_ws(session, channel, options),
options_(options),
network::tracker(session->log)
diff --git a/include/bitcoin/server/protocols/protocol_http.hpp b/include/bitcoin/server/protocols/protocol_http.hpp
index 043a621b..422016d7 100644
--- a/include/bitcoin/server/protocols/protocol_http.hpp
+++ b/include/bitcoin/server/protocols/protocol_http.hpp
@@ -30,13 +30,13 @@ namespace server {
/// Abstract base for HTTP protocols, thread safe.
class BCS_API protocol_http
: public server::protocol,
- protected network::tracker
+ protected network::tracker
{
protected:
inline protocol_http(const auto& session,
const network::channel::ptr& channel) NOEXCEPT
: server::protocol(session, channel),
- network::tracker(session->log)
+ network::tracker(session->log)
{
}
diff --git a/include/bitcoin/server/protocols/protocol_rpc.hpp b/include/bitcoin/server/protocols/protocol_rpc.hpp
index 7e757532..dc640923 100644
--- a/include/bitcoin/server/protocols/protocol_rpc.hpp
+++ b/include/bitcoin/server/protocols/protocol_rpc.hpp
@@ -32,7 +32,7 @@ template
class BCS_API protocol_rpc
: public server::protocol,
public network::protocol_rpc,
- protected network::tracker>
+ protected network::tracker>
{
public:
using channel_t = Channel;
@@ -43,7 +43,7 @@ class BCS_API protocol_rpc
const network::channel::ptr& channel, const options_t& options) NOEXCEPT
: server::protocol(session, channel),
network::protocol_rpc(session, channel, options),
- network::tracker>(session->log)
+ network::tracker>(session->log)
{
}
};
diff --git a/include/bitcoin/server/sessions/session_server.hpp b/include/bitcoin/server/sessions/session_server.hpp
index 77eff3df..88ed23c1 100644
--- a/include/bitcoin/server/sessions/session_server.hpp
+++ b/include/bitcoin/server/sessions/session_server.hpp
@@ -59,9 +59,8 @@ class session_server
/// Construct an instance (network should be started).
inline session_server(server_node& node, uint64_t identifier,
const configuration& config, const options_t& options) NOEXCEPT
- : node::session(node),
- ////network::session_server((network::net&)node, identifier, options),
- network::session_server(node, identifier, options),
+ : node::session((node::full_node&)node),
+ network::session_server((network::net&)node, identifier, options),
config_(config), options_(options),
network::tracker>(node)
{
diff --git a/libbitcoin-server.pc.in b/libbitcoin-server.pc.in
index fd7d8448..d1e04f17 100644
--- a/libbitcoin-server.pc.in
+++ b/libbitcoin-server.pc.in
@@ -23,3 +23,15 @@ Version: @PACKAGE_VERSION@
# Variables
#==============================================================================
+# Dependencies that publish package configuration.
+#------------------------------------------------------------------------------
+Requires: libbitcoin-node >= 4.0.0
+
+# Include directory and any other required compiler flags.
+#------------------------------------------------------------------------------
+Cflags: -I${includedir}
+
+# Lib directory, lib and any required that do not publish pkg-config.
+#------------------------------------------------------------------------------
+Libs: -L${libdir} -lbitcoin-server
+