Skip to content

bstrike #2

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 65 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
65 commits
Select commit Hold shift + click to select a range
198323a
Optimized blockchain storage
Jun 20, 2014
e399973
Initial commit
cryptonotefoundation Jun 21, 2014
69a7708
Fix bytecoin folder creation on startup
Jun 21, 2014
2f44547
Minor fixies in comments
cryptonotefoundation Jun 24, 2014
9a0a44a
Update README, add forking guide
cryptonotefoundation Jun 24, 2014
76bb193
Minimum fix increase, high level api
Jun 25, 2014
7853c21
Merge remote-tracking branch 'bytecoin/master'
cryptonotefoundation Jun 28, 2014
209e235
Add proper big transaction handling
Jun 28, 2014
f4769d8
Added testnet flag in daemon
cryptonotefoundation Jul 10, 2014
7f23949
Add print-genesis-tx option.
cryptonotefoundation Jul 18, 2014
eefb411
Update README
cryptonotefoundation Jul 18, 2014
ce6a3be
Update license from MIT to LGPL
Aug 13, 2014
4363a9f
Multi-signatures added
Aug 13, 2014
c3b1a00
Fix transfers in simplewallet
Aug 14, 2014
9df3a81
Transaction history and 'reset' command for simplewallet
Aug 25, 2014
6b1858d
CryptoC-3: fix for Merkle tree root issue
Sep 4, 2014
6be8153
CryptoC-3: fix for Merkle tree root issue
cryptonotefoundation Sep 5, 2014
6d74194
New TCP server
Sep 15, 2014
640efb3
New HTTP server
Sep 15, 2014
257a2bf
New JSON serialization
Sep 15, 2014
b00a96c
Update README
cryptonotefoundation Feb 17, 2015
1743402
Multisignature API, Low level and High level APIs
Apr 6, 2015
e15c015
Balance format improvement
Apr 8, 2015
89271f5
Simplewallet improvements
Apr 14, 2015
fbd7265
Merge remote-tracking branch 'bytecoin/master'
cryptonotefoundation Apr 23, 2015
ad291f5
Bytecoin RPC Wallet
May 27, 2015
6fe2876
DigitalNote XDN
xdn-project Jun 6, 2015
0e37d9f
Checkpoints updates
xdn-project Jun 7, 2015
8e27da2
Wallet RPC server improvements
xdn-project Jun 8, 2015
f53761c
Wallet improvements
xdn-project Jun 11, 2015
2a660fd
Wallet RPC server improvements
xdn-project Jun 17, 2015
6ee9db0
Update checkpoints
xdn-project Jun 19, 2015
b7b9653
Simplewallet and Wallet RPC server reset fix
xdn-project Jun 23, 2015
da084d6
get_payments RPC method improvement
xdn-project Jun 26, 2015
b1b8502
Added 'print_stat' command to daemon
xdn-project Jun 30, 2015
6d45be9
Simplewallet improvements
Jul 9, 2015
4ceaeaf
Wallet deposit support
xdn-project Jul 10, 2015
f697d93
Bytecoin v.1.0.5 release
Jul 15, 2015
9f509d9
Wallet improvements
xdn-project Jul 15, 2015
b3a91f6
P2P network stability improvement
Jul 20, 2015
0ac7998
'print_stat' command fixes
xdn-project Jul 21, 2015
50cdbfa
Bytecoin v.1.0.6 release
Jul 30, 2015
49572fc
IWallet implementation improvements
Aug 5, 2015
deda499
Bytecoin v.1.0.7 release
Aug 11, 2015
962fb53
Simplewallet DigitalName alias support
xdn-project Aug 17, 2015
a4b74ea
Daemon synchronization and SimpleWallet improvements
Aug 19, 2015
d748722
Checkpoints updates
xdn-project Aug 24, 2015
a6588cf
Bytecoin v.1.0.8 release
Aug 27, 2015
6c35e24
IWallet implementation improvements
Sep 4, 2015
cde1b8e
Merge remote-tracking branch 'bytecoin/master'
cryptonotefoundation Sep 18, 2015
f4cb180
Create about.txt
xdn-project Sep 28, 2015
76dd807
Update about.txt
xdn-project Sep 28, 2015
00915e6
Change donation
Oct 1, 2015
531dacc
[Issue #13] Correct 'Daemon' target in src/CMakeLists.txt
cryptonotefoundation Nov 19, 2015
6d4e1d1
Bytecoin v.1.0.9 release
Dec 9, 2015
64feea7
Issue #57. Add missing 'override' keyword
Dec 14, 2015
8edd998
Merge remote-tracking branch 'bytecoin/master'
cryptonotefoundation Jan 18, 2016
7b2f78d
Merge remote-tracking branch 'cryptonote/master'
xdn-project Feb 16, 2016
c91959e
Fix for wallet fee display issue
xdn-project May 12, 2016
bdea9dd
Messages 2.0
xdn-project May 30, 2016
01adc3c
Simplewallet console message sending
xdn-project May 31, 2016
7a321b7
XDN merged mining support
xdn-project Nov 8, 2016
6f53611
Default block size and mining update
xdn-project Jan 2, 2017
facaa95
Latest checkpoints and fixes
xdn-project May 19, 2017
1febccf
Blockchain synchronization improvements
xdn-project Aug 18, 2017
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
.DS_Store
/build
/tags
.idea
.ycm_extra_conf.py
.ycm_extra_conf.pyc
Release
Debug
62 changes: 42 additions & 20 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,38 +4,58 @@ set(VERSION "0.1")
# $Format:Packaged from commit %H%nset(COMMIT %h)%nset(REFS "%d")$

set_property(GLOBAL PROPERTY USE_FOLDERS ON)
set(CMAKE_CONFIGURATION_TYPES "Debug;Release")
set(CMAKE_CONFIGURATION_TYPES Debug RelWithDebInfo Release CACHE TYPE INTERNAL)
set(CMAKE_SKIP_INSTALL_RULES ON)
set(CMAKE_SKIP_PACKAGE_ALL_DEPENDENCY ON)
set(CMAKE_SUPPRESS_REGENERATION ON)
enable_testing()
# copy CTestCustom.cmake to build dir to disable long running tests in 'make test'
configure_file(${CMAKE_SOURCE_DIR}/CTestCustom.cmake ${CMAKE_BINARY_DIR})

include_directories(include src contrib/epee/include external "${CMAKE_BINARY_DIR}/version")
project(DigitalNote)

include_directories(include src external "${CMAKE_BINARY_DIR}/version")
if(APPLE)
include_directories(SYSTEM /usr/include/malloc)
enable_language(ASM)
endif()

if(MSVC)
include_directories(src/Platform/Windows)
elseif(APPLE)
include_directories(src/Platform/OSX)
else()
include_directories(src/Platform/Linux)
endif()

set(STATIC ${MSVC} CACHE BOOL "Link libraries statically")

if(MSVC)
add_definitions("/bigobj /MP /W3 /GS- /D_CRT_SECURE_NO_WARNINGS /wd4996 /wd4345 /D_WIN32_WINNT=0x0600 /DWIN32_LEAN_AND_MEAN /DGTEST_HAS_TR1_TUPLE=0 /D_VARIADIC_MAX=8 /FIinline_c.h /D__SSE4_1__")
# set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /Dinline=__inline")
add_definitions("/bigobj /MP /W3 /GS- /D_CRT_SECURE_NO_WARNINGS /wd4996 /wd4345 /D_WIN32_WINNT=0x0600 /DWIN32_LEAN_AND_MEAN /DGTEST_HAS_TR1_TUPLE=0 /D_VARIADIC_MAX=8 /D__SSE4_1__")
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /STACK:10485760")
if(STATIC)
foreach(VAR CMAKE_C_FLAGS_DEBUG CMAKE_CXX_FLAGS_DEBUG CMAKE_C_FLAGS_RELEASE CMAKE_CXX_FLAGS_RELEASE CMAKE_C_FLAGS_RELWITHDEBINFO CMAKE_CXX_FLAGS_RELWITHDEBINFO)
foreach(VAR CMAKE_C_FLAGS_DEBUG CMAKE_CXX_FLAGS_DEBUG CMAKE_C_FLAGS_RELWITHDEBINFO CMAKE_CXX_FLAGS_RELWITHDEBINFO CMAKE_C_FLAGS_RELEASE CMAKE_CXX_FLAGS_RELEASE)
string(REPLACE "/MD" "/MT" ${VAR} "${${VAR}}")
endforeach()
endif()
include_directories(SYSTEM src/platform/msc)
else()
if (${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
# This option has no effect in glibc version less than 2.20.
# Since glibc 2.20 _BSD_SOURCE is deprecated, this macro is recomended instead
add_definitions("-D_DEFAULT_SOURCE -D_GNU_SOURCE")
endif()
set(ARCH native CACHE STRING "CPU to build for: -march value or default")
if("${ARCH}" STREQUAL "default")
set(ARCH_FLAG "")
else()
set(ARCH_FLAG "-march=${ARCH}")
endif()
set(WARNINGS "-Wall -Wextra -Wpointer-arith -Wundef -Wvla -Wwrite-strings -Werror -Wno-error=extra -Wno-error=deprecated-declarations -Wno-error=sign-compare -Wno-error=strict-aliasing -Wno-error=type-limits -Wno-unused-parameter -Wno-error=unused-variable -Wno-error=undef -Wno-error=uninitialized")
set(WARNINGS "-Wall -Wextra -Wpointer-arith -Wundef -Wvla -Wwrite-strings -Werror -Wno-error=extra -Wno-error=unused-function -Wno-error=deprecated-declarations -Wno-error=sign-compare -Wno-error=strict-aliasing -Wno-error=type-limits -Wno-unused-parameter -Wno-error=unused-variable -Wno-error=undef -Wno-error=uninitialized -Wno-error=unused-result")
if(CMAKE_C_COMPILER_ID STREQUAL "Clang")
set(WARNINGS "${WARNINGS} -Wno-error=mismatched-tags -Wno-error=null-conversion -Wno-overloaded-shift-op-parentheses -Wno-error=shift-count-overflow -Wno-error=tautological-constant-out-of-range-compare -Wno-error=unused-private-field -Wno-error=unneeded-internal-declaration")
set(WARNINGS "${WARNINGS} -Wno-error=mismatched-tags -Wno-error=null-conversion -Wno-overloaded-shift-op-parentheses -Wno-error=shift-count-overflow -Wno-error=tautological-constant-out-of-range-compare -Wno-error=unused-private-field -Wno-error=unneeded-internal-declaration -Wno-error=unused-function")
else()
set(WARNINGS "${WARNINGS} -Wlogical-op -Wno-error=maybe-uninitialized")
set(WARNINGS "${WARNINGS} -Wlogical-op -Wno-error=maybe-uninitialized -Wno-error=clobbered -Wno-error=unused-but-set-variable")
endif()
if(MINGW)
set(WARNINGS "${WARNINGS} -Wno-error=unused-value")
Expand All @@ -44,16 +64,16 @@ else()
else()
set(MINGW_FLAG "")
endif()
if(CMAKE_C_COMPILER_ID STREQUAL "GNU" AND NOT (CMAKE_C_COMPILER_VERSION VERSION_LESS 5.1))
set(WARNINGS "${WARNINGS} -Wno-error=odr")
endif()
set(C_WARNINGS "-Waggregate-return -Wnested-externs -Wold-style-definition -Wstrict-prototypes")
set(CXX_WARNINGS "-Wno-reorder -Wno-missing-field-initializers")
try_compile(STATIC_ASSERT_RES "${CMAKE_CURRENT_BINARY_DIR}/static-assert" "${CMAKE_CURRENT_SOURCE_DIR}/utils/test-static-assert.c" COMPILE_DEFINITIONS "-std=c11")
if(STATIC_ASSERT_RES)
set(STATIC_ASSERT_FLAG "")
else()
set(STATIC_ASSERT_FLAG "-Dstatic_assert=_Static_assert")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=c11 ${MINGW_FLAG} ${WARNINGS} ${C_WARNINGS} ${ARCH_FLAG} -maes")
if(NOT APPLE)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pthread")
endif()
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=c11 -D_GNU_SOURCE ${MINGW_FLAG} ${STATIC_ASSERT_FLAG} ${WARNINGS} ${C_WARNINGS} ${ARCH_FLAG} -maes")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -D_GNU_SOURCE ${MINGW_FLAG} ${WARNINGS} ${CXX_WARNINGS} ${ARCH_FLAG} -maes")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 ${MINGW_FLAG} ${WARNINGS} ${CXX_WARNINGS} ${ARCH_FLAG} -maes")
if(APPLE)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DGTEST_HAS_TR1_TUPLE=0")
endif()
Expand All @@ -65,6 +85,12 @@ else()
set(RELEASE_FLAGS "-Ofast -DNDEBUG -Wno-unused-variable")
if(NOT APPLE)
# There is a clang bug that does not allow to compile code that uses AES-NI intrinsics if -flto is enabled
if (CMAKE_C_COMPILER_ID STREQUAL "GNU" AND CMAKE_SYSTEM_NAME STREQUAL "Linux"
AND CMAKE_BUILD_TYPE STREQUAL "Release" AND ((CMAKE_C_COMPILER_VERSION VERSION_GREATER 4.9) OR (CMAKE_C_COMPILER_VERSION VERSION_EQUAL 4.9)))
# On linux, to build in lto mode, check that ld.gold linker is used: 'update-alternatives --install /usr/bin/ld ld /usr/bin/ld.gold HIGHEST_PRIORITY'
set(CMAKE_AR gcc-ar)
set(CMAKE_RANLIB gcc-ranlib)
endif()
set(RELEASE_FLAGS "${RELEASE_FLAGS} -flto")
endif()
#if(CMAKE_C_COMPILER_ID STREQUAL "GNU" AND NOT MINGW)
Expand All @@ -83,10 +109,7 @@ if(STATIC)
set(Boost_USE_STATIC_LIBS ON)
set(Boost_USE_STATIC_RUNTIME ON)
endif()
find_package(Boost 1.53 REQUIRED COMPONENTS system filesystem thread date_time chrono regex serialization program_options)
if((${Boost_MAJOR_VERSION} EQUAL 1) AND (${Boost_MINOR_VERSION} EQUAL 54))
message(SEND_ERROR "Boost version 1.54 is unsupported, more details are available here http://goo.gl/RrCFmA")
endif()
find_package(Boost 1.55 REQUIRED COMPONENTS system filesystem thread date_time chrono regex serialization program_options)
include_directories(SYSTEM ${Boost_INCLUDE_DIRS})
if(MINGW)
set(Boost_LIBRARIES "${Boost_LIBRARIES};ws2_32;mswsock")
Expand Down Expand Up @@ -122,7 +145,6 @@ else()
endif()
endif()

add_subdirectory(contrib)
add_subdirectory(external)
add_subdirectory(src)
add_subdirectory(tests)
11 changes: 11 additions & 0 deletions CTestCustom.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
set(CTEST_CUSTOM_TESTS_IGNORE
CoreTests
IntegrationTestLibrary
TestGenerator
CryptoTests
IntegrationTests
NodeRpcProxyTests
PerformanceTests
TransfersTests
)

165 changes: 0 additions & 165 deletions LICENSE

This file was deleted.

32 changes: 0 additions & 32 deletions README

This file was deleted.

43 changes: 43 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
## Building DigitalNote

### On *nix:

Dependencies: GCC 4.7.3 or later, CMake 2.8.6 or later, and Boost 1.55 or later.

You may download them from:

- http://gcc.gnu.org/
- http://www.cmake.org/
- http://www.boost.org/

Alternatively, it may be possible to install them using a package manager.

To build, change to a directory where this file is located, and run `make`. The resulting executables can be found in `build/release/src`.

#### Advanced options:

Parallel build: run `make -j<number of threads>` instead of `make`.

Debug build: run `make build-debug`.

Test suite: run `make test-release` to run tests in addition to building. Running `make test-debug` will do the same to the debug version.

Building with Clang: it may be possible to use Clang instead of GCC, but this may not work everywhere. To build, run `export CC=clang CXX=clang++` before running `make`.

### On Windows:
Dependencies: MSVC 2013 or later, CMake 2.8.6 or later, and Boost 1.55 or later. You may download them from:

- http://www.microsoft.com/
- http://www.cmake.org/
- http://www.boost.org/

To build, change to a directory where this file is located, and run this commands:
```
mkdir build
cd build
cmake -G "Visual Studio 12 Win64" ..
```

And then do Build.

Good luck!
Loading