Skip to content

Commit 450d9dd

Browse files
authored
Merge pull request #584 from evoskuil/master
Initial version 4.
2 parents 7e65765 + 1aebe29 commit 450d9dd

File tree

145 files changed

+12644
-6083
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

145 files changed

+12644
-6083
lines changed

.github/workflows/ci.yml

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ jobs:
1818
matrix:
1919
include:
2020
- os: ubuntu-24.04
21-
cxx: "clang++-16"
21+
cxx: "clang++-18"
2222
link: "dynamic"
2323
optimization: "debug"
2424
assert: "debug"
@@ -28,14 +28,14 @@ jobs:
2828
icu: ""
2929
llvm: ""
3030
secp256k1: "--build-secp256k1"
31-
cc: "clang-16"
31+
cc: "clang-18"
3232
flags: "-Og -fPIE"
3333
options: "--enable-isystem"
3434
packager: "apt"
3535
packages: ""
3636

3737
- os: ubuntu-24.04
38-
cxx: "clang++-16"
38+
cxx: "clang++-18"
3939
link: "static"
4040
optimization: "size"
4141
assert: "ndebug"
@@ -45,7 +45,7 @@ jobs:
4545
icu: "--build-icu --with-icu"
4646
llvm: ""
4747
secp256k1: "--build-secp256k1"
48-
cc: "clang-16"
48+
cc: "clang-18"
4949
flags: "-Os -fPIE"
5050
options: "--enable-isystem"
5151
packager: "apt"
@@ -289,7 +289,7 @@ jobs:
289289
matrix:
290290
include:
291291
- os: ubuntu-24.04
292-
cxx: "clang++-16"
292+
cxx: "clang++-18"
293293
link: "dynamic"
294294
optimization: "debug"
295295
assert: "debug"
@@ -299,14 +299,14 @@ jobs:
299299
icu: ""
300300
llvm: ""
301301
secp256k1: "--build-secp256k1"
302-
cc: "clang-16"
302+
cc: "clang-18"
303303
flags: "-Og -fPIE"
304304
options: ""
305305
packager: "apt"
306306
packages: ""
307307

308308
- os: ubuntu-24.04
309-
cxx: "clang++-16"
309+
cxx: "clang++-18"
310310
link: "static"
311311
optimization: "size"
312312
assert: "ndebug"
@@ -316,7 +316,7 @@ jobs:
316316
icu: "--build-icu --with-icu"
317317
llvm: ""
318318
secp256k1: "--build-secp256k1"
319-
cc: "clang-16"
319+
cc: "clang-18"
320320
flags: "-Os -fPIE"
321321
options: ""
322322
packager: "apt"
@@ -574,7 +574,7 @@ jobs:
574574
include:
575575
- os: ubuntu-24.04
576576
preset: "nix-gnu-debug-shared"
577-
cxx: "clang++-16"
577+
cxx: "clang++-18"
578578
link: "dynamic"
579579
optimization: "debug"
580580
assert: "debug"
@@ -584,15 +584,15 @@ jobs:
584584
icu: ""
585585
llvm: ""
586586
secp256k1: "--build-secp256k1"
587-
cc: "clang-16"
587+
cc: "clang-18"
588588
flags: "-Og -fPIE"
589589
options: ""
590590
packager: "apt"
591591
packages: ""
592592

593593
- os: ubuntu-24.04
594594
preset: "nix-gnu-release-static"
595-
cxx: "clang++-16"
595+
cxx: "clang++-18"
596596
link: "static"
597597
optimization: "size"
598598
assert: "ndebug"
@@ -602,7 +602,7 @@ jobs:
602602
icu: "--build-icu --with-icu"
603603
llvm: ""
604604
secp256k1: "--build-secp256k1"
605-
cc: "clang-16"
605+
cc: "clang-18"
606606
flags: "-Os -fPIE"
607607
options: ""
608608
packager: "apt"

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,3 +27,6 @@ build
2727
/libtool
2828
.dirstamp
2929
/.vs
30+
*.db
31+
*.db-shm
32+
*.db-wal

Makefile.am

Lines changed: 0 additions & 125 deletions
Original file line numberDiff line numberDiff line change
@@ -31,128 +31,3 @@ doc_DATA = \
3131

3232
# src/libbitcoin-server.la => ${libdir}
3333
#------------------------------------------------------------------------------
34-
lib_LTLIBRARIES = src/libbitcoin-server.la
35-
src_libbitcoin_server_la_CPPFLAGS = -I${srcdir}/include -DSYSCONFDIR=\"${sysconfdir}\" ${bitcoin_protocol_BUILD_CPPFLAGS} ${bitcoin_node_BUILD_CPPFLAGS}
36-
src_libbitcoin_server_la_LIBADD = ${bitcoin_protocol_LIBS} ${bitcoin_node_LIBS}
37-
src_libbitcoin_server_la_SOURCES = \
38-
src/configuration.cpp \
39-
src/parser.cpp \
40-
src/server_node.cpp \
41-
src/settings.cpp \
42-
src/interface/blockchain.cpp \
43-
src/interface/server.cpp \
44-
src/interface/subscribe.cpp \
45-
src/interface/transaction_pool.cpp \
46-
src/interface/unsubscribe.cpp \
47-
src/messages/message.cpp \
48-
src/messages/route.cpp \
49-
src/messages/subscription.cpp \
50-
src/services/block_service.cpp \
51-
src/services/heartbeat_service.cpp \
52-
src/services/query_service.cpp \
53-
src/services/transaction_service.cpp \
54-
src/workers/authenticator.cpp \
55-
src/workers/notification_worker.cpp \
56-
src/workers/query_worker.cpp
57-
58-
# local: test/libbitcoin-server-test
59-
#------------------------------------------------------------------------------
60-
if WITH_TESTS
61-
62-
TESTS = libbitcoin-server-test_runner.sh
63-
64-
check_PROGRAMS = test/libbitcoin-server-test
65-
test_libbitcoin_server_test_CPPFLAGS = -I${srcdir}/include ${bitcoin_protocol_BUILD_CPPFLAGS} ${bitcoin_node_BUILD_CPPFLAGS}
66-
test_libbitcoin_server_test_LDADD = src/libbitcoin-server.la ${boost_unit_test_framework_LIBS} ${bitcoin_protocol_LIBS} ${bitcoin_node_LIBS}
67-
test_libbitcoin_server_test_SOURCES = \
68-
test/main.cpp \
69-
test/server.cpp \
70-
test/stress.sh
71-
72-
endif WITH_TESTS
73-
74-
# console/bs => ${bindir}
75-
#------------------------------------------------------------------------------
76-
if WITH_CONSOLE
77-
78-
bin_PROGRAMS = console/bs
79-
console_bs_CPPFLAGS = -I${srcdir}/include ${bitcoin_protocol_BUILD_CPPFLAGS} ${bitcoin_node_BUILD_CPPFLAGS}
80-
console_bs_LDADD = src/libbitcoin-server.la ${bitcoin_protocol_LIBS} ${bitcoin_node_LIBS}
81-
console_bs_SOURCES = \
82-
console/executor.cpp \
83-
console/executor.hpp \
84-
console/main.cpp
85-
86-
endif WITH_CONSOLE
87-
88-
# files => ${includedir}/bitcoin
89-
#------------------------------------------------------------------------------
90-
include_bitcoindir = ${includedir}/bitcoin
91-
include_bitcoin_HEADERS = \
92-
include/bitcoin/server.hpp
93-
94-
include_bitcoin_serverdir = ${includedir}/bitcoin/server
95-
include_bitcoin_server_HEADERS = \
96-
include/bitcoin/server/configuration.hpp \
97-
include/bitcoin/server/define.hpp \
98-
include/bitcoin/server/parser.hpp \
99-
include/bitcoin/server/server_node.hpp \
100-
include/bitcoin/server/settings.hpp \
101-
include/bitcoin/server/version.hpp
102-
103-
include_bitcoin_server_interfacedir = ${includedir}/bitcoin/server/interface
104-
include_bitcoin_server_interface_HEADERS = \
105-
include/bitcoin/server/interface/blockchain.hpp \
106-
include/bitcoin/server/interface/server.hpp \
107-
include/bitcoin/server/interface/subscribe.hpp \
108-
include/bitcoin/server/interface/transaction_pool.hpp \
109-
include/bitcoin/server/interface/unsubscribe.hpp
110-
111-
include_bitcoin_server_messagesdir = ${includedir}/bitcoin/server/messages
112-
include_bitcoin_server_messages_HEADERS = \
113-
include/bitcoin/server/messages/message.hpp \
114-
include/bitcoin/server/messages/route.hpp \
115-
include/bitcoin/server/messages/subscription.hpp
116-
117-
include_bitcoin_server_servicesdir = ${includedir}/bitcoin/server/services
118-
include_bitcoin_server_services_HEADERS = \
119-
include/bitcoin/server/services/block_service.hpp \
120-
include/bitcoin/server/services/heartbeat_service.hpp \
121-
include/bitcoin/server/services/query_service.hpp \
122-
include/bitcoin/server/services/transaction_service.hpp
123-
124-
include_bitcoin_server_workersdir = ${includedir}/bitcoin/server/workers
125-
include_bitcoin_server_workers_HEADERS = \
126-
include/bitcoin/server/workers/authenticator.hpp \
127-
include/bitcoin/server/workers/notification_worker.hpp \
128-
include/bitcoin/server/workers/query_worker.hpp
129-
130-
# files => ${bash_completiondir}
131-
#------------------------------------------------------------------------------
132-
if BASH_COMPLETIONDIR
133-
134-
dist_bash_completion_DATA = \
135-
data/bs
136-
137-
endif BASH_COMPLETIONDIR
138-
139-
# files => ${sysconfdir}/libbitcoin
140-
#------------------------------------------------------------------------------
141-
if WITH_CONSOLE
142-
143-
sysconf_libbitcoindir = ${sysconfdir}/libbitcoin
144-
sysconf_libbitcoin_DATA = \
145-
data/bs.cfg
146-
147-
endif WITH_CONSOLE
148-
149-
150-
# Custom make targets.
151-
#==============================================================================
152-
# make target: console
153-
#------------------------------------------------------------------------------
154-
target_console = \
155-
console/bs
156-
157-
console: ${target_console}
158-

build.cmd

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -45,11 +45,6 @@ IF %ERRORLEVEL% NEQ 0 (
4545
call :failure "Initializing repository libbitcoin libbitcoin-node master failed."
4646
exit /b 1
4747
)
48-
call :init libbitcoin libbitcoin-protocol master
49-
IF %ERRORLEVEL% NEQ 0 (
50-
call :failure "Initializing repository libbitcoin libbitcoin-protocol master failed."
51-
exit /b 1
52-
)
5348
call :bld_repo libbitcoin-server
5449
IF %ERRORLEVEL% NEQ 0 (
5550
call :failure "Building libbitcoin-server failed."

builds/cmake/CMakeLists.txt

Lines changed: 41 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -168,10 +168,6 @@ endif()
168168
#------------------------------------------------------------------------------
169169
find_package( Bitcoin-Node 4.0.0 REQUIRED )
170170

171-
# Find bitcoin-protocol
172-
#------------------------------------------------------------------------------
173-
find_package( Bitcoin-Protocol 4.0.0 REQUIRED )
174-
175171
# Define project common includes for build.
176172
#------------------------------------------------------------------------------
177173
if (BUILD_SHARED_LIBS)
@@ -248,24 +244,22 @@ add_definitions(
248244
#------------------------------------------------------------------------------
249245
add_library( ${CANONICAL_LIB_NAME}
250246
"../../src/configuration.cpp"
247+
"../../src/error.cpp"
251248
"../../src/parser.cpp"
252249
"../../src/server_node.cpp"
253250
"../../src/settings.cpp"
254-
"../../src/interface/blockchain.cpp"
255-
"../../src/interface/server.cpp"
256-
"../../src/interface/subscribe.cpp"
257-
"../../src/interface/transaction_pool.cpp"
258-
"../../src/interface/unsubscribe.cpp"
259-
"../../src/messages/message.cpp"
260-
"../../src/messages/route.cpp"
261-
"../../src/messages/subscription.cpp"
262-
"../../src/services/block_service.cpp"
263-
"../../src/services/heartbeat_service.cpp"
264-
"../../src/services/query_service.cpp"
265-
"../../src/services/transaction_service.cpp"
266-
"../../src/workers/authenticator.cpp"
267-
"../../src/workers/notification_worker.cpp"
268-
"../../src/workers/query_worker.cpp" )
251+
"../../src/parsers/bitcoind_query.cpp"
252+
"../../src/parsers/bitcoind_target.cpp"
253+
"../../src/parsers/explore_query.cpp"
254+
"../../src/parsers/explore_target.cpp"
255+
"../../src/protocols/protocol_bitcoind_rest.cpp"
256+
"../../src/protocols/protocol_bitcoind_rpc.cpp"
257+
"../../src/protocols/protocol_electrum.cpp"
258+
"../../src/protocols/protocol_electrum_version.cpp"
259+
"../../src/protocols/protocol_explore.cpp"
260+
"../../src/protocols/protocol_html.cpp"
261+
"../../src/protocols/protocol_http.cpp"
262+
"../../src/protocols/protocol_stratum_v1.cpp" )
269263

270264
# ${CANONICAL_LIB_NAME} project specific include directory normalization for build.
271265
#------------------------------------------------------------------------------
@@ -307,11 +301,10 @@ target_link_libraries( ${CANONICAL_LIB_NAME}
307301
#------------------------------------------------------------------------------
308302
if (with-tests)
309303
add_executable( libbitcoin-server-test
310-
"../../test/latest-addrs.py"
304+
"../../test/error.cpp"
311305
"../../test/main.cpp"
312-
"../../test/popular_addrs.py"
313-
"../../test/server.cpp"
314-
"../../test/stress.sh" )
306+
"../../test/test.cpp"
307+
"../../test/test.hpp" )
315308

316309
add_test( NAME libbitcoin-server-test COMMAND libbitcoin-server-test
317310
--run_test=*
@@ -340,8 +333,32 @@ if (with-console)
340333
add_executable( bs
341334
"../../console/executor.cpp"
342335
"../../console/executor.hpp"
336+
"../../console/executor_commands.cpp"
337+
"../../console/executor_dumps.cpp"
338+
"../../console/executor_events.cpp"
339+
"../../console/executor_logging.cpp"
340+
"../../console/executor_options.cpp"
341+
"../../console/executor_runner.cpp"
342+
"../../console/executor_scans.cpp"
343+
"../../console/executor_store.cpp"
344+
"../../console/executor_test_reader.cpp"
345+
"../../console/executor_test_writer.cpp"
343346
"../../console/libbitcoin.ico"
344-
"../../console/main.cpp" )
347+
"../../console/localize.hpp"
348+
"../../console/main.cpp"
349+
"../../console/stack_trace.cpp"
350+
"../../console/stack_trace.hpp"
351+
"../../console/embedded/embedded.hpp"
352+
"../../console/embedded/explore_css.cpp"
353+
"../../console/embedded/explore_ecma.cpp"
354+
"../../console/embedded/explore_font.cpp"
355+
"../../console/embedded/explore_html.cpp"
356+
"../../console/embedded/explore_icon.cpp"
357+
"../../console/embedded/web_css.cpp"
358+
"../../console/embedded/web_ecma.cpp"
359+
"../../console/embedded/web_font.cpp"
360+
"../../console/embedded/web_html.cpp"
361+
"../../console/embedded/web_icon.cpp" )
345362

346363
# bs project specific include directories.
347364
#------------------------------------------------------------------------------

builds/msvc/properties/Common.props

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727

2828
<!-- Language -->
2929
<!-- /Zc is conformance mode. -->
30-
<AdditionalOptions>/Zc:__cplusplus %(AdditionalOptions)</AdditionalOptions>
30+
<AdditionalOptions>/Zc:__cplusplus /Zc:preprocessor %(AdditionalOptions)</AdditionalOptions>
3131
<EnforceTypeConversionRules>true</EnforceTypeConversionRules>
3232
<RuntimeTypeInfo>true</RuntimeTypeInfo>
3333
<OpenMPSupport>false</OpenMPSupport>
@@ -44,7 +44,7 @@
4444
<!-- ExternalWarningLevel:EnableAllWarnings produce warning flood (mostly from STL/Boost). -->
4545
<!-- Language extensions are enabled by default (required for STL/Boost). -->
4646
<ExternalWarningLevel>Level4</ExternalWarningLevel>
47-
</ClCompile>
47+
</ClCompile>
4848
</ItemDefinitionGroup>
4949

5050
</Project>

0 commit comments

Comments
 (0)