This commit is contained in:
SikkieNL 2024-12-16 19:40:22 +01:00
parent a8c3a2f4f2
commit da0f59abca
414 changed files with 5168 additions and 7419 deletions

View File

@ -7,9 +7,9 @@ assignees: ''
--- ---
<!-- This issue tracker is only for technical issues related to NeoBytes Core. <!-- This issue tracker is only for technical issues related to Neobytes Core.
General neobytes questions and/or support requests are best directed to the NeoBytes StackExchange at https://neobytes.stackexchange.com. General neobytes questions and/or support requests are best directed to the Neobytes StackExchange at https://neobytes.stackexchange.com.
For reporting security issues, please read instructions at https://bitcoincore.org/en/contact/. For reporting security issues, please read instructions at https://bitcoincore.org/en/contact/.

View File

@ -1,5 +1,5 @@
blank_issues_enabled: true blank_issues_enabled: true
contact_links: contact_links:
- name: NeoBytes Core - name: Neobytes Core
url: https://www.neobytes.network url: https://www.neobytes.network
about: NeoBytes homepage about: Neobytes homepage

View File

@ -28,9 +28,9 @@ body:
id: useful-skills id: useful-skills
attributes: attributes:
label: Useful Skills label: Useful Skills
description: For example, “`std::thread`”, “Qt5 GUI and async GUI design” or “basic understanding of NeoBytes mining and the NeoBytes Core RPC interface”. description: For example, “`std::thread`”, “Qt5 GUI and async GUI design” or “basic understanding of Neobytes mining and the Neobytes Core RPC interface”.
value: | value: |
* Compiling NeoBytes Core from source * Compiling Neobytes Core from source
* Running the C++ unit tests and the Python functional tests * Running the C++ unit tests and the Python functional tests
* ... * ...
- type: textarea - type: textarea

4
.gitignore vendored
View File

@ -82,7 +82,7 @@ libconftest.dylib*
*.qm *.qm
Makefile Makefile
neobytes-qt neobytes-qt
NeoBytes-Qt.app Neobytes-Qt.app
# Unit-tests # Unit-tests
Makefile.test Makefile.test
@ -123,7 +123,7 @@ share/BitcoindComparisonTool.jar
.autotools .autotools
/doc/doxygen/ /doc/doxygen/
libneobytesconsensus.pc libbitcoinconsensus.pc
src/qt/neobytes-qt.bash src/qt/neobytes-qt.bash
qa/pull-tester/tests-config.sh qa/pull-tester/tests-config.sh

View File

@ -1,7 +1,7 @@
Contributing to NeoBytes Core Contributing to Neobytes Core
============================ =============================
The NeoBytes Core project operates an open contributor model where anyone is welcome to contribute towards development in the form of peer review, testing and patches. This document explains the practical process and guidelines for contributing. The Neobytes Core project operates an open contributor model where anyone is welcome to contribute towards development in the form of peer review, testing and patches. This document explains the practical process and guidelines for contributing.
Firstly in terms of structure, there is no particular concept of “Core developers” in the sense of privileged people. Open source often naturally revolves around meritocracy where longer term contributors gain more trust from the developer community. However, some hierarchy is necessary for practical purposes. As such there are repository “maintainers” who are responsible for merging pull requests as well as a “lead maintainer” who is responsible for the release cycle, overall merging, moderation and appointment of maintainers. Firstly in terms of structure, there is no particular concept of “Core developers” in the sense of privileged people. Open source often naturally revolves around meritocracy where longer term contributors gain more trust from the developer community. However, some hierarchy is necessary for practical purposes. As such there are repository “maintainers” who are responsible for merging pull requests as well as a “lead maintainer” who is responsible for the release cycle, overall merging, moderation and appointment of maintainers.
@ -67,9 +67,9 @@ Project maintainers aim for a quick turnaround on refactoring pull requests, so
"Decision Making" Process "Decision Making" Process
------------------------- -------------------------
The following applies to code changes to the NeoBytes Core project (and related projects such as libsecp256k1), and is not to be confused with overall NeoBytes Network Protocol consensus changes. The following applies to code changes to the Neobytes Core project (and related projects such as libsecp256k1), and is not to be confused with overall Neobytes Network Protocol consensus changes.
Whether a pull request is merged into NeoBytes Core rests with the project merge maintainers and ultimately the project lead. Whether a pull request is merged into Neobytes Core rests with the project merge maintainers and ultimately the project lead.
Maintainers will take into consideration if a patch is in line with the general principles of the project; meets the minimum standards for inclusion; and will judge the general consensus of contributors. Maintainers will take into consideration if a patch is in line with the general principles of the project; meets the minimum standards for inclusion; and will judge the general consensus of contributors.
@ -82,7 +82,7 @@ In general, all pull requests must:
- not break the existing test suite; - not break the existing test suite;
- where bugs are fixed, where possible, there should be unit tests demonstrating the bug and also proving the fix. This helps prevent regression. - where bugs are fixed, where possible, there should be unit tests demonstrating the bug and also proving the fix. This helps prevent regression.
Patches that change NeoBytes consensus rules are considerably more involved than normal because they affect the entire ecosystem and so must be preceded by extensive mailing list discussions and have a numbered BIP. While each case will be different, one should be prepared to expend more time and effort than for other kinds of patches because of increased peer review and consensus building requirements. Patches that change Neobytes consensus rules are considerably more involved than normal because they affect the entire ecosystem and so must be preceded by extensive mailing list discussions and have a numbered BIP. While each case will be different, one should be prepared to expend more time and effort than for other kinds of patches because of increased peer review and consensus building requirements.
### Peer Review ### Peer Review
@ -101,10 +101,10 @@ Project maintainers reserve the right to weigh the opinions of peer reviewers us
Where a patch set affects consensus critical code, the bar will be set much higher in terms of discussion and peer review requirements, keeping in mind that mistakes could be very costly to the wider community. This includes refactoring of consensus critical code. Where a patch set affects consensus critical code, the bar will be set much higher in terms of discussion and peer review requirements, keeping in mind that mistakes could be very costly to the wider community. This includes refactoring of consensus critical code.
Where a patch set proposes to change the NeoBytes consensus, it must have been discussed extensively on the mailing list and IRC, be accompanied by a widely discussed BIP and have a generally widely perceived technical consensus of being a worthwhile change based on the judgement of the maintainers. Where a patch set proposes to change the Neobytes consensus, it must have been discussed extensively on the mailing list and IRC, be accompanied by a widely discussed BIP and have a generally widely perceived technical consensus of being a worthwhile change based on the judgement of the maintainers.
Release Policy Release Policy
-------------- --------------
The project leader is the release manager for each NeoBytes Core release. The project leader is the release manager for each Neobytes Core release.

View File

@ -2,7 +2,7 @@ The MIT License (MIT)
Copyright (c) 2009-2016 The Bitcoin Core developers Copyright (c) 2009-2016 The Bitcoin Core developers
Copyright (c) 2014-2017 The Dash Core developers Copyright (c) 2014-2017 The Dash Core developers
Copyright (c) 2021-2024 The NeoBytes Core developers Copyright (c) 2021-2024 The Neobytes Core developers
Permission is hereby granted, free of charge, to any person obtaining a copy Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal of this software and associated documentation files (the "Software"), to deal

View File

@ -1,5 +1,5 @@
Building NeoBytes Building Neobytes
See doc/build-*.md for instructions on building neobytesd, See doc/build-*.md for instructions on building neobytesd,
the intended-for-services, no-graphical-interface, reference the intended-for-services, no-graphical-interface, reference
implementation of NeoBytes. implementation of Neobytes.

View File

@ -6,21 +6,21 @@ GZIP_ENV="-9n"
if BUILD_BITCOIN_LIBS if BUILD_BITCOIN_LIBS
pkgconfigdir = $(libdir)/pkgconfig pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = libneobytesconsensus.pc pkgconfig_DATA = libbitcoinconsensus.pc
endif endif
BITCOIND_BIN=$(top_builddir)/src/neobytesd$(EXEEXT) NEOBYTESD_BIN=$(top_builddir)/src/neobytesd$(EXEEXT)
BITCOIN_QT_BIN=$(top_builddir)/src/qt/neobytes-qt$(EXEEXT) BITCOIN_QT_BIN=$(top_builddir)/src/qt/neobytes-qt$(EXEEXT)
BITCOIN_CLI_BIN=$(top_builddir)/src/neobytes-cli$(EXEEXT) BITCOIN_CLI_BIN=$(top_builddir)/src/neobytes-cli$(EXEEXT)
BITCOIN_WIN_INSTALLER=$(PACKAGE)-$(PACKAGE_VERSION)-win$(WINDOWS_BITS)-setup$(EXEEXT) BITCOIN_WIN_INSTALLER=$(PACKAGE)-$(PACKAGE_VERSION)-win$(WINDOWS_BITS)-setup$(EXEEXT)
OSX_APP=NeoBytes-Qt.app OSX_APP=Neobytes-Qt.app
OSX_DMG=NeoBytes-Core.dmg OSX_DMG=Neobytes-Core.dmg
OSX_BACKGROUND_IMAGE=background.tiff OSX_BACKGROUND_IMAGE=background.tiff
OSX_DEPLOY_SCRIPT=$(top_srcdir)/contrib/macdeploy/macdeployqtplus OSX_DEPLOY_SCRIPT=$(top_srcdir)/contrib/macdeploy/macdeployqtplus
OSX_FANCY_PLIST=$(top_srcdir)/contrib/macdeploy/fancy.plist OSX_FANCY_PLIST=$(top_srcdir)/contrib/macdeploy/fancy.plist
OSX_BASE_LPROJ_DIR=$(top_srcdir)/contrib/macdeploy/Base.lproj/InfoPlist.strings OSX_BASE_LPROJ_DIR=$(top_srcdir)/contrib/macdeploy/Base.lproj/InfoPlist.strings
OSX_INSTALLER_ICONS=$(top_srcdir)/src/qt/res/icons/bitcoin.icns OSX_INSTALLER_ICONS=$(top_srcdir)/src/qt/res/icons/neobytes.icns
OSX_PLIST=$(top_srcdir)/share/qt/Info.plist #not installed OSX_PLIST=$(top_srcdir)/share/qt/Info.plist #not installed
OSX_QT_TRANSLATIONS = da,de,es,hu,ru,uk,zh_CN,zh_TW OSX_QT_TRANSLATIONS = da,de,es,hu,ru,uk,zh_CN,zh_TW
@ -29,7 +29,7 @@ DIST_DOCS = $(wildcard doc/*.md) $(wildcard doc/release-notes/*.md)
BIN_CHECKS=$(top_srcdir)/contrib/devtools/symbol-check.py \ BIN_CHECKS=$(top_srcdir)/contrib/devtools/symbol-check.py \
$(top_srcdir)/contrib/devtools/security-check.py $(top_srcdir)/contrib/devtools/security-check.py
WINDOWS_PACKAGING = $(top_srcdir)/share/pixmaps/bitcoin.ico \ WINDOWS_PACKAGING = $(top_srcdir)/share/pixmaps/neobytes.ico \
$(top_srcdir)/share/pixmaps/nsis-header.bmp \ $(top_srcdir)/share/pixmaps/nsis-header.bmp \
$(top_srcdir)/share/pixmaps/nsis-wizard.bmp \ $(top_srcdir)/share/pixmaps/nsis-wizard.bmp \
$(top_srcdir)/doc/README_windows.txt $(top_srcdir)/doc/README_windows.txt
@ -60,7 +60,7 @@ distcleancheck:
$(BITCOIN_WIN_INSTALLER): all-recursive $(BITCOIN_WIN_INSTALLER): all-recursive
$(MKDIR_P) $(top_builddir)/release $(MKDIR_P) $(top_builddir)/release
STRIPPROG="$(STRIP)" $(INSTALL_STRIP_PROGRAM) $(BITCOIND_BIN) $(top_builddir)/release STRIPPROG="$(STRIP)" $(INSTALL_STRIP_PROGRAM) $(NEOBYTESD_BIN) $(top_builddir)/release
STRIPPROG="$(STRIP)" $(INSTALL_STRIP_PROGRAM) $(BITCOIN_QT_BIN) $(top_builddir)/release STRIPPROG="$(STRIP)" $(INSTALL_STRIP_PROGRAM) $(BITCOIN_QT_BIN) $(top_builddir)/release
STRIPPROG="$(STRIP)" $(INSTALL_STRIP_PROGRAM) $(BITCOIN_CLI_BIN) $(top_builddir)/release STRIPPROG="$(STRIP)" $(INSTALL_STRIP_PROGRAM) $(BITCOIN_CLI_BIN) $(top_builddir)/release
@test -f $(MAKENSIS) && $(MAKENSIS) -V2 $(top_builddir)/share/setup.nsi || \ @test -f $(MAKENSIS) && $(MAKENSIS) -V2 $(top_builddir)/share/setup.nsi || \
@ -82,11 +82,11 @@ $(OSX_APP)/Contents/Info.plist: $(OSX_PLIST)
$(MKDIR_P) $(@D) $(MKDIR_P) $(@D)
$(INSTALL_DATA) $< $@ $(INSTALL_DATA) $< $@
$(OSX_APP)/Contents/Resources/bitcoin.icns: $(OSX_INSTALLER_ICONS) $(OSX_APP)/Contents/Resources/neobytes.icns: $(OSX_INSTALLER_ICONS)
$(MKDIR_P) $(@D) $(MKDIR_P) $(@D)
$(INSTALL_DATA) $< $@ $(INSTALL_DATA) $< $@
$(OSX_APP)/Contents/MacOS/NeoBytes-Qt: $(BITCOIN_QT_BIN) $(OSX_APP)/Contents/MacOS/Neobytes-Qt: $(BITCOIN_QT_BIN)
$(MKDIR_P) $(@D) $(MKDIR_P) $(@D)
STRIPPROG="$(STRIP)" $(INSTALL_STRIP_PROGRAM) $< $@ STRIPPROG="$(STRIP)" $(INSTALL_STRIP_PROGRAM) $< $@
@ -95,8 +95,8 @@ $(OSX_APP)/Contents/Resources/Base.lproj/InfoPlist.strings: $(OSX_BASE_LPROJ_DIR
$(INSTALL_DATA) $< $@ $(INSTALL_DATA) $< $@
OSX_APP_BUILT=$(OSX_APP)/Contents/PkgInfo $(OSX_APP)/Contents/Resources/empty.lproj \ OSX_APP_BUILT=$(OSX_APP)/Contents/PkgInfo $(OSX_APP)/Contents/Resources/empty.lproj \
$(OSX_APP)/Contents/Resources/bitcoin.icns $(OSX_APP)/Contents/Info.plist \ $(OSX_APP)/Contents/Resources/neobytes.icns $(OSX_APP)/Contents/Info.plist \
$(OSX_APP)/Contents/MacOS/NeoBytes-Qt $(OSX_APP)/Contents/Resources/Base.lproj/InfoPlist.strings $(OSX_APP)/Contents/MacOS/Neobytes-Qt $(OSX_APP)/Contents/Resources/Base.lproj/InfoPlist.strings
if BUILD_DARWIN if BUILD_DARWIN
$(OSX_DMG): $(OSX_APP_BUILT) $(OSX_PACKAGING) $(OSX_DMG): $(OSX_APP_BUILT) $(OSX_PACKAGING)
@ -111,10 +111,10 @@ $(APP_DIST_DIR)/Applications:
@rm -f $@ @rm -f $@
@cd $(@D); $(LN_S) /Applications $(@F) @cd $(@D); $(LN_S) /Applications $(@F)
$(APP_DIST_EXTRAS): $(APP_DIST_DIR)/$(OSX_APP)/Contents/MacOS/NeoBytes-Qt $(APP_DIST_EXTRAS): $(APP_DIST_DIR)/$(OSX_APP)/Contents/MacOS/Neobytes-Qt
$(OSX_DMG): $(APP_DIST_EXTRAS) $(OSX_DMG): $(APP_DIST_EXTRAS)
$(GENISOIMAGE) -no-cache-inodes -D -l -probe -V "NeoBytes-Core" -no-pad -r -dir-mode 0755 -apple -o $@ dist $(GENISOIMAGE) -no-cache-inodes -D -l -probe -V "Neobytes-Core" -no-pad -r -dir-mode 0755 -apple -o $@ dist
$(APP_DIST_DIR)/.background/$(OSX_BACKGROUND_IMAGE): contrib/macdeploy/$(OSX_BACKGROUND_IMAGE) $(APP_DIST_DIR)/.background/$(OSX_BACKGROUND_IMAGE): contrib/macdeploy/$(OSX_BACKGROUND_IMAGE)
$(MKDIR_P) $(@D) $(MKDIR_P) $(@D)
@ -122,7 +122,7 @@ $(APP_DIST_DIR)/.background/$(OSX_BACKGROUND_IMAGE): contrib/macdeploy/$(OSX_BAC
$(APP_DIST_DIR)/.DS_Store: contrib/macdeploy/DS_Store $(APP_DIST_DIR)/.DS_Store: contrib/macdeploy/DS_Store
$(INSTALL) $< $@ $(INSTALL) $< $@
$(APP_DIST_DIR)/$(OSX_APP)/Contents/MacOS/NeoBytes-Qt: $(OSX_APP_BUILT) $(OSX_PACKAGING) $(APP_DIST_DIR)/$(OSX_APP)/Contents/MacOS/Neobytes-Qt: $(OSX_APP_BUILT) $(OSX_PACKAGING)
INSTALLNAMETOOL=$(INSTALLNAMETOOL) OTOOL=$(OTOOL) STRIP=$(STRIP) $(OSX_DEPLOY_SCRIPT) $(OSX_APP) -translations-dir=$(QT_TRANSLATION_DIR) -add-qt-tr $(OSX_QT_TRANSLATIONS) -verbose 2 INSTALLNAMETOOL=$(INSTALLNAMETOOL) OTOOL=$(OTOOL) STRIP=$(STRIP) $(OSX_DEPLOY_SCRIPT) $(OSX_APP) -translations-dir=$(QT_TRANSLATION_DIR) -add-qt-tr $(OSX_QT_TRANSLATIONS) -verbose 2
deploydir: $(APP_DIST_EXTRAS) deploydir: $(APP_DIST_EXTRAS)
@ -139,7 +139,7 @@ endif
$(BITCOIN_QT_BIN): FORCE $(BITCOIN_QT_BIN): FORCE
$(MAKE) -C src qt/$(@F) $(MAKE) -C src qt/$(@F)
$(BITCOIND_BIN): FORCE $(NEOBYTESD_BIN): FORCE
$(MAKE) -C src $(@F) $(MAKE) -C src $(@F)
$(BITCOIN_CLI_BIN): FORCE $(BITCOIN_CLI_BIN): FORCE
@ -208,7 +208,7 @@ cov: test_neobytes.coverage/.dirstamp total.coverage/.dirstamp
endif endif
# NeoBytes: disable the test until upstream switches from convoluted comparison tool # Neobytes: disable the test until upstream switches from convoluted comparison tool
# Ref https://github.com/bitcoin/bitcoin/issues/4545 # Ref https://github.com/bitcoin/bitcoin/issues/4545
if USE_COMPARISON_TOOL if USE_COMPARISON_TOOL
check-local: check-local:

View File

@ -1,20 +1,28 @@
NeoBytes core staging tree Neobytes Core integration/staging tree
=========================== ======================================
https://www.neobytes.network https://www.neobytes.network
Further information about NeoBytes Core is available in [doc folder](/doc). Further information about Neobytes Core is available in [doc folder](/doc).
What is NeoBytes? What is Neobytes?
------------------ -----------------
NeoBytes is an experimental new digital currency that enables anonymous, instant payments to anyone, anywhere in the world. NeoBytes uses peer-to-peer technology to operate with no central authority: managing transactions and issuing money are carried out collectively by the network. NeoBytes Core is the name of the open source software which enables the use of this currency. Neobytes is an experimental new digital currency that enables instant payments to
anyone, anywhere in the world. Neobytes uses peer-to-peer technology to
operate with no central authority: managing transactions and issuing money
are carried out collectively by the network. Neobytes Core is the name of the open
source software which enables the use of this currency.
NeoBytes uses a hash algorithm NeoScrypt. Based on a total Proof of Work and Masternode system, it is accesible to everyone, it ensures a fair and stable return of investment for the Graphics Processing Units (GPUs) miners and the Masternode holders. Neobytes uses a hash algorithm NeoScrypt. Based on a total Proof of Work and
Masternode system, it is accesible to everyone, it ensures a fair and stable
return of investment for the Graphics Processing Units (GPUs) miners and the
Masternode holders.
For more information, as well as an immediately useable, binary version of the NeoBytes Core software, see <https://www.neobytes.network> For more information, as well as an immediately useable, binary version of
the Neobytes Core software, see [https://www.neobytes.network](https://www.neobytes.network).
## NeoBytes FAQ ## Neobytes FAQ
**Launch Date**: June 1, 2021 **Launch Date**: June 1, 2021
@ -22,7 +30,7 @@ For more information, as well as an immediately useable, binary version of the N
**Ticker Symbol**: NBY **Ticker Symbol**: NBY
**Genesis Block Hash**: "NeoBytes Genesis born on June 1, 2021" **Genesis Block Hash**: "Neobytes Genesis born on June 1, 2021"
**Mining Algorithm**: NeoScrypt **Mining Algorithm**: NeoScrypt
@ -30,14 +38,15 @@ For more information, as well as an immediately useable, binary version of the N
License License
------- -------
NeoBytes Core is released under the terms of the MIT license. See [COPYING](COPYING) for more information or see <https://opensource.org/licenses/MIT>. Neobytes Core is released under the terms of the MIT license.
See [COPYING](COPYING) for more information or see https://opensource.org/licenses/MIT.
Development Process Development Process
------------------- -------------------
The `develop` branch is regularly built and tested, but is not guaranteed to be completely stable. Additionally, the develop branch represents ongoing development from which candidate releases will be cut. The `master` branch is meant to be stable. Development is normally done in separate branches.
The `master` branch represents the current stable version currently in production. [Tags](https://github.com/neobytes-project/neobytes/tags) are created to indicate new official,
[Tags](https://github.com/neobytes-project/NeoBytes/tags) are created regularly to indicate new official, stable release versions of NeoBytes Core. stable release versions of Neobytes Core.
The contribution workflow is described in [CONTRIBUTING.md](CONTRIBUTING.md). The contribution workflow is described in [CONTRIBUTING.md](CONTRIBUTING.md).
@ -53,10 +62,10 @@ lots of money.
Developers are required to write [unit tests](src/test/README.md) for new code, and to submit new unit tests for any old code that is changed. Unit tests can be compiled and run (assuming they weren't disabled in configure) with: `make check`. Further details on running and extending unit tests can be found in [/src/test/README.md](/src/test/README.md). Developers are required to write [unit tests](src/test/README.md) for new code, and to submit new unit tests for any old code that is changed. Unit tests can be compiled and run (assuming they weren't disabled in configure) with: `make check`. Further details on running and extending unit tests can be found in [/src/test/README.md](/src/test/README.md).
There are also [regression and integration tests](/test), written in Python, that are run automatically on the build server. These tests can be run (if the [test dependencies](/test) are installed) with: `test/functional/test_runner.py` There are also [regression and integration tests](/test), written in Python, that are run automatically on the build server.
These tests can be run (if the [test dependencies](/test) are installed) with: `test/functional/test_runner.py`
The Travis CI system makes sure that every pull request is built for Windows, Linux, and macOS, and that unit/sanity tests are run automatically.
### Manual Quality Assurance (QA) Testing ### Manual Quality Assurance (QA) Testing
Changes should be tested by somebody other than the developer who wrote the code. This is especially important for large or high-risk changes. It is useful to add a test plan to the pull request description if testing the changes is not straightforward. Changes should be tested by somebody other than the developer who wrote the code.
This is especially important for large or high-risk changes. It is useful to add a test plan to the pull request description if testing the changes is not straightforward.

View File

@ -38,7 +38,7 @@ AC_DEFUN([BITCOIN_FIND_BDB48],[
done done
if test "x$bdbpath" = "xX"; then if test "x$bdbpath" = "xX"; then
AC_MSG_RESULT([no]) AC_MSG_RESULT([no])
AC_MSG_ERROR([libdb_cxx headers missing, NeoBytes Core requires this library for wallet functionality (--disable-wallet to disable wallet functionality)]) AC_MSG_ERROR([libdb_cxx headers missing, Neobytes Core requires this library for wallet functionality (--disable-wallet to disable wallet functionality)])
elif test "x$bdb48path" = "xX"; then elif test "x$bdb48path" = "xX"; then
BITCOIN_SUBDIR_TO_INCLUDE(BDB_CPPFLAGS,[${bdbpath}],db_cxx) BITCOIN_SUBDIR_TO_INCLUDE(BDB_CPPFLAGS,[${bdbpath}],db_cxx)
AC_ARG_WITH([incompatible-bdb],[AS_HELP_STRING([--with-incompatible-bdb], [allow using a bdb version other than 4.8])],[ AC_ARG_WITH([incompatible-bdb],[AS_HELP_STRING([--with-incompatible-bdb], [allow using a bdb version other than 4.8])],[
@ -60,7 +60,7 @@ AC_DEFUN([BITCOIN_FIND_BDB48],[
]) ])
done done
if test "x$BDB_LIBS" = "x"; then if test "x$BDB_LIBS" = "x"; then
AC_MSG_ERROR([libdb_cxx missing, NeoBytes Core requires this library for wallet functionality (--disable-wallet to disable wallet functionality)]) AC_MSG_ERROR([libdb_cxx missing, Neobytes Core requires this library for wallet functionality (--disable-wallet to disable wallet functionality)])
fi fi
AC_SUBST(BDB_LIBS) AC_SUBST(BDB_LIBS)
]) ])

View File

@ -220,7 +220,7 @@ AC_DEFUN([BITCOIN_QT_CONFIGURE],[
dnl enable qt support dnl enable qt support
AC_MSG_CHECKING(whether to build NeoBytes Core GUI) AC_MSG_CHECKING(whether to build Neobytes Core GUI)
BITCOIN_QT_CHECK([ BITCOIN_QT_CHECK([
bitcoin_enable_qt=yes bitcoin_enable_qt=yes
bitcoin_enable_qt_test=yes bitcoin_enable_qt_test=yes

View File

@ -3,12 +3,13 @@ AC_PREREQ([2.60])
define(_CLIENT_VERSION_MAJOR, 0) define(_CLIENT_VERSION_MAJOR, 0)
define(_CLIENT_VERSION_MINOR, 12) define(_CLIENT_VERSION_MINOR, 12)
define(_CLIENT_VERSION_REVISION, 1) define(_CLIENT_VERSION_REVISION, 1)
define(_CLIENT_VERSION_BUILD, 3) define(_CLIENT_VERSION_BUILD, 1)
define(_CLIENT_VERSION_IS_RELEASE, true) define(_CLIENT_VERSION_IS_RELEASE, true)
define(_COPYRIGHT_YEAR, 2021) define(_COPYRIGHT_YEAR, 2017)
AC_INIT([NeoBytes Core],[_CLIENT_VERSION_MAJOR._CLIENT_VERSION_MINOR._CLIENT_VERSION_REVISION],[https://github.com/neobytes-project/neobytes/issues],[neobytescore]) define(_COPYRIGHT_NEOBYTES_YEAR, 2024)
AC_INIT([Neobytes Core],[_CLIENT_VERSION_MAJOR._CLIENT_VERSION_MINOR._CLIENT_VERSION_REVISION],[https://github.com/neobytes-project/neobytes/issues],[neobytes],[https//neobytes.network])
AC_CONFIG_SRCDIR([src/main.cpp]) AC_CONFIG_SRCDIR([src/main.cpp])
AC_CONFIG_HEADERS([src/config/neobytes-config.h]) AC_CONFIG_HEADERS([src/config/-neobytesconfig.h])
AC_CONFIG_AUX_DIR([build-aux]) AC_CONFIG_AUX_DIR([build-aux])
AC_CONFIG_MACRO_DIR([build-aux/m4]) AC_CONFIG_MACRO_DIR([build-aux/m4])
@ -789,7 +790,7 @@ AC_MSG_CHECKING([whether to build libraries])
AM_CONDITIONAL([BUILD_BITCOIN_LIBS], [test x$build_bitcoin_libs = xyes]) AM_CONDITIONAL([BUILD_BITCOIN_LIBS], [test x$build_bitcoin_libs = xyes])
if test x$build_bitcoin_libs = xyes; then if test x$build_bitcoin_libs = xyes; then
AC_DEFINE(HAVE_CONSENSUS_LIB, 1, [Define this symbol if the consensus lib has been built]) AC_DEFINE(HAVE_CONSENSUS_LIB, 1, [Define this symbol if the consensus lib has been built])
AC_CONFIG_FILES([libneobytesconsensus.pc:libneobytesconsensus.pc.in]) AC_CONFIG_FILES([libbitcoinconsensus.pc:libbitcoinconsensus.pc.in])
fi fi
AC_MSG_RESULT($build_bitcoin_libs) AC_MSG_RESULT($build_bitcoin_libs)
@ -934,12 +935,14 @@ AC_DEFINE(CLIENT_VERSION_REVISION, _CLIENT_VERSION_REVISION, [Build revision])
AC_DEFINE(CLIENT_VERSION_BUILD, _CLIENT_VERSION_BUILD, [Version Build]) AC_DEFINE(CLIENT_VERSION_BUILD, _CLIENT_VERSION_BUILD, [Version Build])
AC_DEFINE(CLIENT_VERSION_IS_RELEASE, _CLIENT_VERSION_IS_RELEASE, [Version is release]) AC_DEFINE(CLIENT_VERSION_IS_RELEASE, _CLIENT_VERSION_IS_RELEASE, [Version is release])
AC_DEFINE(COPYRIGHT_YEAR, _COPYRIGHT_YEAR, [Version is release]) AC_DEFINE(COPYRIGHT_YEAR, _COPYRIGHT_YEAR, [Version is release])
AC_DEFINE(COPYRIGHT_NEOBYTES_YEAR, _COPYRIGHT_NEOBYTES_YEAR, [Version is release])
AC_SUBST(CLIENT_VERSION_MAJOR, _CLIENT_VERSION_MAJOR) AC_SUBST(CLIENT_VERSION_MAJOR, _CLIENT_VERSION_MAJOR)
AC_SUBST(CLIENT_VERSION_MINOR, _CLIENT_VERSION_MINOR) AC_SUBST(CLIENT_VERSION_MINOR, _CLIENT_VERSION_MINOR)
AC_SUBST(CLIENT_VERSION_REVISION, _CLIENT_VERSION_REVISION) AC_SUBST(CLIENT_VERSION_REVISION, _CLIENT_VERSION_REVISION)
AC_SUBST(CLIENT_VERSION_BUILD, _CLIENT_VERSION_BUILD) AC_SUBST(CLIENT_VERSION_BUILD, _CLIENT_VERSION_BUILD)
AC_SUBST(CLIENT_VERSION_IS_RELEASE, _CLIENT_VERSION_IS_RELEASE) AC_SUBST(CLIENT_VERSION_IS_RELEASE, _CLIENT_VERSION_IS_RELEASE)
AC_SUBST(COPYRIGHT_YEAR, _COPYRIGHT_YEAR) AC_SUBST(COPYRIGHT_YEAR, _COPYRIGHT_YEAR)
AC_SUBST(COPYRIGHT_NEOBYTES_YEAR, _COPYRIGHT_NEOBYTES_YEAR)
AC_SUBST(RELDFLAGS) AC_SUBST(RELDFLAGS)
AC_SUBST(HARDENED_CXXFLAGS) AC_SUBST(HARDENED_CXXFLAGS)

View File

@ -21,7 +21,7 @@ Construct a linear, no-fork, best version of the blockchain.
### [Qos](/contrib/qos) ### ### [Qos](/contrib/qos) ###
A Linux bash script that will set up traffic control (tc) to limit the outgoing bandwidth for connections to the NeoBytes network. This means one can have an always-on neobytesd instance running, and another local neobytesd/neobytes-qt instance which connects to this node and receives blocks from it. A Linux bash script that will set up traffic control (tc) to limit the outgoing bandwidth for connections to the Neobytes network. This means one can have an always-on neobytesd instance running, and another local neobytesd/neobytes-qt instance which connects to this node and receives blocks from it.
### [Seeds](/contrib/seeds) ### ### [Seeds](/contrib/seeds) ###
Utility to generate the pnSeed[] array that is compiled into the client. Utility to generate the pnSeed[] array that is compiled into the client.
@ -46,7 +46,7 @@ Test and Verify Tools
--------------------- ---------------------
### [TestGen](/contrib/testgen) ### ### [TestGen](/contrib/testgen) ###
Utilities to generate test vectors for the data-driven NeoBytes tests. Utilities to generate test vectors for the data-driven Neobytes tests.
### [Test Patches](/contrib/test-patches) ### ### [Test Patches](/contrib/test-patches) ###
These patches are applied when the automated pull-tester These patches are applied when the automated pull-tester

View File

@ -1,8 +1,8 @@
Source: neobytes Source: neobytes
Section: utils Section: utils
Priority: optional Priority: optional
Maintainer: NeoBytes <info@neobytes.org> Maintainer: SikkieNL <sikkienl@outlook.com>
Uploaders: NeoBytes <info@neobytes.org> Uploaders: SikkieNL <sikkienl@outlook.com>
Build-Depends: debhelper, Build-Depends: debhelper,
devscripts, devscripts,
automake, automake,
@ -32,10 +32,10 @@ Package: neobytesd
Architecture: any Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends} Depends: ${shlibs:Depends}, ${misc:Depends}
Description: peer-to-peer network based digital currency - daemon Description: peer-to-peer network based digital currency - daemon
NeoBytes is an experimental new digital currency that enables anonymous, instant Neobytes is an experimental new digital currency that enables anonymous, instant
payments to anyone, anywhere in the world. NeoBytes uses peer-to-peer payments to anyone, anywhere in the world. Neobytes uses peer-to-peer
technology to operate with no central authority: managing transactions technology to operate with no central authority: managing transactions
and issuing money are carried out collectively by the network. NeoBytes Core and issuing money are carried out collectively by the network. Neobytes Core
is the name of the open source software which enables the use of this currency. is the name of the open source software which enables the use of this currency.
. .
This package provides the daemon, neobytesd, and the CLI tool This package provides the daemon, neobytesd, and the CLI tool
@ -45,22 +45,22 @@ Package: neobytes-qt
Architecture: any Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends} Depends: ${shlibs:Depends}, ${misc:Depends}
Description: peer-to-peer network based digital currency - Qt GUI Description: peer-to-peer network based digital currency - Qt GUI
NeoBytes is an experimental new digital currency that enables anonymous, instant Neobytes is an experimental new digital currency that enables anonymous, instant
payments to anyone, anywhere in the world. NeoBytes uses peer-to-peer payments to anyone, anywhere in the world. Neobytes uses peer-to-peer
technology to operate with no central authority: managing transactions technology to operate with no central authority: managing transactions
and issuing money are carried out collectively by the network. NeoBytes Core and issuing money are carried out collectively by the network. Neobytes Core
is the name of the open source software which enables the use of this currency. is the name of the open source software which enables the use of this currency.
. .
This package provides NeoBytes-Qt, a GUI for NeoBytes based on Qt. This package provides Neobytes-Qt, a GUI for Neobytes based on Qt.
Package: neobytes-tx Package: neobytes-tx
Architecture: any Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends} Depends: ${shlibs:Depends}, ${misc:Depends}
Description: peer-to-peer digital currency - standalone transaction tool Description: peer-to-peer digital currency - standalone transaction tool
NeoBytes is an experimental new digital currency that enables anonymous, instant Neobytes is an experimental new digital currency that enables anonymous, instant
payments to anyone, anywhere in the world. NeoBytes uses peer-to-peer payments to anyone, anywhere in the world. Neobytes uses peer-to-peer
technology to operate with no central authority: managing transactions technology to operate with no central authority: managing transactions
and issuing money are carried out collectively by the network. NeoBytes Core and issuing money are carried out collectively by the network. Neobytes Core
is the name of the open source software which enables the use of this currency. is the name of the open source software which enables the use of this currency.
. .
This package provides neobytes-tx, a command-line transaction creation This package provides neobytes-tx, a command-line transaction creation

View File

@ -44,11 +44,11 @@
# Use as many addnode= settings as you like to connect to specific peers # Use as many addnode= settings as you like to connect to specific peers
#addnode=69.164.218.197 #addnode=69.164.218.197
#addnode=10.0.0.2:11427 #addnode=10.0.0.2:1428
# Alternatively use as many connect= settings as you like to connect ONLY to specific peers # Alternatively use as many connect= settings as you like to connect ONLY to specific peers
#connect=69.164.218.197 #connect=69.164.218.197
#connect=10.0.0.1:11427 #connect=10.0.0.1:1428
# Listening mode, enabled by default except when 'connect' is being used # Listening mode, enabled by default except when 'connect' is being used
#listen=1 #listen=1
@ -57,10 +57,10 @@
#maxconnections= #maxconnections=
# #
# JSON-RPC options (for controlling a running NeoBytes/neobytesd process) # JSON-RPC options (for controlling a running Neobytes/neobytesd process)
# #
# server=1 tells NeoBytes-Qt and neobytesd to accept JSON-RPC commands # server=1 tells Neobytes-Qt and neobytesd to accept JSON-RPC commands
#server=0 #server=0
# Bind to given address to listen for JSON-RPC connections. Use [host]:port notation for IPv6. # Bind to given address to listen for JSON-RPC connections. Use [host]:port notation for IPv6.
@ -71,7 +71,7 @@
#rpcuser=Ulysseys #rpcuser=Ulysseys
#rpcpassword=YourSuperGreatPasswordNumber_DO_NOT_USE_THIS_OR_YOU_WILL_GET_ROBBED_385593 #rpcpassword=YourSuperGreatPasswordNumber_DO_NOT_USE_THIS_OR_YOU_WILL_GET_ROBBED_385593
# How many seconds NeoBytes Core will wait for a complete RPC HTTP request. # How many seconds Neobytes Core will wait for a complete RPC HTTP request.
# after the HTTP connection is established. # after the HTTP connection is established.
#rpcclienttimeout=30 #rpcclienttimeout=30
@ -82,16 +82,16 @@
# NOTE: opening up the RPC port to hosts outside your local trusted network is NOT RECOMMENDED, # NOTE: opening up the RPC port to hosts outside your local trusted network is NOT RECOMMENDED,
# because the rpcpassword is transmitted over the network unencrypted. # because the rpcpassword is transmitted over the network unencrypted.
# server=1 tells NeoBytes-Qt to accept JSON-RPC commands. # server=1 tells Neobytes-Qt to accept JSON-RPC commands.
# it is also read by neobytesd to determine if RPC should be enabled # it is also read by neobytesd to determine if RPC should be enabled
#rpcallowip=10.1.1.34/255.255.255.0 #rpcallowip=10.1.1.34/255.255.255.0
#rpcallowip=1.2.3.4/24 #rpcallowip=1.2.3.4/24
#rpcallowip=2001:db8:85a3:0:0:8a2e:370:7334/96 #rpcallowip=2001:db8:85a3:0:0:8a2e:370:7334/96
# Listen for RPC connections on this TCP port: # Listen for RPC connections on this TCP port:
#rpcport=11426 #rpcport=1427
# You can use NeoBytes or neobytesd to send commands to NeoBytes/neobytesd # You can use Neobytes or neobytesd to send commands to Neobytes/neobytesd
# running on another host using this option: # running on another host using this option:
#rpcconnect=127.0.0.1 #rpcconnect=127.0.0.1
@ -117,7 +117,7 @@
# User interface options # User interface options
# Start NeoBytes minimized # Start Neobytes minimized
#min=1 #min=1
# Minimize to the system tray # Minimize to the system tray

View File

@ -1,12 +1,12 @@
.TH NEOBYTES-CLI "1" "June 2016" "neobytes-cli 0.12" .TH NEOBYTES-CLI "1" "June 2016" "neobytes-cli 0.12"
.SH NAME .SH NAME
neobytes-cli \- a remote procedure call client for NeoBytes Core. neobytes-cli \- a remote procedure call client for Neobytes Core.
.SH SYNOPSIS .SH SYNOPSIS
neobytes-cli [options] <command> [params] \- Send command to NeoBytes Core. neobytes-cli [options] <command> [params] \- Send command to Neobytes Core.
.TP .TP
neobytes-cli [options] help \- Asks NeoBytes Core for a list of supported commands. neobytes-cli [options] help \- Asks Neobytes Core for a list of supported commands.
.SH DESCRIPTION .SH DESCRIPTION
This manual page documents the neobytes-cli program. neobytes-cli is an RPC client used to send commands to NeoBytes Core. This manual page documents the neobytes-cli program. neobytes-cli is an RPC client used to send commands to Neobytes Core.
.SH OPTIONS .SH OPTIONS
.TP .TP

View File

@ -1,14 +1,14 @@
.TH NEOBYTES.CONF "5" "June 2016" "neobytes.conf 0.12" .TH NEOBYTES.CONF "5" "June 2016" "neobytes.conf 0.12"
.SH NAME .SH NAME
neobytes.conf \- NeoBytes Core configuration file neobytes.conf \- Neobytes Core configuration file
.SH SYNOPSIS .SH SYNOPSIS
All command-line options (except for '\-conf') may be specified in a configuration file, and all configuration file options may also be specified on the command line. Command-line options override values set in the configuration file. All command-line options (except for '\-conf') may be specified in a configuration file, and all configuration file options may also be specified on the command line. Command-line options override values set in the configuration file.
.TP .TP
The configuration file is a list of 'setting=value' pairs, one per line, with optional comments starting with the '#' character. Please refer to neobytesd(1) for a up to date list of valid options. The configuration file is a list of 'setting=value' pairs, one per line, with optional comments starting with the '#' character. Please refer to neobytesd(1) for a up to date list of valid options.
.TP .TP
The configuration file is not automatically created; you can create it using your favorite plain-text editor. By default, neobytesd(1) will look for a file named neobytes.conf(5) in the NeoBytes Core data directory, but both the data directory and the configuration file path may be changed using the '\-datadir' and '\-conf' command-line arguments. The configuration file is not automatically created; you can create it using your favorite plain-text editor. By default, neobytesd(1) will look for a file named neobytes.conf(5) in the Neobytes Core data directory, but both the data directory and the configuration file path may be changed using the '\-datadir' and '\-conf' command-line arguments.
.SH LOCATION .SH LOCATION
neobytes.conf should be located in $HOME/.neobytescore neobytes.conf should be located in $HOME/.neobytes
.SH "SEE ALSO" .SH "SEE ALSO"
neobytesd(1) neobytesd(1)

View File

@ -6,7 +6,7 @@ neobytesd [options] <command> [params]
.TP .TP
neobytesd [options] help <command> \- Get help for a command neobytesd [options] help <command> \- Get help for a command
.SH DESCRIPTION .SH DESCRIPTION
This manual page documents the neobytesd program. NeoBytes is an experimental new digital currency that enables anonymous, instant payments to anyone, anywhere in the world. NeoBytes uses peer-to-peer technology to operate with no central authority: managing transactions and issuing money are carried out collectively by the network. NeoBytes Core is the name of the open source software which enables the use of this currency. This manual page documents the neobytesd program. Neobytes is an experimental new digital currency that enables anonymous, instant payments to anyone, anywhere in the world. Neobytes uses peer-to-peer technology to operate with no central authority: managing transactions and issuing money are carried out collectively by the network. Neobytes Core is the name of the open source software which enables the use of this currency.
.SH OPTIONS .SH OPTIONS
.TP .TP

View File

@ -1,9 +1,9 @@
[Desktop Entry] [Desktop Entry]
Encoding=UTF-8 Encoding=UTF-8
Name=NeoBytes Name=Neobytes
Comment=NeoBytes P2P Cryptocurrency Comment=Neobytes P2P Cryptocurrency
Comment[fr]=NeoBytes, monnaie virtuelle cryptographique pair à pair Comment[fr]=Neobytes, monnaie virtuelle cryptographique pair à pair
Comment[tr]=NeoBytes, eşten eşe kriptografik sanal para birimi Comment[tr]=Neobytes, eşten eşe kriptografik sanal para birimi
Exec=neobytes-qt %u Exec=neobytes-qt %u
Terminal=false Terminal=false
Type=Application Type=Application

View File

@ -79,13 +79,13 @@ script: |
./autogen.sh ./autogen.sh
CONFIG_SITE=${BASEPREFIX}/`echo "${HOSTS}" | awk '{print $1;}'`/share/config.site ./configure --prefix=/ CONFIG_SITE=${BASEPREFIX}/`echo "${HOSTS}" | awk '{print $1;}'`/share/config.site ./configure --prefix=/
make dist make dist
SOURCEDIST=`echo neobytescore-*.tar.gz` SOURCEDIST=`echo neobytes-*.tar.gz`
DISTNAME=`echo ${SOURCEDIST} | sed 's/.tar.*//'` DISTNAME=`echo ${SOURCEDIST} | sed 's/.tar.*//'`
# Correct tar file order # Correct tar file order
mkdir -p temp mkdir -p temp
pushd temp pushd temp
tar xf ../$SOURCEDIST tar xf ../$SOURCEDIST
find neobytescore-* | sort | tar --no-recursion --mode='u+rw,go+r-w,a+X' --owner=0 --group=0 -c -T - | gzip -9n > ../$SOURCEDIST find neobytes-* | sort | tar --no-recursion --mode='u+rw,go+r-w,a+X' --owner=0 --group=0 -c -T - | gzip -9n > ../$SOURCEDIST
popd popd
ORIGPATH="$PATH" ORIGPATH="$PATH"

View File

@ -33,5 +33,5 @@ script: |
tar -xf ${UNSIGNED} tar -xf ${UNSIGNED}
./detached-sig-apply.sh ${UNSIGNED} signature/osx ./detached-sig-apply.sh ${UNSIGNED} signature/osx
${WRAP_DIR}/genisoimage -no-cache-inodes -D -l -probe -V "NeoBytes-Core" -no-pad -r -dir-mode 0755 -apple -o uncompressed.dmg signed-app ${WRAP_DIR}/genisoimage -no-cache-inodes -D -l -probe -V "Neobytes-Core" -no-pad -r -dir-mode 0755 -apple -o uncompressed.dmg signed-app
${WRAP_DIR}/dmg dmg uncompressed.dmg ${OUTDIR}/${SIGNED} ${WRAP_DIR}/dmg dmg uncompressed.dmg ${OUTDIR}/${SIGNED}

View File

@ -86,14 +86,14 @@ script: |
./autogen.sh ./autogen.sh
CONFIG_SITE=${BASEPREFIX}/`echo "${HOSTS}" | awk '{print $1;}'`/share/config.site ./configure --prefix=/ CONFIG_SITE=${BASEPREFIX}/`echo "${HOSTS}" | awk '{print $1;}'`/share/config.site ./configure --prefix=/
make dist make dist
SOURCEDIST=`echo neobytescore-*.tar.gz` SOURCEDIST=`echo neobytes-*.tar.gz`
DISTNAME=`echo ${SOURCEDIST} | sed 's/.tar.*//'` DISTNAME=`echo ${SOURCEDIST} | sed 's/.tar.*//'`
# Correct tar file order # Correct tar file order
mkdir -p temp mkdir -p temp
pushd temp pushd temp
tar xf ../$SOURCEDIST tar xf ../$SOURCEDIST
find neobytescore-* | sort | tar --no-recursion --mode='u+rw,go+r-w,a+X' --owner=0 --group=0 -c -T - | gzip -9n > ../$SOURCEDIST find neobytes-* | sort | tar --no-recursion --mode='u+rw,go+r-w,a+X' --owner=0 --group=0 -c -T - | gzip -9n > ../$SOURCEDIST
popd popd
ORIGPATH="$PATH" ORIGPATH="$PATH"
@ -123,7 +123,7 @@ script: |
popd popd
make deploy make deploy
${WRAP_DIR}/dmg dmg NeoBytes-Core.dmg ${OUTDIR}/${DISTNAME}-osx-unsigned.dmg ${WRAP_DIR}/dmg dmg Neobytes-Core.dmg ${OUTDIR}/${DISTNAME}-osx-unsigned.dmg
cd installed cd installed
find . -name "lib*.la" -delete find . -name "lib*.la" -delete

View File

@ -78,13 +78,13 @@ script: |
./autogen.sh ./autogen.sh
./configure --prefix=${BASEPREFIX}/`echo "${HOSTS}" | awk '{print $1;}'` ./configure --prefix=${BASEPREFIX}/`echo "${HOSTS}" | awk '{print $1;}'`
make NO_QT=1 dist make NO_QT=1 dist
SOURCEDIST=`echo neobytescore-*.tar.gz` SOURCEDIST=`echo neobytes-*.tar.gz`
DISTNAME=`echo ${SOURCEDIST} | sed 's/.tar.*//'` DISTNAME=`echo ${SOURCEDIST} | sed 's/.tar.*//'`
# Correct tar file order # Correct tar file order
mkdir -p temp mkdir -p temp
pushd temp pushd temp
tar xf ../$SOURCEDIST tar xf ../$SOURCEDIST
find neobytescore-* | sort | tar --no-recursion --mode='u+rw,go+r-w,a+X' --owner=0 --group=0 -c -T - | gzip -9n > ../$SOURCEDIST find neobytes-* | sort | tar --no-recursion --mode='u+rw,go+r-w,a+X' --owner=0 --group=0 -c -T - | gzip -9n > ../$SOURCEDIST
popd popd
ORIGPATH="$PATH" ORIGPATH="$PATH"

View File

@ -105,14 +105,14 @@ script: |
./autogen.sh ./autogen.sh
CONFIG_SITE=${BASEPREFIX}/`echo "${HOSTS}" | awk '{print $1;}'`/share/config.site ./configure --prefix=/ CONFIG_SITE=${BASEPREFIX}/`echo "${HOSTS}" | awk '{print $1;}'`/share/config.site ./configure --prefix=/
make dist make dist
SOURCEDIST=`echo neobytescore-*.tar.gz` SOURCEDIST=`echo neobytes-*.tar.gz`
DISTNAME=`echo ${SOURCEDIST} | sed 's/.tar.*//'` DISTNAME=`echo ${SOURCEDIST} | sed 's/.tar.*//'`
# Correct tar file order # Correct tar file order
mkdir -p temp mkdir -p temp
pushd temp pushd temp
tar xf ../$SOURCEDIST tar xf ../$SOURCEDIST
find neobytescore-* | sort | tar --no-recursion --mode='u+rw,go+r-w,a+X' --owner=0 --group=0 -c -T - | gzip -9n > ../$SOURCEDIST find neobytes-* | sort | tar --no-recursion --mode='u+rw,go+r-w,a+X' --owner=0 --group=0 -c -T - | gzip -9n > ../$SOURCEDIST
mkdir -p $OUTDIR/src mkdir -p $OUTDIR/src
cp ../$SOURCEDIST $OUTDIR/src cp ../$SOURCEDIST $OUTDIR/src
popd popd
@ -132,7 +132,7 @@ script: |
make ${MAKEOPTS} -C src check-security make ${MAKEOPTS} -C src check-security
make deploy make deploy
make install DESTDIR=${INSTALLPATH} make install DESTDIR=${INSTALLPATH}
cp -f neobytescore-*setup*.exe $OUTDIR/ cp -f neobytes-*setup*.exe $OUTDIR/
cd installed cd installed
mv ${DISTNAME}/bin/*.dll ${DISTNAME}/lib/ mv ${DISTNAME}/bin/*.dll ${DISTNAME}/lib/
find . -name "lib*.la" -delete find . -name "lib*.la" -delete

View File

@ -1,16 +1,16 @@
description "NeoBytes Core Daemon" description "Neobytes Core Daemon"
start on runlevel [2345] start on runlevel [2345]
stop on starting rc RUNLEVEL=[016] stop on starting rc RUNLEVEL=[016]
env BITCOIND_BIN="/usr/bin/neobytesd" env NEOBYTESD_BIN="/usr/bin/neobytesd"
env BITCOIND_USER="neobytescore" env NEOBYTESD_USER="neobytes"
env BITCOIND_GROUP="neobytescore" env NEOBYTESD_GROUP="neobytes"
env BITCOIND_PIDDIR="/var/run/neobytesd" env NEOBYTESD_PIDDIR="/var/run/neobytesd"
# upstart can't handle variables constructed with other variables # upstart can't handle variables constructed with other variables
env BITCOIND_PIDFILE="/var/run/neobytesd/neobytesd.pid" env NEOBYTESD_PIDFILE="/var/run/neobytesd/neobytesd.pid"
env BITCOIND_CONFIGFILE="/etc/neobytescore/neobytes.conf" env NEOBYTESD_CONFIGFILE="/etc/neobytes/neobytes.conf"
env BITCOIND_DATADIR="/var/lib/neobytesd" env NEOBYTESD_DATADIR="/var/lib/neobytesd"
expect fork expect fork
@ -24,9 +24,9 @@ pre-start script
# long after forking, leaving upstart to think everything started fine. # long after forking, leaving upstart to think everything started fine.
# since this is a commonly encountered case on install, just check and # since this is a commonly encountered case on install, just check and
# warn here. # warn here.
if ! grep -qs '^rpcpassword=' "$BITCOIND_CONFIGFILE" ; then if ! grep -qs '^rpcpassword=' "$NEOBYTESD_CONFIGFILE" ; then
echo "ERROR: You must set a secure rpcpassword to run neobytesd." echo "ERROR: You must set a secure rpcpassword to run neobytesd."
echo "The setting must appear in $BITCOIND_CONFIGFILE" echo "The setting must appear in $NEOBYTESD_CONFIGFILE"
echo echo
echo "This password is security critical to securing wallets " echo "This password is security critical to securing wallets "
echo "and must not be the same as the rpcuser setting." echo "and must not be the same as the rpcuser setting."
@ -38,28 +38,28 @@ pre-start script
echo "It is also recommended that you also set alertnotify so you are " echo "It is also recommended that you also set alertnotify so you are "
echo "notified of problems:" echo "notified of problems:"
echo echo
echo "ie: alertnotify=echo %%s | mail -s \"NeoBytes Core Alert\"" \ echo "ie: alertnotify=echo %%s | mail -s \"Neobytes Core Alert\"" \
"admin@foo.com" "admin@foo.com"
echo echo
exit 1 exit 1
fi fi
mkdir -p "$BITCOIND_PIDDIR" mkdir -p "$NEOBYTESD_PIDDIR"
chmod 0755 "$BITCOIND_PIDDIR" chmod 0755 "$NEOBYTESD_PIDDIR"
chown $BITCOIND_USER:$BITCOIND_GROUP "$BITCOIND_PIDDIR" chown $NEOBYTESD_USER:$NEOBYTESD_GROUP "$NEOBYTESD_PIDDIR"
chown $BITCOIND_USER:$BITCOIND_GROUP "$BITCOIND_CONFIGFILE" chown $NEOBYTESD_USER:$NEOBYTESD_GROUP "$NEOBYTESD_CONFIGFILE"
chmod 0660 "$BITCOIND_CONFIGFILE" chmod 0660 "$NEOBYTESD_CONFIGFILE"
end script end script
exec start-stop-daemon \ exec start-stop-daemon \
--start \ --start \
--pidfile "$BITCOIND_PIDFILE" \ --pidfile "$NEOBYTESD_PIDFILE" \
--chuid $BITCOIND_USER:$BITCOIND_GROUP \ --chuid $NEOBYTESD_USER:$NEOBYTESD_GROUP \
--exec "$BITCOIND_BIN" \ --exec "$NEOBYTESD_BIN" \
-- \ -- \
-pid="$BITCOIND_PIDFILE" \ -pid="$NEOBYTESD_PIDFILE" \
-conf="$BITCOIND_CONFIGFILE" \ -conf="$NEOBYTESD_CONFIGFILE" \
-datadir="$BITCOIND_DATADIR" \ -datadir="$NEOBYTESD_DATADIR" \
-disablewallet \ -disablewallet \
-daemon -daemon

View File

@ -1,6 +1,6 @@
#!/bin/bash #!/bin/bash
# #
# neobytesd The NeoBytes Core server. # neobytesd The Neobytes Core server.
# #
# #
# chkconfig: 345 80 20 # chkconfig: 345 80 20
@ -19,14 +19,14 @@ fi
RETVAL=0 RETVAL=0
prog=neobytesd prog=neobytesd
# you can override the lockfile via BITCOIND_LOCKFILE in /etc/sysconfig/neobytesd # you can override the lockfile via NEOBYTESD_LOCKFILE in /etc/sysconfig/neobytesd
lockfile=${BITCOIND_LOCKFILE-/var/lock/subsys/neobytesd} lockfile=${NEOBYTESD_LOCKFILE-/var/lock/subsys/neobytesd}
# neobytesd defaults to /usr/bin/neobytesd, override with BITCOIND_BIN # neobytesd defaults to /usr/bin/neobytesd, override with NEOBYTESD_BIN
neobytesd=${BITCOIND_BIN-/usr/bin/neobytesd} neobytesd=${NEOBYTESD_BIN-/usr/bin/neobytesd}
# neobytesd opts default to -disablewallet, override with BITCOIND_OPTS # neobytesd opts default to -disablewallet, override with NEOBYTESD_OPTS
neobytesd_opts=${BITCOIND_OPTS--disablewallet} neobytesd_opts=${NEOBYTESD_OPTS--disablewallet}
start() { start() {
echo -n $"Starting $prog: " echo -n $"Starting $prog: "

View File

@ -2,41 +2,41 @@
# backward compatibility for existing gentoo layout # backward compatibility for existing gentoo layout
# #
if [ -d "/var/lib/neobytescore/.neobytescore" ]; then if [ -d "/var/lib/neobytes/.neobytes" ]; then
BITCOIND_DEFAULT_DATADIR="/var/lib/neobytescore/.neobytescore" NEOBYTESD_DEFAULT_DATADIR="/var/lib/neobytes/.neobytes"
else else
BITCOIND_DEFAULT_DATADIR="/var/lib/neobytesd" NEOBYTESD_DEFAULT_DATADIR="/var/lib/neobytesd"
fi fi
BITCOIND_CONFIGFILE=${BITCOIND_CONFIGFILE:-/etc/neobytescore/neobytes.conf} NEOBYTESD_CONFIGFILE=${NEOBYTESD_CONFIGFILE:-/etc/neobytes/neobytes.conf}
BITCOIND_PIDDIR=${BITCOIND_PIDDIR:-/var/run/neobytesd} NEOBYTESD_PIDDIR=${NEOBYTESD_PIDDIR:-/var/run/neobytesd}
BITCOIND_PIDFILE=${BITCOIND_PIDFILE:-${BITCOIND_PIDDIR}/neobytesd.pid} NEOBYTESD_PIDFILE=${NEOBYTESD_PIDFILE:-${NEOBYTESD_PIDDIR}/neobytesd.pid}
BITCOIND_DATADIR=${BITCOIND_DATADIR:-${BITCOIND_DEFAULT_DATADIR}} NEOBYTESD_DATADIR=${NEOBYTESD_DATADIR:-${NEOBYTESD_DEFAULT_DATADIR}}
BITCOIND_USER=${BITCOIND_USER:-${BITCOIN_USER:-neobytescore}} NEOBYTESD_USER=${NEOBYTESD_USER:-${NEOBYTES_USER:-neobytes}}
BITCOIND_GROUP=${BITCOIND_GROUP:-neobytescore} NEOBYTESD_GROUP=${NEOBYTESD_GROUP:-neobytes}
BITCOIND_BIN=${BITCOIND_BIN:-/usr/bin/neobytesd} NEOBYTESD_BIN=${NEOBYTESD_BIN:-/usr/bin/neobytesd}
BITCOIND_NICE=${BITCOIND_NICE:-${NICELEVEL:-0}} NEOBYTESD_NICE=${NEOBYTESD_NICE:-${NICELEVEL:-0}}
BITCOIND_OPTS="${BITCOIND_OPTS:-${BITCOIN_OPTS}}" NEOBYTESD_OPTS="${NEOBYTESD_OPTS:-${NEOBYTES_OPTS}}"
name="NeoBytes Core Daemon" name="Neobytes Core Daemon"
description="NeoBytes cryptocurrency P2P network daemon" description="Neobytes cryptocurrency P2P network daemon"
command="/usr/bin/neobytesd" command="/usr/bin/neobytesd"
command_args="-pid=\"${BITCOIND_PIDFILE}\" \ command_args="-pid=\"${NEOBYTESD_PIDFILE}\" \
-conf=\"${BITCOIND_CONFIGFILE}\" \ -conf=\"${NEOBYTESD_CONFIGFILE}\" \
-datadir=\"${BITCOIND_DATADIR}\" \ -datadir=\"${NEOBYTESD_DATADIR}\" \
-daemon \ -daemon \
${BITCOIND_OPTS}" ${NEOBYTESD_OPTS}"
required_files="${BITCOIND_CONFIGFILE}" required_files="${NEOBYTESD_CONFIGFILE}"
start_stop_daemon_args="-u ${BITCOIND_USER} \ start_stop_daemon_args="-u ${NEOBYTESD_USER} \
-N ${BITCOIND_NICE} -w 2000" -N ${NEOBYTESD_NICE} -w 2000"
pidfile="${BITCOIND_PIDFILE}" pidfile="${NEOBYTESD_PIDFILE}"
# The retry schedule to use when stopping the daemon. Could be either # The retry schedule to use when stopping the daemon. Could be either
# a timeout in seconds or multiple signal/timeout pairs (like # a timeout in seconds or multiple signal/timeout pairs (like
# "SIGKILL/180 SIGTERM/300") # "SIGKILL/180 SIGTERM/300")
retry="${BITCOIND_SIGTERM_TIMEOUT}" retry="${NEOBYTESD_SIGTERM_TIMEOUT}"
depend() { depend() {
need localmount net need localmount net
@ -50,29 +50,29 @@ start_pre() {
checkpath \ checkpath \
-d \ -d \
--mode 0750 \ --mode 0750 \
--owner "${BITCOIND_USER}:${BITCOIND_GROUP}" \ --owner "${NEOBYTESD_USER}:${NEOBYTESD_GROUP}" \
"${BITCOIND_DATADIR}" "${NEOBYTESD_DATADIR}"
checkpath \ checkpath \
-d \ -d \
--mode 0755 \ --mode 0755 \
--owner "${BITCOIND_USER}:${BITCOIND_GROUP}" \ --owner "${NEOBYTESD_USER}:${NEOBYTESD_GROUP}" \
"${BITCOIND_PIDDIR}" "${NEOBYTESD_PIDDIR}"
checkpath -f \ checkpath -f \
-o ${BITCOIND_USER}:${BITCOIND_GROUP} \ -o ${NEOBYTESD_USER}:${NEOBYTESD_GROUP} \
-m 0660 \ -m 0660 \
${BITCOIND_CONFIGFILE} ${NEOBYTESD_CONFIGFILE}
checkconfig || return 1 checkconfig || return 1
} }
checkconfig() checkconfig()
{ {
if ! grep -qs '^rpcpassword=' "${BITCOIND_CONFIGFILE}" ; then if ! grep -qs '^rpcpassword=' "${NEOBYTESD_CONFIGFILE}" ; then
eerror "" eerror ""
eerror "ERROR: You must set a secure rpcpassword to run neobytesd." eerror "ERROR: You must set a secure rpcpassword to run neobytesd."
eerror "The setting must appear in ${BITCOIND_CONFIGFILE}" eerror "The setting must appear in ${NEOBYTESD_CONFIGFILE}"
eerror "" eerror ""
eerror "This password is security critical to securing wallets " eerror "This password is security critical to securing wallets "
eerror "and must not be the same as the rpcuser setting." eerror "and must not be the same as the rpcuser setting."
@ -84,7 +84,7 @@ checkconfig()
eerror "It is also recommended that you also set alertnotify so you are " eerror "It is also recommended that you also set alertnotify so you are "
eerror "notified of problems:" eerror "notified of problems:"
eerror "" eerror ""
eerror "ie: alertnotify=echo %%s | mail -s \"NeoBytes Core Alert\"" \ eerror "ie: alertnotify=echo %%s | mail -s \"Neobytes Core Alert\"" \
"admin@foo.com" "admin@foo.com"
eerror "" eerror ""
return 1 return 1

View File

@ -1,33 +1,33 @@
# /etc/conf.d/neobytesd: config file for /etc/init.d/neobytesd # /etc/conf.d/neobytesd: config file for /etc/init.d/neobytesd
# Config file location # Config file location
#BITCOIND_CONFIGFILE="/etc/neobytescore/neobytes.conf" #NEOBYTESD_CONFIGFILE="/etc/neobytes/neobytes.conf"
# What directory to write pidfile to? (created and owned by $BITCOIND_USER) # What directory to write pidfile to? (created and owned by $NEOBYTESD_USER)
#BITCOIND_PIDDIR="/var/run/neobytesd" #NEOBYTESD_PIDDIR="/var/run/neobytesd"
# What filename to give the pidfile # What filename to give the pidfile
#BITCOIND_PIDFILE="${BITCOIND_PIDDIR}/neobytesd.pid" #NEOBYTESD_PIDFILE="${NEOBYTESD_PIDDIR}/neobytesd.pid"
# Where to write neobytesd data (be mindful that the blockchain is large) # Where to write neobytesd data (be mindful that the blockchain is large)
#BITCOIND_DATADIR="/var/lib/neobytesd" #NEOBYTESD_DATADIR="/var/lib/neobytesd"
# User and group to own neobytesd process # User and group to own neobytesd process
#BITCOIND_USER="neobytescore" #NEOBYTESD_USER="neobytes"
#BITCOIND_GROUP="neobytescore" #NEOBYTESD_GROUP="neobytes"
# Path to neobytesd executable # Path to neobytesd executable
#BITCOIND_BIN="/usr/bin/neobytesd" #NEOBYTESD_BIN="/usr/bin/neobytesd"
# Nice value to run neobytesd under # Nice value to run neobytesd under
#BITCOIND_NICE=0 #NEOBYTESD_NICE=0
# Additional options (avoid -conf and -datadir, use flags above) # Additional options (avoid -conf and -datadir, use flags above)
BITCOIND_OPTS="-disablewallet" NEOBYTESD_OPTS="-disablewallet"
# The timeout in seconds OpenRC will wait for bitcoind to terminate # The timeout in seconds OpenRC will wait for neobytesd to terminate
# after a SIGTERM has been raised. # after a SIGTERM has been raised.
# Note that this will be mapped as argument to start-stop-daemon's # Note that this will be mapped as argument to start-stop-daemon's
# '--retry' option, which means you can specify a retry schedule # '--retry' option, which means you can specify a retry schedule
# here. For more information see man 8 start-stop-daemon. # here. For more information see man 8 start-stop-daemon.
BITCOIND_SIGTERM_TIMEOUT=60 NEOBYTESD_SIGTERM_TIMEOUT=60

View File

@ -1,15 +1,15 @@
[Unit] [Unit]
Description=NeoBytes distributed currency daemon Description=Neobytes distributed currency daemon
After=network.target After=network.target
[Service] [Service]
User=neobytescore User=neobytes
Group=neobytescore Group=neobytes
Type=forking Type=forking
PIDFile=/var/lib/neobytesd/neobytesd.pid PIDFile=/var/lib/neobytesd/neobytesd.pid
ExecStart=/usr/bin/neobytesd -daemon -pid=/var/lib/neobytesd/neobytesd.pid \ ExecStart=/usr/bin/neobytesd -daemon -pid=/var/lib/neobytesd/neobytesd.pid \
-conf=/etc/neobytescore/neobytes.conf -datadir=/var/lib/neobytesd -disablewallet -conf=/etc/neobytes/neobytes.conf -datadir=/var/lib/neobytesd -disablewallet
Restart=always Restart=always
PrivateTmp=true PrivateTmp=true

103
contrib/install_db4.sh Normal file
View File

@ -0,0 +1,103 @@
#!/bin/sh
# Install libdb4.8 (Berkeley DB).
export LC_ALL=C
set -e
if [ -z "${1}" ]; then
echo "Usage: $0 <base-dir> [<extra-bdb-configure-flag> ...]"
echo
echo "Must specify a single argument: the directory in which db4 will be built."
echo "This is probably \`pwd\` if you're at the root of the bitgreen repository."
exit 1
fi
expand_path() {
cd "${1}" && pwd -P
}
BDB_PREFIX="$(expand_path ${1})/db4"; shift;
BDB_VERSION='db-4.8.30.NC'
BDB_HASH='12edc0df75bf9abd7f82f821795bcee50f42cb2e5f76a6a281b85732798364ef'
BDB_URL="https://download.oracle.com/berkeley-db/${BDB_VERSION}.tar.gz"
check_exists() {
command -v "$1" >/dev/null
}
sha256_check() {
# Args: <sha256_hash> <filename>
#
if check_exists sha256sum; then
echo "${1} ${2}" | sha256sum -c
elif check_exists sha256; then
if [ "$(uname)" = "FreeBSD" ]; then
sha256 -c "${1}" "${2}"
else
echo "${1} ${2}" | sha256 -c
fi
else
echo "${1} ${2}" | shasum -a 256 -c
fi
}
http_get() {
# Args: <url> <filename> <sha256_hash>
#
# It's acceptable that we don't require SSL here because we manually verify
# content hashes below.
#
if [ -f "${2}" ]; then
echo "File ${2} already exists; not downloading again"
elif check_exists curl; then
curl --insecure --retry 5 "${1}" -o "${2}"
else
wget --no-check-certificate "${1}" -O "${2}"
fi
sha256_check "${3}" "${2}"
}
mkdir -p "${BDB_PREFIX}"
http_get "${BDB_URL}" "${BDB_VERSION}.tar.gz" "${BDB_HASH}"
tar -xzvf ${BDB_VERSION}.tar.gz -C "$BDB_PREFIX"
cd "${BDB_PREFIX}/${BDB_VERSION}/"
# Apply a patch necessary when building with clang and c++11 (see https://community.oracle.com/thread/3952592)
CLANG_CXX11_PATCH_URL='https://gist.githubusercontent.com/LnL7/5153b251fd525fe15de69b67e63a6075/raw/7778e9364679093a32dec2908656738e16b6bdcb/clang.patch'
CLANG_CXX11_PATCH_HASH='7a9a47b03fd5fb93a16ef42235fa9512db9b0829cfc3bdf90edd3ec1f44d637c'
http_get "${CLANG_CXX11_PATCH_URL}" clang.patch "${CLANG_CXX11_PATCH_HASH}"
patch -p2 < clang.patch
# The packaged config.guess and config.sub are ancient (2009) and can cause build issues.
# Replace them with modern versions.
# See https://github.com/bitcoin/bitcoin/issues/16064
CONFIG_GUESS_URL='https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=55eaf3e779455c4e5cc9f82efb5278be8f8f900b'
CONFIG_GUESS_HASH='2d1ff7bca773d2ec3c6217118129220fa72d8adda67c7d2bf79994b3129232c1'
CONFIG_SUB_URL='https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=55eaf3e779455c4e5cc9f82efb5278be8f8f900b'
CONFIG_SUB_HASH='3a4befde9bcdf0fdb2763fc1bfa74e8696df94e1ad7aac8042d133c8ff1d2e32'
rm -f "dist/config.guess"
rm -f "dist/config.sub"
http_get "${CONFIG_GUESS_URL}" dist/config.guess "${CONFIG_GUESS_HASH}"
http_get "${CONFIG_SUB_URL}" dist/config.sub "${CONFIG_SUB_HASH}"
cd build_unix/
"${BDB_PREFIX}/${BDB_VERSION}/dist/configure" \
--enable-cxx --disable-shared --disable-replication --with-pic --prefix="${BDB_PREFIX}" \
"${@}"
make install
echo
echo "db4 build complete."
echo
# shellcheck disable=SC2016
echo 'When compiling bitgreend, run `./configure` in the following way:'
echo
echo " export BDB_PREFIX='${BDB_PREFIX}'"
# shellcheck disable=SC2016
echo ' ./configure BDB_LIBS="-L${BDB_PREFIX}/lib -ldb_cxx-4.8" BDB_CFLAGS="-I${BDB_PREFIX}/include" ...'

View File

@ -3,18 +3,18 @@
rpcuser=someuser rpcuser=someuser
rpcpassword=somepassword rpcpassword=somepassword
host=127.0.0.1 host=127.0.0.1
port=12426 port=11427
# bootstrap.dat hashlist settings (linearize-hashes) # bootstrap.dat hashlist settings (linearize-hashes)
max_height=3130000 max_height=3130000
# bootstrap.dat input/output settings (linearize-data) # bootstrap.dat input/output settings (linearize-data)
netmagic=536e6f77 netmagic=536e6f77
input=/home/example/.neobytescore/testnet3/blocks input=/home/example/.neobytes/testnet3/blocks
output_file=/home/example/Downloads/bootstrap.dat output_file=/home/example/Downloads/bootstrap.dat
hashlist=hashlist.txt hashlist=hashlist.txt
split_year=1 split_year=1
genesis=0000042e5e7347b96f676974fa0cd902956ae49ce78d4ca4978d59fa90d7343c genesis=000006f76d06a4b15692023eeb6f1df2dc3e98ac2eb1f11d8f4eb36ac4aca1db
# Maxmimum size in bytes of out-of-order blocks cache in memory # Maxmimum size in bytes of out-of-order blocks cache in memory
out_of_order_cache_sz = 10000000 out_of_order_cache_sz = 10000000

View File

@ -3,18 +3,18 @@
rpcuser=someuser rpcuser=someuser
rpcpassword=somepassword rpcpassword=somepassword
host=127.0.0.1 host=127.0.0.1
port=11426 port=1427
# bootstrap.dat hashlist settings (linearize-hashes) # bootstrap.dat hashlist settings (linearize-hashes)
max_height=3130000 max_height=3130000
# bootstrap.dat input/output settings (linearize-data) # bootstrap.dat input/output settings (linearize-data)
netmagic=456c6c61 netmagic=456c6c61
input=/home/example/.neobytescore/blocks input=/home/example/.neobytes/blocks
output_file=/home/example/Downloads/bootstrap.dat output_file=/home/example/Downloads/bootstrap.dat
hashlist=hashlist.txt hashlist=hashlist.txt
split_year=1 split_year=1
genesis=0000083c6edd8e5870c4f25857824125358a96c81b66dc5831ddd5e82a777758 genesis=0000077d4fc6f4c8e65b2fb355b1fa6c663d33712079d8cbe503fca647f8217b
# Maxmimum size in bytes of out-of-order blocks cache in memory # Maxmimum size in bytes of out-of-order blocks cache in memory
out_of_order_cache_sz = 10000000 out_of_order_cache_sz = 10000000

View File

@ -96,7 +96,7 @@ if __name__ == '__main__':
if 'host' not in settings: if 'host' not in settings:
settings['host'] = '127.0.0.1' settings['host'] = '127.0.0.1'
if 'port' not in settings: if 'port' not in settings:
settings['port'] = 11426 settings['port'] = 1427
if 'min_height' not in settings: if 'min_height' not in settings:
settings['min_height'] = 0 settings['min_height'] = 0
if 'max_height' not in settings: if 'max_height' not in settings:

View File

@ -1 +1 @@
{ CFBundleDisplayName = "NeoBytes Core"; CFBundleName = "NeoBytes Core"; } { CFBundleDisplayName = "Neobytes Core"; CFBundleName = "Neobytes Core"; }

View File

@ -11,5 +11,5 @@ This script should not be run manually, instead, after building as usual:
During the process, the disk image window will pop up briefly where the fancy During the process, the disk image window will pop up briefly where the fancy
settings are applied. This is normal, please do not interfere. settings are applied. This is normal, please do not interfere.
When finished, it will produce `NeoBytes-Core.dmg`. When finished, it will produce `Neobytes-Core.dmg`.

View File

@ -2,7 +2,7 @@
set -e set -e
ROOTDIR=dist ROOTDIR=dist
BUNDLE="${ROOTDIR}/NeoBytes-Qt.app" BUNDLE="${ROOTDIR}/Neobytes-Qt.app"
CODESIGN=codesign CODESIGN=codesign
TEMPDIR=sign.temp TEMPDIR=sign.temp
TEMPLIST=${TEMPDIR}/signatures.txt TEMPLIST=${TEMPDIR}/signatures.txt

View File

@ -22,7 +22,7 @@
<integer>370</integer> <integer>370</integer>
<integer>156</integer> <integer>156</integer>
</array> </array>
<key>NeoBytes-Qt.app</key> <key>Neobytes-Qt.app</key>
<array> <array>
<integer>128</integer> <integer>128</integer>
<integer>156</integer> <integer>156</integer>

View File

@ -155,7 +155,7 @@ class FrameworkInfo(object):
class ApplicationBundleInfo(object): class ApplicationBundleInfo(object):
def __init__(self, path): def __init__(self, path):
self.path = path self.path = path
appName = "NeoBytes-Qt" appName = "Neobytes-Qt"
self.binaryPath = os.path.join(path, "Contents", "MacOS", appName) self.binaryPath = os.path.join(path, "Contents", "MacOS", appName)
if not os.path.exists(self.binaryPath): if not os.path.exists(self.binaryPath):
raise RuntimeError("Could not find bundle binary for " + path) raise RuntimeError("Could not find bundle binary for " + path)
@ -596,7 +596,7 @@ if os.path.exists("dist"):
# ------------------------------------------------ # ------------------------------------------------
target = os.path.join("dist", "NeoBytes-Qt.app") target = os.path.join("dist", "Neobytes-Qt.app")
if verbose >= 2: if verbose >= 2:
print "+ Copying source bundle +" print "+ Copying source bundle +"
@ -757,7 +757,7 @@ if config.dmg is not None:
if fancy is None: if fancy is None:
try: try:
runHDIUtil("create", dmg_name, srcfolder="dist", format="UDBZ", volname="NeoBytes-Core", ov=True) runHDIUtil("create", dmg_name, srcfolder="dist", format="UDBZ", volname="Neobytes-Core", ov=True)
except subprocess.CalledProcessError as e: except subprocess.CalledProcessError as e:
sys.exit(e.returncode) sys.exit(e.returncode)
else: else:
@ -772,7 +772,7 @@ if config.dmg is not None:
if verbose >= 3: if verbose >= 3:
print "Creating temp image for modification..." print "Creating temp image for modification..."
try: try:
runHDIUtil("create", dmg_name + ".temp", srcfolder="dist", format="UDRW", size=size, volname="NeoBytes-Core", ov=True) runHDIUtil("create", dmg_name + ".temp", srcfolder="dist", format="UDRW", size=size, volname="Neobytes-Core", ov=True)
except subprocess.CalledProcessError as e: except subprocess.CalledProcessError as e:
sys.exit(e.returncode) sys.exit(e.returncode)
@ -837,7 +837,7 @@ if config.dmg is not None:
items_positions.append(itemscript.substitute(params)) items_positions.append(itemscript.substitute(params))
params = { params = {
"disk" : "NeoBytes-Core", "disk" : "Neobytes-Core",
"window_bounds" : "300,300,800,620", "window_bounds" : "300,300,800,620",
"icon_size" : "96", "icon_size" : "96",
"background_commands" : "", "background_commands" : "",

View File

@ -1,5 +1,5 @@
### Qos ### ### Qos ###
This is a Linux bash script that will set up tc to limit the outgoing bandwidth for connections to the NeoBytes network. It limits outbound TCP traffic with a source or destination port of 11427, but not if the destination IP is within a LAN (defined as 192.168.x.x). This is a Linux bash script that will set up tc to limit the outgoing bandwidth for connections to the Neobytes network. It limits outbound TCP traffic with a source or destination port of 1428, but not if the destination IP is within a LAN (defined as 192.168.x.x).
This means one can have an always-on bitcoind instance running, and another local bitcoind/bitcoin-qt instance which connects to this node and receives blocks from it. This means one can have an always-on bitcoind instance running, and another local bitcoind/bitcoin-qt instance which connects to this node and receives blocks from it.

View File

@ -2,7 +2,7 @@
IF="eth0" IF="eth0"
#limit of the network interface in question #limit of the network interface in question
LINKCEIL="1gbit" LINKCEIL="1gbit"
#limit outbound NeoBytes protocol traffic to this rate #limit outbound Neobytes protocol traffic to this rate
LIMIT="160kbit" LIMIT="160kbit"
#defines the address space for which you wish to disable rate limiting #defines the address space for which you wish to disable rate limiting
LOCALNET="192.168.0.0/16" LOCALNET="192.168.0.0/16"
@ -32,10 +32,10 @@ tc filter add dev ${IF} parent 1: protocol ip prio 2 handle 2 fw classid 1:11
# ret=$? # ret=$?
#done #done
#limit outgoing traffic to and from port 11427. but not when dealing with a host on the local network #limit outgoing traffic to and from port 1428. but not when dealing with a host on the local network
# (defined by $LOCALNET) # (defined by $LOCALNET)
# --set-mark marks packages matching these criteria with the number "2" # --set-mark marks packages matching these criteria with the number "2"
# these packages are filtered by the tc filter with "handle 2" # these packages are filtered by the tc filter with "handle 2"
# this filter sends the packages into the 1:11 class, and this class is limited to ${LIMIT} # this filter sends the packages into the 1:11 class, and this class is limited to ${LIMIT}
iptables -t mangle -A OUTPUT -p tcp -m tcp --dport 11427 ! -d ${LOCALNET} -j MARK --set-mark 0x2 iptables -t mangle -A OUTPUT -p tcp -m tcp --dport 1428 ! -d ${LOCALNET} -j MARK --set-mark 0x2
iptables -t mangle -A OUTPUT -p tcp -m tcp --sport 11427 ! -d ${LOCALNET} -j MARK --set-mark 0x2 iptables -t mangle -A OUTPUT -p tcp -m tcp --sport 1428 ! -d ${LOCALNET} -j MARK --set-mark 0x2

View File

@ -2,7 +2,7 @@
# Helpful little script that spits out a comma-separated list of # Helpful little script that spits out a comma-separated list of
# language codes for Qt icons that should be included # language codes for Qt icons that should be included
# in binary NeoBytes Core distributions # in binary Neobytes Core distributions
import glob import glob
import os import os

View File

@ -127,10 +127,10 @@ def main():
g.write(' * IPv4 as well as onion addresses are wrapped inside a IPv6 address accordingly.\n') g.write(' * IPv4 as well as onion addresses are wrapped inside a IPv6 address accordingly.\n')
g.write(' */\n') g.write(' */\n')
with open(os.path.join(indir,'nodes_main.txt'),'r') as f: with open(os.path.join(indir,'nodes_main.txt'),'r') as f:
process_nodes(g, f, 'pnSeed6_main', 11427) process_nodes(g, f, 'pnSeed6_main', 1428)
g.write('\n') g.write('\n')
with open(os.path.join(indir,'nodes_test.txt'),'r') as f: with open(os.path.join(indir,'nodes_test.txt'),'r') as f:
process_nodes(g, f, 'pnSeed6_test', 12427) process_nodes(g, f, 'pnSeed6_test', 11428)
g.write('#endif // NEOBYTES_CHAINPARAMSSEEDS_H\n') g.write('#endif // NEOBYTES_CHAINPARAMSSEEDS_H\n')
if __name__ == '__main__': if __name__ == '__main__':

View File

@ -1,4 +0,0 @@
# List of fixed seed nodes for testnet
# Onion nodes

View File

@ -7,7 +7,7 @@ address (or addresses).
Depends on [jsonrpc](http://json-rpc.org/). Depends on [jsonrpc](http://json-rpc.org/).
spendfrom.py --from=FROMADDRESS1[,FROMADDRESS2] --to=TOADDRESS --amount=amount \ spendfrom.py --from=FROMADDRESS1[,FROMADDRESS2] --to=TOADDRESS --amount=amount \
--fee=fee --datadir=/path/to/.neobytescore --testnet --dry_run --fee=fee --datadir=/path/to/.neobytes --testnet --dry_run
With no arguments, outputs a list of amounts associated with addresses. With no arguments, outputs a list of amounts associated with addresses.

View File

@ -7,7 +7,7 @@
# spendfrom.py # Lists available funds # spendfrom.py # Lists available funds
# spendfrom.py --from=ADDRESS --to=ADDRESS --amount=11.00 # spendfrom.py --from=ADDRESS --to=ADDRESS --amount=11.00
# #
# Assumes it will talk to a neobytesd or NeoBytes-Qt running # Assumes it will talk to a neobytesd or Neobytes-Qt running
# on localhost. # on localhost.
# #
# Depends on jsonrpc # Depends on jsonrpc
@ -33,12 +33,12 @@ def check_json_precision():
raise RuntimeError("JSON encode/decode loses precision") raise RuntimeError("JSON encode/decode loses precision")
def determine_db_dir(): def determine_db_dir():
"""Return the default location of the NeoBytes Core data directory""" """Return the default location of the Neobytes Core data directory"""
if platform.system() == "Darwin": if platform.system() == "Darwin":
return os.path.expanduser("~/Library/Application Support/NeoBytesCore/") return os.path.expanduser("~/Library/Application Support/Neobytes/")
elif platform.system() == "Windows": elif platform.system() == "Windows":
return os.path.join(os.environ['APPDATA'], "NeoBytesCore") return os.path.join(os.environ['APPDATA'], "Neobytes")
return os.path.expanduser("~/.neobytescore") return os.path.expanduser("~/.neobytes")
def read_bitcoin_config(dbdir): def read_bitcoin_config(dbdir):
"""Read the neobytes.conf file from dbdir, returns dictionary of settings""" """Read the neobytes.conf file from dbdir, returns dictionary of settings"""
@ -63,11 +63,11 @@ def read_bitcoin_config(dbdir):
return dict(config_parser.items("all")) return dict(config_parser.items("all"))
def connect_JSON(config): def connect_JSON(config):
"""Connect to a NeoBytes Core JSON-RPC server""" """Connect to a Neobytes Core JSON-RPC server"""
testnet = config.get('testnet', '0') testnet = config.get('testnet', '0')
testnet = (int(testnet) > 0) # 0/1 in config file, convert to True/False testnet = (int(testnet) > 0) # 0/1 in config file, convert to True/False
if not 'rpcport' in config: if not 'rpcport' in config:
config['rpcport'] = 12426 if testnet else 11426 config['rpcport'] = 11427 if testnet else 1427
connect = "http://%s:%s@127.0.0.1:%s"%(config['rpcuser'], config['rpcpassword'], config['rpcport']) connect = "http://%s:%s@127.0.0.1:%s"%(config['rpcuser'], config['rpcpassword'], config['rpcport'])
try: try:
result = ServiceProxy(connect) result = ServiceProxy(connect)

View File

@ -1,6 +1,6 @@
### TestGen ### ### TestGen ###
Utilities to generate test vectors for the data-driven NeoBytes tests. Utilities to generate test vectors for the data-driven Neobytes tests.
Usage: Usage:

View File

@ -4,7 +4,7 @@ if [ -d "$1" ]; then
cd "$1" cd "$1"
else else
echo "Usage: $0 <datadir>" >&2 echo "Usage: $0 <datadir>" >&2
echo "Removes obsolete NeoBytes database files" >&2 echo "Removes obsolete Neobytes database files" >&2
exit 1 exit 1
fi fi
@ -16,22 +16,22 @@ if [ -f wallet.dat -a -f peers.dat -a -f chainstate/CURRENT -a -f blocks/index/C
case $LEVEL in case $LEVEL in
0) 0)
echo "Error: no NeoBytes datadir detected." echo "Error: no Neobytes datadir detected."
exit 1 exit 1
;; ;;
1) 1)
echo "Detected old NeoBytes datadir (before 0.7)." echo "Detected old Neobytes datadir (before 0.7)."
echo "Nothing to do." echo "Nothing to do."
exit 0 exit 0
;; ;;
2) 2)
echo "Detected NeoBytes 0.7 datadir." echo "Detected Neobytes 0.7 datadir."
;; ;;
3) 3)
echo "Detected NeoBytes pre-0.8 datadir." echo "Detected Neobytes pre-0.8 datadir."
;; ;;
4) 4)
echo "Detected NeoBytes 0.8 datadir." echo "Detected Neobytes 0.8 datadir."
;; ;;
esac esac

View File

@ -5,7 +5,7 @@ import binascii
import zmq import zmq
import struct import struct
port = 21426 port = 21427
zmqContext = zmq.Context() zmqContext = zmq.Context()
zmqSubSocket = zmqContext.socket(zmq.SUB) zmqSubSocket = zmqContext.socket(zmq.SUB)

View File

@ -12,9 +12,9 @@ For example:
make HOST=x86_64-w64-mingw32 -j4 make HOST=x86_64-w64-mingw32 -j4
A prefix will be generated that's suitable for plugging into NeoBytes's A prefix will be generated that's suitable for plugging into Neobytes's
configure. In the above example, a dir named x86_64-w64-mingw32 will be configure. In the above example, a dir named x86_64-w64-mingw32 will be
created. To use it for NeoBytes: created. To use it for Neobytes:
./configure --prefix=`pwd`/depends/x86_64-w64-mingw32 ./configure --prefix=`pwd`/depends/x86_64-w64-mingw32
@ -40,7 +40,7 @@ The following can be set when running make: make FOO=bar
DEBUG: disable some optimizations and enable more runtime checking DEBUG: disable some optimizations and enable more runtime checking
If some packages are not built, for example `make NO_WALLET=1`, the appropriate If some packages are not built, for example `make NO_WALLET=1`, the appropriate
options will be passed to NeoBytes Core's configure. In this case, `--disable-wallet`. options will be passed to Neobytes Core's configure. In this case, `--disable-wallet`.
Additional targets: Additional targets:

View File

@ -28,7 +28,7 @@ DOXYFILE_ENCODING = UTF-8
# The PROJECT_NAME tag is a single word (or a sequence of words surrounded # The PROJECT_NAME tag is a single word (or a sequence of words surrounded
# by quotes) that should identify the project. # by quotes) that should identify the project.
PROJECT_NAME = "NeoBytes Core" PROJECT_NAME = "Neobytes Core"
# The PROJECT_NUMBER tag can be used to enter a project or revision number. # The PROJECT_NUMBER tag can be used to enter a project or revision number.
# This could be handy for archiving the generated documentation or # This could be handy for archiving the generated documentation or

View File

@ -1,18 +1,18 @@
NeoBytes Core 0.12.1 Neobytes Core 0.12.1
===================== =====================
This is the official reference wallet for NeoBytes digital currency and comprises the backbone of the NeoBytes peer-to-peer network. You can [download NeoBytes Core](https://www.neobytes.org/downloads/) or [build it yourself](#building) using the guides below. This is the official reference wallet for Neobytes digital currency and comprises the backbone of the Neobytes peer-to-peer network. You can [download Neobytes Core](https://www.neobytes.network/downloads/) or [build it yourself](#building) using the guides below.
Running Running
--------------------- ---------------------
The following are some helpful notes on how to run NeoBytes on your native platform. The following are some helpful notes on how to run Neobytes on your native platform.
### Unix ### Unix
Unpack the files into a directory and run: Unpack the files into a directory and run:
- `bin/bitcoin-qt` (GUI) or - `bin/neobytes-qt` (GUI) or
- `bin/bitcoind` (headless) - `bin/neobytesd` (headless)
### Windows ### Windows
@ -20,18 +20,17 @@ Unpack the files into a directory, and then run neobytes-qt.exe.
### OS X ### OS X
Drag NeoBytes-Qt to your applications folder, and then run NeoBytes-Qt. Drag Neobytes-Qt to your applications folder, and then run Neobytes-Qt.
### Need Help? ### Need Help?
* See the [NeoBytes documentation](https://neobytes.atlassian.net/wiki/display/DOC) * See the [Neobytes documentation](https://github.com/neobytes-project/neobytes/wiki)
for help and more information. for help and more information.
* Ask for help on [#neobytes](http://webchat.freenode.net?channels=neobytes) on Freenode. If you don't have an IRC client use [webchat here](http://webchat.freenode.net?channels=neobytes). * Ask for help on [#neobytes](http://webchat.freenode.net?channels=neobytes) on Freenode. If you don't have an IRC client use [webchat here](http://webchat.freenode.net?channels=neobytes).
* Ask for help on the [NeoBytesTalk](https://neobytestalk.org/) forums.
Building Building
--------------------- ---------------------
The following are developer notes on how to build NeoBytes Core on your native platform. They are not complete guides, but include notes on the necessary libraries, compile flags, etc. The following are developer notes on how to build Neobytes Core on your native platform. They are not complete guides, but include notes on the necessary libraries, compile flags, etc.
- [OS X Build Notes](build-osx.md) - [OS X Build Notes](build-osx.md)
- [Unix Build Notes](build-unix.md) - [Unix Build Notes](build-unix.md)
@ -41,7 +40,7 @@ The following are developer notes on how to build NeoBytes Core on your native p
Development Development
--------------------- ---------------------
The NeoBytes Core repo's [root README](/README.md) contains relevant information on the development process and automated testing. The Neobytes Core repo's [root README](/README.md) contains relevant information on the development process and automated testing.
- [Developer Notes](developer-notes.md) - [Developer Notes](developer-notes.md)
- [Multiwallet Qt Development](multiwallet-qt.md) - [Multiwallet Qt Development](multiwallet-qt.md)
@ -57,7 +56,6 @@ The NeoBytes Core repo's [root README](/README.md) contains relevant information
- [Dnsseed Policy](dnsseed-policy.md) - [Dnsseed Policy](dnsseed-policy.md)
### Resources ### Resources
* Discuss on the [NeoBytesTalk](https://neobytestalk.org/) forums, in the Development & Technical Discussion board.
* Discuss on [#neobytes](http://webchat.freenode.net/?channels=neobytes) on Freenode. If you don't have an IRC client use [webchat here](http://webchat.freenode.net/?channels=neobytes). * Discuss on [#neobytes](http://webchat.freenode.net/?channels=neobytes) on Freenode. If you don't have an IRC client use [webchat here](http://webchat.freenode.net/?channels=neobytes).
### Miscellaneous ### Miscellaneous

View File

@ -1,9 +1,9 @@
NeoBytes Core 0.12.1 Neobytes Core 0.12.1
===================== =====================
Intro Intro
----- -----
NeoBytes is a free open source peer-to-peer electronic cash system that is Neobytes is a free open source peer-to-peer electronic cash system that is
completely decentralized, without the need for a central server or trusted completely decentralized, without the need for a central server or trusted
parties. Users hold the crypto keys to their own money and transact directly parties. Users hold the crypto keys to their own money and transact directly
with each other, with the help of a P2P network to check for double-spending. with each other, with the help of a P2P network to check for double-spending.
@ -13,8 +13,8 @@ Setup
----- -----
Unpack the files into a directory and run neobytes-qt.exe. Unpack the files into a directory and run neobytes-qt.exe.
NeoBytes Core is the original NeoBytes client and it builds the backbone of the network. Neobytes Core is the original Neobytes client and it builds the backbone of the network.
However, it downloads and stores the entire history of NeoBytes transactions; However, it downloads and stores the entire history of Neobytes transactions;
depending on the speed of your computer and network connection, the synchronization depending on the speed of your computer and network connection, the synchronization
process can take anywhere from a few hours to a day or more. process can take anywhere from a few hours to a day or more.

View File

@ -53,7 +53,7 @@ https://github.com/bitcoin/bips/blob/master/bip-0064.mediawiki
Example: Example:
``` ```
$ curl localhost:12426/rest/getutxos/checkmempool/b2cdfd7b89def827ff8af7cd9bff7627ff72e5e8b0f71210f92ea7a4000c5d75-0.json 2>/dev/null | json_pp $ curl localhost:11427/rest/getutxos/checkmempool/b2cdfd7b89def827ff8af7cd9bff7627ff72e5e8b0f71210f92ea7a4000c5d75-0.json 2>/dev/null | json_pp
{ {
"chaintipHash" : "00000000fb01a7f3745a717f8caebee056c484e6e0bfe4a9591c235bb70506fb", "chaintipHash" : "00000000fb01a7f3745a717f8caebee056c484e6e0bfe4a9591c235bb70506fb",
"chainHeight" : 325347, "chainHeight" : 325347,
@ -93,4 +93,4 @@ Only supports JSON as output format.
Risks Risks
------------- -------------
Running a web browser on the same node with a REST enabled bitcoind can be a risk. Accessing prepared XSS websites could read out tx/block data of your node by placing links like `<script src="http://127.0.0.1:11426/rest/tx/1234567890.json">` which might break the nodes privacy. Running a web browser on the same node with a REST enabled bitcoind can be a risk. Accessing prepared XSS websites could read out tx/block data of your node by placing links like `<script src="http://127.0.0.1:1427/rest/tx/1234567890.json">` which might break the nodes privacy.

View File

@ -1 +1 @@
The list of assets used in the NeoBytes Core source and their attribution can now be found in [contrib/debian/copyright](../contrib/debian/copyright). The list of assets used in the Neobytes Core source and their attribution can now be found in [contrib/debian/copyright](../contrib/debian/copyright).

View File

@ -19,7 +19,7 @@ pkg_add python # (select version 2.7.x, not 3.x)
ln -sf /usr/local/bin/python2.7 /usr/local/bin/python2 ln -sf /usr/local/bin/python2.7 /usr/local/bin/python2
``` ```
The default C++ compiler that comes with OpenBSD 5.7 is g++ 4.2. This version is old (from 2007), and is not able to compile the current version of NeoBytes Core. It is possible to patch it up to compile, but with the planned transition to C++11 this is a losing battle. So here we will be installing a newer compiler. The default C++ compiler that comes with OpenBSD 5.7 is g++ 4.2. This version is old (from 2007), and is not able to compile the current version of Neobytes Core. It is possible to patch it up to compile, but with the planned transition to C++11 this is a losing battle. So here we will be installing a newer compiler.
GCC GCC
------- -------
@ -40,7 +40,7 @@ Do not use `pkg_add boost`! The boost version installed thus is compiled using t
... ...
Segmentation fault (core dumped) Segmentation fault (core dumped)
This makes it necessary to build boost, or at least the parts used by NeoBytes Core, manually: This makes it necessary to build boost, or at least the parts used by Neobytes Core, manually:
``` ```
# Pick some path to install boost to, here we create a directory within the neobytes directory # Pick some path to install boost to, here we create a directory within the neobytes directory
@ -96,7 +96,7 @@ cd db-4.8.30.NC/build_unix/
make install make install
``` ```
### Building NeoBytes Core ### Building Neobytes Core
**Important**: use `gmake`, not `make`. The non-GNU `make` will exit with a horrible error. **Important**: use `gmake`, not `make`. The non-GNU `make` will exit with a horrible error.

View File

@ -34,17 +34,17 @@ Instructions: Homebrew
brew install autoconf automake berkeley-db4 libtool boost miniupnpc openssl pkg-config protobuf libevent brew install autoconf automake berkeley-db4 libtool boost miniupnpc openssl pkg-config protobuf libevent
NOTE: Building with Qt4 is still supported, however, could result in a broken UI. As such, building with Qt5 is recommended. Qt5 5.7 requires C++11 which NeoBytes Core doesn't fully support yet, Qt5 5.6.2 has some other issues, so make sure to install Qt version < 5.6.2 (5.6.1-1 is recommended). NOTE: Building with Qt4 is still supported, however, could result in a broken UI. As such, building with Qt5 is recommended. Qt5 5.7 requires C++11 which Neobytes Core doesn't fully support yet, Qt5 5.6.2 has some other issues, so make sure to install Qt version < 5.6.2 (5.6.1-1 is recommended).
brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/e6d954bab88e89c5582498157077756900865070/Formula/qt5.rb brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/e6d954bab88e89c5582498157077756900865070/Formula/qt5.rb
### Building NeoBytes Core ### Building Neobytes Core
1. Clone the GitHub tree to get the source code and go into the directory. 1. Clone the GitHub tree to get the source code and go into the directory.
git clone https://github.com/neobytes-project/neobytes.git git clone https://github.com/neobytes-project/neobytes.git
cd neobytes cd neobytes
2. Build NeoBytes Core: 2. Build Neobytes Core:
This will configure and build the headless neobytes binaries as well as the gui (if Qt is found). This will configure and build the headless neobytes binaries as well as the gui (if Qt is found).
You can disable the gui build by passing `--without-gui` to configure. You can disable the gui build by passing `--without-gui` to configure.
@ -80,9 +80,9 @@ Creating a release build
------------------------ ------------------------
You can ignore this section if you are building `neobytesd` for your own use. You can ignore this section if you are building `neobytesd` for your own use.
neobytesd/neobytes-cli binaries are not included in the NeoBytes-Qt.app bundle. neobytesd/neobytes-cli binaries are not included in the Neobytes-Qt.app bundle.
If you are building `neobytesd` or `NeoBytes Core` for others, your build machine should be set up If you are building `neobytesd` or `Neobytes Core` for others, your build machine should be set up
as follows for maximum compatibility: as follows for maximum compatibility:
All dependencies should be compiled with these flags: All dependencies should be compiled with these flags:
@ -91,7 +91,7 @@ All dependencies should be compiled with these flags:
-arch x86_64 -arch x86_64
-isysroot $(xcode-select --print-path)/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk -isysroot $(xcode-select --print-path)/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk
Once dependencies are compiled, see [doc/release-process.md](release-process.md) for how the NeoBytes Core Once dependencies are compiled, see [doc/release-process.md](release-process.md) for how the Neobytes Core
bundle is packaged and signed to create the .dmg disk image that is distributed. bundle is packaged and signed to create the .dmg disk image that is distributed.
Running Running
@ -103,14 +103,14 @@ directory. We have to first create the RPC configuration file, though.
Run `./neobytesd` to get the filename where it should be put, or just try these Run `./neobytesd` to get the filename where it should be put, or just try these
commands: commands:
echo -e "rpcuser=neobytesrpc\nrpcpassword=$(xxd -l 16 -p /dev/urandom)" > "/Users/${USER}/Library/Application Support/NeoBytesCore/neobytes.conf" echo -e "rpcuser=neobytesrpc\nrpcpassword=$(xxd -l 16 -p /dev/urandom)" > "/Users/${USER}/Library/Application Support/Neobytes/neobytes.conf"
chmod 600 "/Users/${USER}/Library/Application Support/NeoBytesCore/neobytes.conf" chmod 600 "/Users/${USER}/Library/Application Support/Neobytes/neobytes.conf"
The next time you run it, it will start downloading the blockchain, but it won't The next time you run it, it will start downloading the blockchain, but it won't
output anything while it's doing this. This process may take several hours; output anything while it's doing this. This process may take several hours;
you can monitor its process by looking at the debug.log file, like this: you can monitor its process by looking at the debug.log file, like this:
tail -f $HOME/Library/Application\ Support/NeoBytesCore/debug.log tail -f $HOME/Library/Application\ Support/Neobytes/debug.log
Other commands: Other commands:
------- -------

View File

@ -1,12 +1,12 @@
UNIX BUILD NOTES UNIX BUILD NOTES
==================== ====================
Some notes on how to build NeoBytes Core in Unix. Some notes on how to build Neobytes Core in Unix.
(for OpenBSD specific instructions, see [build-openbsd.md](build-openbsd.md)) (for OpenBSD specific instructions, see [build-openbsd.md](build-openbsd.md))
Note Note
--------------------- ---------------------
Always use absolute paths to configure and compile NeoBytes Core and the dependencies, Always use absolute paths to configure and compile Neobytes Core and the dependencies,
for example, when specifying the the path of the dependency: for example, when specifying the the path of the dependency:
../dist/configure --enable-cxx --disable-shared --with-pic --prefix=$BDB_PREFIX ../dist/configure --enable-cxx --disable-shared --with-pic --prefix=$BDB_PREFIX
@ -54,7 +54,7 @@ System requirements
-------------------- --------------------
C++ compilers are memory-hungry. It is recommended to have at least 1 GB of C++ compilers are memory-hungry. It is recommended to have at least 1 GB of
memory available when compiling NeoBytes Core. With 512MB of memory or less memory available when compiling Neobytes Core. With 512MB of memory or less
compilation will take much longer due to swap thrashing. compilation will take much longer due to swap thrashing.
Dependency Build Instructions: Ubuntu & Debian Dependency Build Instructions: Ubuntu & Debian
@ -76,7 +76,6 @@ If that doesn't work, you can install all boost development packages with:
BerkeleyDB is required for the wallet. db4.8 packages are available [here](https://launchpad.net/~bitcoin/+archive/bitcoin). BerkeleyDB is required for the wallet. db4.8 packages are available [here](https://launchpad.net/~bitcoin/+archive/bitcoin).
You can add the repository and install using the following commands: You can add the repository and install using the following commands:
sudo apt-get install software-properties-common
sudo add-apt-repository ppa:bitcoin/bitcoin sudo add-apt-repository ppa:bitcoin/bitcoin
sudo apt-get update sudo apt-get update
sudo apt-get install libdb4.8-dev libdb4.8++-dev sudo apt-get install libdb4.8-dev libdb4.8++-dev
@ -86,7 +85,7 @@ BerkeleyDB 5.1 or later, which break binary wallet compatibility with the distri
are based on BerkeleyDB 4.8. If you do not care about wallet compatibility, are based on BerkeleyDB 4.8. If you do not care about wallet compatibility,
pass `--with-incompatible-bdb` to configure. pass `--with-incompatible-bdb` to configure.
See the section "Disable-wallet mode" to build NeoBytes Core without wallet. See the section "Disable-wallet mode" to build Neobytes Core without wallet.
Optional: Optional:
@ -99,7 +98,7 @@ ZMQ dependencies:
Dependencies for the GUI: Ubuntu & Debian Dependencies for the GUI: Ubuntu & Debian
----------------------------------------- -----------------------------------------
If you want to build NeoBytes-Qt, make sure that the required packages for Qt development If you want to build Neobytes-Qt, make sure that the required packages for Qt development
are installed. Either Qt 5 or Qt 4 are necessary to build the GUI. are installed. Either Qt 5 or Qt 4 are necessary to build the GUI.
If both Qt 4 and Qt 5 are installed, Qt 5 will be used. Pass `--with-gui=qt4` to configure to choose Qt4. If both Qt 4 and Qt 5 are installed, Qt 5 will be used. Pass `--with-gui=qt4` to configure to choose Qt4.
To build without GUI pass `--without-gui`. To build without GUI pass `--without-gui`.
@ -160,7 +159,7 @@ cd db-4.8.30.NC/build_unix/
../dist/configure --enable-cxx --disable-shared --with-pic --prefix=$BDB_PREFIX ../dist/configure --enable-cxx --disable-shared --with-pic --prefix=$BDB_PREFIX
make install make install
# Configure NeoBytes Core to use our own-built instance of BDB # Configure Neobytes Core to use our own-built instance of BDB
cd $NEOBYTES_ROOT cd $NEOBYTES_ROOT
./autogen.sh ./autogen.sh
./configure LDFLAGS="-L${BDB_PREFIX}/lib/" CPPFLAGS="-I${BDB_PREFIX}/include/" # (other args...) ./configure LDFLAGS="-L${BDB_PREFIX}/lib/" CPPFLAGS="-I${BDB_PREFIX}/include/" # (other args...)
@ -179,7 +178,7 @@ If you need to build Boost yourself:
Security Security
-------- --------
To help make your NeoBytes installation more secure by making certain attacks impossible to To help make your Neobytes installation more secure by making certain attacks impossible to
exploit even if a vulnerability is found, binaries are hardened by default. exploit even if a vulnerability is found, binaries are hardened by default.
This can be disabled with: This can be disabled with:
@ -212,7 +211,7 @@ Hardening enables the following features:
* Non-executable Stack * Non-executable Stack
If the stack is executable then trivial stack based buffer overflow exploits are possible if If the stack is executable then trivial stack based buffer overflow exploits are possible if
vulnerable buffers are found. By default, NeoBytes Core should be built with a non-executable stack vulnerable buffers are found. By default, Neobytes Core should be built with a non-executable stack
but if one of the libraries it uses asks for an executable stack or someone makes a mistake but if one of the libraries it uses asks for an executable stack or someone makes a mistake
and uses a compiler extension which requires an executable stack, it will silently build an and uses a compiler extension which requires an executable stack, it will silently build an
executable without the non-executable stack protection. executable without the non-executable stack protection.
@ -228,7 +227,7 @@ Hardening enables the following features:
Disable-wallet mode Disable-wallet mode
-------------------- --------------------
When the intention is to run only a P2P node without a wallet, NeoBytes Core may be compiled in When the intention is to run only a P2P node without a wallet, Neobytes Core may be compiled in
disable-wallet mode with: disable-wallet mode with:
./configure --disable-wallet ./configure --disable-wallet

View File

@ -1,7 +1,7 @@
WINDOWS BUILD NOTES WINDOWS BUILD NOTES
==================== ====================
Some notes on how to build NeoBytes Core for Windows. Some notes on how to build Neobytes Core for Windows.
Most developers use cross-compilation from Ubuntu to build executables for Most developers use cross-compilation from Ubuntu to build executables for
Windows. This is also used to build the release binaries. Windows. This is also used to build the release binaries.

View File

@ -119,7 +119,7 @@ that run in -regtest mode.
**DEBUG_LOCKORDER** **DEBUG_LOCKORDER**
NeoBytes Core is a multithreaded application, and deadlocks or other multithreading bugs Neobytes Core is a multithreaded application, and deadlocks or other multithreading bugs
can be very difficult to track down. Compiling with -DDEBUG_LOCKORDER (configure can be very difficult to track down. Compiling with -DDEBUG_LOCKORDER (configure
CXXFLAGS="-DDEBUG_LOCKORDER -g") inserts run-time checks to keep track of which locks CXXFLAGS="-DDEBUG_LOCKORDER -g") inserts run-time checks to keep track of which locks
are held, and adds warnings to the debug.log file if inconsistencies are detected. are held, and adds warnings to the debug.log file if inconsistencies are detected.
@ -154,7 +154,7 @@ Threads
- ThreadMapPort : Universal plug-and-play startup/shutdown - ThreadMapPort : Universal plug-and-play startup/shutdown
- ThreadSocketHandler : Sends/Receives data from peers on port 11427. - ThreadSocketHandler : Sends/Receives data from peers on port 1428.
- ThreadOpenAddedConnections : Opens network connections to added nodes. - ThreadOpenAddedConnections : Opens network connections to added nodes.
@ -166,7 +166,7 @@ Threads
- ThreadFlushWalletDB : Close the wallet.dat file if it hasn't been used in 500ms. - ThreadFlushWalletDB : Close the wallet.dat file if it hasn't been used in 500ms.
- ThreadRPCServer : Remote procedure call handler, listens on port 11426 for connections and services them. - ThreadRPCServer : Remote procedure call handler, listens on port 1427 for connections and services them.
- BitcoinMiner : Generates coins (if wallet is enabled). - BitcoinMiner : Generates coins (if wallet is enabled).
@ -180,7 +180,7 @@ Ignoring IDE/editor files
In closed-source environments in which everyone uses the same IDE it is common In closed-source environments in which everyone uses the same IDE it is common
to add temporary files it produces to the project-wide `.gitignore` file. to add temporary files it produces to the project-wide `.gitignore` file.
However, in open source software such as NeoBytes Core, where everyone uses However, in open source software such as Neobytes Core, where everyone uses
their own editors/IDE/tools, it is less common. Only you know what files your their own editors/IDE/tools, it is less common. Only you know what files your
editor produces and this may change from version to version. The canonical way editor produces and this may change from version to version. The canonical way
to do this is thus to create your local gitignore. Add this to `~/.gitconfig`: to do this is thus to create your local gitignore. Add this to `~/.gitconfig`:
@ -210,9 +210,9 @@ Development guidelines
============================ ============================
A few non-style-related recommendations for developers, as well as points to A few non-style-related recommendations for developers, as well as points to
pay attention to for reviewers of NeoBytes Core code. pay attention to for reviewers of Neobytes Core code.
General NeoBytes Core General Neobytes Core
---------------------- ----------------------
- New features should be exposed on RPC first, then can be made available in the GUI - New features should be exposed on RPC first, then can be made available in the GUI
@ -323,7 +323,7 @@ Strings and formatting
- For `strprintf`, `LogPrint`, `LogPrintf` formatting characters don't need size specifiers - For `strprintf`, `LogPrint`, `LogPrintf` formatting characters don't need size specifiers
- *Rationale*: NeoBytes Core uses tinyformat, which is type safe. Leave them out to avoid confusion - *Rationale*: Neobytes Core uses tinyformat, which is type safe. Leave them out to avoid confusion
Threads and synchronization Threads and synchronization
---------------------------- ----------------------------

View File

@ -1,12 +1,12 @@
Expectations for DNS Seed operators Expectations for DNS Seed operators
==================================== ====================================
NeoBytes Core attempts to minimize the level of trust in DNS seeds, Neobytes Core attempts to minimize the level of trust in DNS seeds,
but DNS seeds still pose a small amount of risk for the network. but DNS seeds still pose a small amount of risk for the network.
As such, DNS seeds must be run by entities which have some minimum As such, DNS seeds must be run by entities which have some minimum
level of trust within the NeoBytes community. level of trust within the Neobytes community.
Other implementations of NeoBytes software may also use the same Other implementations of Neobytes software may also use the same
seeds and may be more exposed. In light of this exposure, this seeds and may be more exposed. In light of this exposure, this
document establishes some basic expectations for operating dnsseeds. document establishes some basic expectations for operating dnsseeds.
@ -16,7 +16,7 @@ and not sell or transfer control of the DNS seed. Any hosting services
contracted by the operator are equally expected to uphold these expectations. contracted by the operator are equally expected to uphold these expectations.
1. The DNS seed results must consist exclusively of fairly selected and 1. The DNS seed results must consist exclusively of fairly selected and
functioning NeoBytes nodes from the public network to the best of the functioning Neobytes nodes from the public network to the best of the
operator's understanding and capability. operator's understanding and capability.
2. For the avoidance of doubt, the results may be randomized but must not 2. For the avoidance of doubt, the results may be randomized but must not
@ -26,7 +26,7 @@ urgent technical necessity and disclosed.
3. The results may not be served with a DNS TTL of less than one minute. 3. The results may not be served with a DNS TTL of less than one minute.
4. Any logging of DNS queries should be only that which is necessary 4. Any logging of DNS queries should be only that which is necessary
for the operation of the service or urgent health of the NeoBytes for the operation of the service or urgent health of the Neobytes
network and must not be retained longer than necessary nor disclosed network and must not be retained longer than necessary nor disclosed
to any third party. to any third party.
@ -42,7 +42,7 @@ details of their operating practices.
related to the DNS seed operation. related to the DNS seed operation.
If these expectations cannot be satisfied the operator should If these expectations cannot be satisfied the operator should
discontinue providing services and contact the active NeoBytes discontinue providing services and contact the active Neobytes
Core development team as well as posting on Core development team as well as posting on
[bitcoin-dev](https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev). [bitcoin-dev](https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev).

View File

@ -1,9 +1,9 @@
Gitian building Gitian building
================ ================
*Setup instructions for a Gitian build of NeoBytes Core using a Debian VM or physical system.* *Setup instructions for a Gitian build of Neobytes Core using a Debian VM or physical system.*
Gitian is the deterministic build process that is used to build the NeoBytes Gitian is the deterministic build process that is used to build the Neobytes
Core executables. It provides a way to be reasonably sure that the Core executables. It provides a way to be reasonably sure that the
executables are really built from the source on GitHub. It also makes sure that executables are really built from the source on GitHub. It also makes sure that
the same, tested dependencies are used and statically built into the executable. the same, tested dependencies are used and statically built into the executable.
@ -26,7 +26,7 @@ Table of Contents
- [Installing Gitian](#installing-gitian) - [Installing Gitian](#installing-gitian)
- [Setting up the Gitian image](#setting-up-the-gitian-image) - [Setting up the Gitian image](#setting-up-the-gitian-image)
- [Getting and building the inputs](#getting-and-building-the-inputs) - [Getting and building the inputs](#getting-and-building-the-inputs)
- [Building NeoBytes Core](#building-neobytes-core) - [Building Neobytes Core](#building-neobytes-core)
- [Building an alternative repository](#building-an-alternative-repository) - [Building an alternative repository](#building-an-alternative-repository)
- [Signing externally](#signing-externally) - [Signing externally](#signing-externally)
- [Uploading signatures](#uploading-signatures) - [Uploading signatures](#uploading-signatures)
@ -300,7 +300,7 @@ cd ..
**Note**: When sudo asks for a password, enter the password for the user *debian* not for *root*. **Note**: When sudo asks for a password, enter the password for the user *debian* not for *root*.
Clone the git repositories for NeoBytes Core and Gitian. Clone the git repositories for Neobytes Core and Gitian.
```bash ```bash
git clone https://github.com/devrandom/gitian-builder.git git clone https://github.com/devrandom/gitian-builder.git
@ -339,16 +339,16 @@ Getting and building the inputs
-------------------------------- --------------------------------
Follow the instructions in [doc/release-process.md](release-process.md#fetch-and-build-inputs-first-time-or-when-dependency-versions-change) Follow the instructions in [doc/release-process.md](release-process.md#fetch-and-build-inputs-first-time-or-when-dependency-versions-change)
in the NeoBytes Core repository under 'Fetch and build inputs' to install sources which require in the Neobytes Core repository under 'Fetch and build inputs' to install sources which require
manual intervention. Also optionally follow the next step: 'Seed the Gitian sources cache manual intervention. Also optionally follow the next step: 'Seed the Gitian sources cache
and offline git repositories' which will fetch the remaining files required for building and offline git repositories' which will fetch the remaining files required for building
offline. offline.
Building NeoBytes Core Building Neobytes Core
---------------- ----------------
To build NeoBytes Core (for Linux, OS X and Windows) just follow the steps under 'perform To build Neobytes Core (for Linux, OS X and Windows) just follow the steps under 'perform
Gitian builds' in [doc/release-process.md](release-process.md#perform-gitian-builds) in the NeoBytes Core repository. Gitian builds' in [doc/release-process.md](release-process.md#perform-gitian-builds) in the Neobytes Core repository.
This may take some time as it will build all the dependencies needed for each descriptor. This may take some time as it will build all the dependencies needed for each descriptor.
These dependencies will be cached after a successful build to avoid rebuilding them when possible. These dependencies will be cached after a successful build to avoid rebuilding them when possible.

View File

@ -106,8 +106,8 @@ alias ipaddress:port masternode_private_key collateral_output collateral_output_
Example: Example:
``` ```
mn01 127.0.0.1:11427 93HaYBVUCYjEMeeH1Y4sBGLALQZE1Yc1K64xiqgX37tGBDQL8Xg 2bcd3c84c84f87eaa86e4e56834c92927a07f9e18718810b92e0d0324456a67c 0 mn01 127.0.0.1:1428 93HaYBVUCYjEMeeH1Y4sBGLALQZE1Yc1K64xiqgX37tGBDQL8Xg 2bcd3c84c84f87eaa86e4e56834c92927a07f9e18718810b92e0d0324456a67c 0
mn02 127.0.0.2:11427 93WaAb3htPJEV8E9aQcN23Jt97bPex7YvWfgMDTUdWJvzmrMqey aa9f1034d973377a5e733272c3d0eced1de22555ad45d6b24abadff8087948d4 0 mn02 127.0.0.2:1428 93WaAb3htPJEV8E9aQcN23Jt97bPex7YvWfgMDTUdWJvzmrMqey aa9f1034d973377a5e733272c3d0eced1de22555ad45d6b24abadff8087948d4 0
``` ```
## What about the neobytes.conf file? ## What about the neobytes.conf file?
@ -120,7 +120,7 @@ If you generated a new masternode private key, you will need to update the remot
Shut down the daemon and then edit the file. Shut down the daemon and then edit the file.
```nano .neobytescore/neobytes.conf``` ```nano .neobytes/neobytes.conf```
### Edit the masternodeprivkey ### Edit the masternodeprivkey
If you generated a new masternode private key, you will need to update the `masternodeprivkey` value in your remote `neobytes.conf` file. If you generated a new masternode private key, you will need to update the `masternodeprivkey` value in your remote `neobytes.conf` file.
@ -135,7 +135,7 @@ You can confirm that remote server is on the correct block by issuing
```neobytes-cli getinfo``` ```neobytes-cli getinfo```
and comparing with the official explorer at https://explorer.neobytes.org/chain/NeoBytes and comparing with the official explorer at https://explorer.neobytes.org/chain/Neobytes
### Local ### Local

View File

@ -13,7 +13,7 @@ can be found in the contrib/init folder.
1. Service User 1. Service User
--------------------------------- ---------------------------------
All three Linux startup configurations assume the existence of a "neobytescore" user All three Linux startup configurations assume the existence of a "neobytes" user
and group. They must be created before attempting to use these scripts. and group. They must be created before attempting to use these scripts.
The OS X configuration assumes neobytesd will be set up for the current user. The OS X configuration assumes neobytesd will be set up for the current user.
@ -54,23 +54,23 @@ see `contrib/debian/examples/neobytes.conf`.
All three configurations assume several paths that might need to be adjusted. All three configurations assume several paths that might need to be adjusted.
Binary: `/usr/bin/neobytesd` Binary: `/usr/bin/neobytesd`
Configuration file: `/etc/neobytescore/neobytes.conf` Configuration file: `/etc/neobytes/neobytes.conf`
Data directory: `/var/lib/neobytesd` Data directory: `/var/lib/neobytesd`
PID file: `/var/run/neobytesd/neobytesd.pid` (OpenRC and Upstart) or `/var/lib/neobytesd/neobytesd.pid` (systemd) PID file: `/var/run/neobytesd/neobytesd.pid` (OpenRC and Upstart) or `/var/lib/neobytesd/neobytesd.pid` (systemd)
Lock file: `/var/lock/subsys/neobytesd` (CentOS) Lock file: `/var/lock/subsys/neobytesd` (CentOS)
The configuration file, PID directory (if applicable) and data directory The configuration file, PID directory (if applicable) and data directory
should all be owned by the neobytescore user and group. It is advised for security should all be owned by the neobytes user and group. It is advised for security
reasons to make the configuration file and data directory only readable by the reasons to make the configuration file and data directory only readable by the
neobytescore user and group. Access to neobytes-cli and other neobytesd rpc clients neobytes user and group. Access to neobytes-cli and other neobytesd rpc clients
can then be controlled by group membership. can then be controlled by group membership.
3b) Mac OS X 3b) Mac OS X
Binary: `/usr/local/bin/neobytesd` Binary: `/usr/local/bin/neobytesd`
Configuration file: `~/Library/Application Support/NeoBytesCore/neobytes.conf` Configuration file: `~/Library/Application Support/Neobytes/neobytes.conf`
Data directory: `~/Library/Application Support/NeoBytesCore` Data directory: `~/Library/Application Support/Neobytes`
Lock file: `~/Library/Application Support/NeoBytesCore/.lock` Lock file: `~/Library/Application Support/Neobytes/.lock`
4. Installing Service Configuration 4. Installing Service Configuration
----------------------------------- -----------------------------------
@ -116,7 +116,7 @@ This Launch Agent will cause neobytesd to start whenever the user logs in.
NOTE: This approach is intended for those wanting to run neobytesd as the current user. NOTE: This approach is intended for those wanting to run neobytesd as the current user.
You will need to modify org.neobytes.neobytesd.plist if you intend to use it as a You will need to modify org.neobytes.neobytesd.plist if you intend to use it as a
Launch Daemon with a dedicated neobytescore user. Launch Daemon with a dedicated neobytes user.
5. Auto-respawn 5. Auto-respawn
----------------------------------- -----------------------------------

View File

@ -11,7 +11,7 @@ When a "Transaction Lock" occurs the hash of the related transaction is broadcas
* `zmqpubrawtxlock`: publishes the raw transaction when locked via InstantSend * `zmqpubrawtxlock`: publishes the raw transaction when locked via InstantSend
* `zmqpubhashtxlock`: publishes the transaction hash when locked via InstantSend * `zmqpubhashtxlock`: publishes the transaction hash when locked via InstantSend
This mechanism has been integrated into Bitcore-Node-NeoBytes which allows for notification to be broadcast through Insight API in one of two ways: This mechanism has been integrated into Bitcore-Node-Neobytes which allows for notification to be broadcast through Insight API in one of two ways:
* WebSocket: [https://github.com/neobytes-project/insight-api-neobytes#web-socket-api](https://github.com/neobytes-project/insight-api-neobytes#web-socket-api) * WebSocket: [https://github.com/neobytes-project/insight-api-neobytes#web-socket-api](https://github.com/neobytes-project/insight-api-neobytes#web-socket-api)
* API: [https://github.com/neobytes-project/insight-api-neobytes#instantsend-transactions](https://github.com/neobytes-project/insight-api-neobytes#instantsend-transactions) * API: [https://github.com/neobytes-project/insight-api-neobytes#instantsend-transactions](https://github.com/neobytes-project/insight-api-neobytes#instantsend-transactions)
@ -27,13 +27,13 @@ When a wallet InstantSend transaction is successfully locked a shell command pro
Details pertaining to an observed "Transaction Lock" can also be retrieved through RPC, its important however to understand the underlying mechanism. Details pertaining to an observed "Transaction Lock" can also be retrieved through RPC, its important however to understand the underlying mechanism.
By default, the NeoBytes Core daemon will launch using the following constant: By default, the Neobytes Core daemon will launch using the following constant:
``` ```
static const int DEFAULT_INSTANTSEND_DEPTH = 5; static const int DEFAULT_INSTANTSEND_DEPTH = 5;
``` ```
This value can be overridden by passing the following argument to the NeoBytes Core daemon: This value can be overridden by passing the following argument to the Neobytes Core daemon:
``` ```
-instantsenddepth=<n> -instantsenddepth=<n>

View File

@ -4,7 +4,7 @@ NOTE : 12.1 -- REWRITE
Masternode Budget API Masternode Budget API
======================= =======================
NeoBytes now supports full decentralized budgets that are paid directly from the blockchain via superblocks once per month. Neobytes now supports full decentralized budgets that are paid directly from the blockchain via superblocks once per month.
Budgets go through a series of stages before being paid: Budgets go through a series of stages before being paid:
* prepare - create a special transaction that destroys coins in order to make a proposal * prepare - create a special transaction that destroys coins in order to make a proposal

View File

@ -1,25 +1,25 @@
Masternode config Masternode config
======================= =======================
NeoBytes Core allows controlling multiple remote masternodes from a single wallet. The wallet needs to have a valid collateral output of 1000 coins for each masternode and uses a configuration file named `masternode.conf` which can be found in the following data directory (depending on your operating system): Neobytes Core allows controlling multiple remote masternodes from a single wallet. The wallet needs to have a valid collateral output of 1000 coins for each masternode and uses a configuration file named `masternode.conf` which can be found in the following data directory (depending on your operating system):
* Windows: %APPDATA%\NeoBytesCore\ * Windows: %APPDATA%\Neobytes\
* Mac OS: ~/Library/Application Support/NeoBytesCore/ * Mac OS: ~/Library/Application Support/Neobytes/
* Unix/Linux: ~/.neobytescore/ * Unix/Linux: ~/.neobytes/
`masternode.conf` is a space separated text file. Each line consists of an alias, IP address followed by port, masternode private key, collateral output transaction id and collateral output index. `masternode.conf` is a space separated text file. Each line consists of an alias, IP address followed by port, masternode private key, collateral output transaction id and collateral output index.
Example: Example:
``` ```
mn1 127.0.0.2:11427 93HaYBVUCYjEMeeH1Y4sBGLALQZE1Yc1K64xiqgX37tGBDQL8Xg 7603c20a05258c208b58b0a0d77603b9fc93d47cfa403035f87f3ce0af814566 0 mn1 127.0.0.2:11428 93HaYBVUCYjEMeeH1Y4sBGLALQZE1Yc1K64xiqgX37tGBDQL8Xg 7603c20a05258c208b58b0a0d77603b9fc93d47cfa403035f87f3ce0af814566 0
mn2 127.0.0.4:11427 92Da1aYg6sbenP6uwskJgEY2XWB5LwJ7bXRqc3UPeShtHWJDjDv 5d898e78244f3206e0105f421cdb071d95d111a51cd88eb5511fc0dbf4bfd95f 1 mn2 127.0.0.4:11428 92Da1aYg6sbenP6uwskJgEY2XWB5LwJ7bXRqc3UPeShtHWJDjDv 5d898e78244f3206e0105f421cdb071d95d111a51cd88eb5511fc0dbf4bfd95f 1
``` ```
_Note: IPs like 127.0.0.* are not allowed actually, we are using them here for explanatory purposes only. Make sure you have real reachable remote IPs in you `masternode.conf`._
In the example above: In the example above:
* the collateral of 1000 NBY for `mn1` is output `0` of transaction [7603c20a05258c208b58b0a0d77603b9fc93d47cfa403035f87f3ce0af814566](https://test.explorer.neobytes.org/tx/7603c20a05258c208b58b0a0d77603b9fc93d47cfa403035f87f3ce0af814566) * the collateral of 1000 NBY for `mn1` is output `0` of transaction [7603c20a05258c208b58b0a0d77603b9fc93d47cfa403035f87f3ce0af814566](https://test.explorer.neobytes.org/tx/7603c20a05258c208b58b0a0d77603b9fc93d47cfa403035f87f3ce0af814566)
* the collateral of 1000 NBY for `mn2` is output `1` of transaction [5d898e78244f3206e0105f421cdb071d95d111a51cd88eb5511fc0dbf4bfd95f](https://test.explorer.neobytes.org/tx/5d898e78244f3206e0105f421cdb071d95d111a51cd88eb5511fc0dbf4bfd95f) * the collateral of 1000 NBY for `mn2` is output `1` of transaction [5d898e78244f3206e0105f421cdb071d95d111a51cd88eb5511fc0dbf4bfd95f](https://test.explorer.neobytes.org/tx/5d898e78244f3206e0105f421cdb071d95d111a51cd88eb5511fc0dbf4bfd95f)
_Note: IPs like 127.0.0.* are not allowed actually, we are using them here for explanatory purposes only. Make sure you have real reachable remote IPs in you `masternode.conf`._
The following RPC commands are available (type `help masternode` in Console for more info): The following RPC commands are available (type `help masternode` in Console for more info):
* list-conf * list-conf
* start-alias \<alias\> * start-alias \<alias\>

View File

@ -3,7 +3,7 @@ Reduce Traffic
Some node operators need to deal with bandwidth caps imposed by their ISPs. Some node operators need to deal with bandwidth caps imposed by their ISPs.
By default, NeoBytes Core allows up to 125 connections to different peers, 8 of By default, Neobytes Core allows up to 125 connections to different peers, 8 of
which are outbound. You can therefore, have at most 117 inbound connections. which are outbound. You can therefore, have at most 117 inbound connections.
The default settings can result in relatively significant traffic consumption. The default settings can result in relatively significant traffic consumption.

View File

@ -1,4 +1,4 @@
NeoBytes Core version 0.12.1 is now available from: Neobytes Core version 0.12.1 is now available from:
<https://github.com/neobytes-project/neobytes/releases> <https://github.com/neobytes-project/neobytes/releases>
@ -9,25 +9,6 @@ Please report bugs using the issue tracker at github:
<https://github.com/neobytes-project/neobytes/issues> <https://github.com/neobytes-project/neobytes/issues>
Upgrading and downgrading
=========================
How to Upgrade
--------------
If you are running an older version, shut it down. Wait until it has completely
shut down (which might take a few minutes for older versions), then run the
installer (on Windows) or just copy over /Applications/Desire-Qt (on Mac) or
desired/desire-qt (on Linux). Because of the per-UTXO fix (see below) there is a
one-time database upgrade operation, so expect a slightly longer startup time on
the first run.
Downgrade warning
-----------------
Compatibility
==============
Notable changes Notable changes
=============== ===============
@ -93,6 +74,15 @@ Credits
Thanks to everyone who directly contributed to this release: Thanks to everyone who directly contributed to this release:
As well as everyone that helped translating. As well as everyone that helped translating on [Transifex](https://www.transifex.com/projects/p/bitcoin/).
NeoBytes Core tree 0.12.x was a fork of Dash Core tree 0.12.x Neobytes Core tree 0.12.x was a fork of Dash Core tree 0.12.
These release are considered obsolete. Old changelogs can be found here:
- [v0.12.0](release-notes/dash/release-notes-0.12.0.md) released ???/??/2015
- [v0.11.2](release-notes/dash/release-notes-0.11.2.md) released Mar/25/2015
- [v0.11.1](release-notes/dash/release-notes-0.11.1.md) released Feb/10/2015
- [v0.11.0](release-notes/dash/release-notes-0.11.0.md) released Jan/15/2015
- [v0.10.x](release-notes/dash/release-notes-0.10.0.md) released Sep/25/2014
- [v0.9.x](release-notes/dash/release-notes-0.9.0.md) released Mar/13/2014

View File

@ -21,8 +21,6 @@ Darkcoin Core:
- Defined BIP32 (HD) address versions to start with `drkp`/`drkv` (`DRKP`/`DRKV` - Defined BIP32 (HD) address versions to start with `drkp`/`drkv` (`DRKP`/`DRKV`
for testnet) for testnet)
- Adapted BIP44 coin type `5` for Darkcoin (0x80000005) as defined in SLIP-0044 - Adapted BIP44 coin type `5` for Darkcoin (0x80000005) as defined in SLIP-0044
- Added new units: `duffs` (1 / 100.000.000 DRK)
- Added units for testnet: tDRK, mtDRK, utDRK, tduffs
- Added new DNS seed from masternode.io - Added new DNS seed from masternode.io
- Fixed wallet locking after sending coins - Fixed wallet locking after sending coins
- Add `-regtest` mode, similar to testnet but private with instant block - Add `-regtest` mode, similar to testnet but private with instant block

View File

@ -405,9 +405,9 @@ arbitrary TCP connections inside SSL. On e.g. Ubuntu it can be installed with:
sudo apt-get install stunnel4 sudo apt-get install stunnel4
Then, to tunnel a SSL connection on 28332 to a RPC server bound on localhost on port 18332 do: Then, to tunnel a SSL connection on 21427 to a RPC server bound on localhost on port 11427 do:
stunnel -d 28332 -r 127.0.0.1:18332 -p stunnel.pem -P '' stunnel -d 21427 -r 127.0.0.1:11427 -p stunnel.pem -P ''
It can also be set up system-wide in inetd style. It can also be set up system-wide in inetd style.
@ -425,8 +425,8 @@ caching. A sample config for apache2 could look like:
SSLCertificateKeyFile /etc/apache2/ssl/server.key SSLCertificateKeyFile /etc/apache2/ssl/server.key
<Location /bitcoinrpc> <Location /bitcoinrpc>
ProxyPass http://127.0.0.1:8332/ ProxyPass http://127.0.0.1:1427/
ProxyPassReverse http://127.0.0.1:8332/ ProxyPassReverse http://127.0.0.1:1427/
# optional enable digest auth # optional enable digest auth
# AuthType Digest # AuthType Digest
# ... # ...
@ -760,7 +760,7 @@ git merge commit are mentioned.
- #6061 `eba2f06` Separate Consensus::CheckTxInputs and GetSpendHeight in CheckInputs (Jorge Timón) - #6061 `eba2f06` Separate Consensus::CheckTxInputs and GetSpendHeight in CheckInputs (Jorge Timón)
- #5994 `786ed11` detach wallet from miner (Jonas Schnelli) - #5994 `786ed11` detach wallet from miner (Jonas Schnelli)
- #6387 `11576a5` [bitcoin-cli] improve error output (Jonas Schnelli) - #6387 `11576a5` [bitcoin-cli] improve error output (Jonas Schnelli)
- #6401 `6db53b4` Add BITCOIND_SIGTERM_TIMEOUT to OpenRC init scripts (Florian Schmaus) - #6401 `6db53b4` Add NEOBYTESD_SIGTERM_TIMEOUT to OpenRC init scripts (Florian Schmaus)
- #6430 `b01981e` doc: add documentation for shared library libbitcoinconsensus (Braydon Fuller) - #6430 `b01981e` doc: add documentation for shared library libbitcoinconsensus (Braydon Fuller)
- #6372 `dcc495e` Update Linearize tool to support Windows paths; fix variable scope; update README and example configuration (Paul Georgiou) - #6372 `dcc495e` Update Linearize tool to support Windows paths; fix variable scope; update README and example configuration (Paul Georgiou)
- #6453 `8fe5cce` Separate core memory usage computation in core_memusage.h (Pieter Wuille) - #6453 `8fe5cce` Separate core memory usage computation in core_memusage.h (Pieter Wuille)

View File

@ -15,7 +15,7 @@ Check out the source code in the following directory hierarchy.
git clone https://github.com/devrandom/gitian-builder.git git clone https://github.com/devrandom/gitian-builder.git
git clone https://github.com/neobytes-project/neobytes.git git clone https://github.com/neobytes-project/neobytes.git
###NeoBytes Core maintainers/release engineers, update (commit) version in sources ###Neobytes Core maintainers/release engineers, update (commit) version in sources
pushd ./neobytes pushd ./neobytes
contrib/verifysfbinaries/verify.sh contrib/verifysfbinaries/verify.sh
@ -86,7 +86,7 @@ NOTE: Offline builds must use the --url flag to ensure Gitian fetches only from
``` ```
The gbuild invocations below <b>DO NOT DO THIS</b> by default. The gbuild invocations below <b>DO NOT DO THIS</b> by default.
###Build and sign NeoBytes Core for Linux, Windows, and OS X: ###Build and sign Neobytes Core for Linux, Windows, and OS X:
./bin/gbuild --commit neobytes=v${VERSION} ../neobytes/contrib/gitian-descriptors/gitian-linux.yml ./bin/gbuild --commit neobytes=v${VERSION} ../neobytes/contrib/gitian-descriptors/gitian-linux.yml
./bin/gsign --signer $SIGNER --release ${VERSION}-linux --destination ../gitian.sigs/ ../neobytes/contrib/gitian-descriptors/gitian-linux.yml ./bin/gsign --signer $SIGNER --release ${VERSION}-linux --destination ../gitian.sigs/ ../neobytes/contrib/gitian-descriptors/gitian-linux.yml
@ -182,21 +182,21 @@ rm SHA256SUMS
(the digest algorithm is forced to sha256 to avoid confusion of the `Hash:` header that GPG adds with the SHA256 used for the files) (the digest algorithm is forced to sha256 to avoid confusion of the `Hash:` header that GPG adds with the SHA256 used for the files)
Note: check that SHA256SUMS itself doesn't end up in SHA256SUMS, which is a spurious/nonsensical entry. Note: check that SHA256SUMS itself doesn't end up in SHA256SUMS, which is a spurious/nonsensical entry.
- Upload zips and installers, as well as `SHA256SUMS.asc` from last step, to the neobytes.org server - Upload zips and installers, as well as `SHA256SUMS.asc` from last step, to the neobytes.network server
- Update neobytes.org - Update neobytes.network
- Announce the release: - Announce the release:
- Release on NeoBytes forum: https://www.neobytes.org/forum/topic/official-announcements.54/ - Release on Neobytes forum: https://www.neobytes.network/
- NeoBytes-development mailing list - Neobytes-development mailing list
- Update title of #neobytes-project on Freenode IRC - Update title of #neobytes-project on Freenode IRC
- Optionally reddit /r/neobytes, ... but this will usually sort out itself - Optionally reddit /r/neobytes, ... but this will usually sort out itself
- Notify flare so that he can start building [the PPAs](https://launchpad.net/~neobytes.org/+archive/ubuntu/neobytes) - Notify flare so that he can start building [the PPAs](https://launchpad.net/~neobytes.network/+archive/ubuntu/neobytes)
- Add release notes for the new version to the directory `doc/release-notes` in git master - Add release notes for the new version to the directory `doc/release-notes` in git master

View File

@ -1,7 +1,7 @@
TOR SUPPORT IN NEOBYTES CORE TOR SUPPORT IN NEOBYTES CORE
============================ ============================
It is possible to run NeoBytes Core as a Tor hidden service, and connect to such services. It is possible to run Neobytes Core as a Tor hidden service, and connect to such services.
The following directions assume you have a Tor proxy running on port 9050. Many The following directions assume you have a Tor proxy running on port 9050. Many
distributions default to having a SOCKS proxy listening on port 9050, but others distributions default to having a SOCKS proxy listening on port 9050, but others
@ -10,10 +10,10 @@ port. See [Tor Project FAQ:TBBSocksPort](https://www.torproject.org/docs/faq.htm
for how to properly configure Tor. for how to properly configure Tor.
1. Run NeoBytes Core behind a Tor proxy 1. Run Neobytes Core behind a Tor proxy
--------------------------------------- ---------------------------------------
The first step is running NeoBytes Core behind a Tor proxy. This will already make all The first step is running Neobytes Core behind a Tor proxy. This will already make all
outgoing connections be anonymized, but more is possible. outgoing connections be anonymized, but more is possible.
-proxy=ip:port Set the proxy server. If SOCKS5 is selected (default), this proxy -proxy=ip:port Set the proxy server. If SOCKS5 is selected (default), this proxy
@ -44,24 +44,24 @@ In a typical situation, this suffices to run behind a Tor proxy:
./neobytesd -proxy=127.0.0.1:9050 ./neobytesd -proxy=127.0.0.1:9050
2. Run a NeoBytes Core hidden server 2. Run a Neobytes Core hidden server
------------------------------------ ------------------------------------
If you configure your Tor system accordingly, it is possible to make your node also If you configure your Tor system accordingly, it is possible to make your node also
reachable from the Tor network. Add these lines to your /etc/tor/torrc (or equivalent reachable from the Tor network. Add these lines to your /etc/tor/torrc (or equivalent
config file): config file):
HiddenServiceDir /var/lib/tor/neobytecore-service/ HiddenServiceDir /var/lib/tor/neobytes-service/
HiddenServicePort 11427 127.0.0.1:11427 HiddenServicePort 1428 127.0.0.1:1428
HiddenServicePort 12427 127.0.0.1:12427 HiddenServicePort 11428 127.0.0.1:11428
The directory can be different of course, but (both) port numbers should be equal to The directory can be different of course, but (both) port numbers should be equal to
your neobytesd's P2P listen port (11427 by default). your neobytesd's P2P listen port (1428 by default).
-externalip=X You can tell NeoBytes Core about its publicly reachable address using -externalip=X You can tell Neobytes Core about its publicly reachable address using
this option, and this can be a .onion address. Given the above this option, and this can be a .onion address. Given the above
configuration, you can find your onion address in configuration, you can find your onion address in
/var/lib/tor/neobytescore-service/hostname. Onion addresses are given /var/lib/tor/neobytes-service/hostname. Onion addresses are given
preference for your node to advertise itself with, for connections preference for your node to advertise itself with, for connections
coming from unroutable addresses (such as 127.0.0.1, where the coming from unroutable addresses (such as 127.0.0.1, where the
Tor proxy typically runs). Tor proxy typically runs).
@ -91,7 +91,7 @@ as well, use `discover` instead:
./neobytesd ... -discover ./neobytesd ... -discover
and open port 11427 on your firewall (or use -upnp). and open port 1428 on your firewall (or use -upnp).
If you only want to use Tor to reach onion addresses, but not use it as a proxy If you only want to use Tor to reach onion addresses, but not use it as a proxy
for normal IPv4/IPv6 communication, use: for normal IPv4/IPv6 communication, use:
@ -99,7 +99,7 @@ for normal IPv4/IPv6 communication, use:
./neobytesd -onion=127.0.0.1:9050 -externalip=ssapp53tmftyjmjb.onion -discover ./neobytesd -onion=127.0.0.1:9050 -externalip=ssapp53tmftyjmjb.onion -discover
3. List of known NeoBytes Core Tor relays 3. List of known Neobytes Core Tor relays
----------------------------------------- -----------------------------------------
* [darkcoinie7ghp67.onion](http://darkcoinie7ghp67.onion/) * [darkcoinie7ghp67.onion](http://darkcoinie7ghp67.onion/)
@ -120,14 +120,14 @@ for normal IPv4/IPv6 communication, use:
Starting with Tor version 0.2.7.1 it is possible, through Tor's control socket Starting with Tor version 0.2.7.1 it is possible, through Tor's control socket
API, to create and destroy 'ephemeral' hidden services programmatically. API, to create and destroy 'ephemeral' hidden services programmatically.
NeoBytes Core has been updated to make use of this. Neobytes Core has been updated to make use of this.
This means that if Tor is running (and proper authorization is available), This means that if Tor is running (and proper authorization is available),
NeoBytes Core automatically creates a hidden service to listen on, without Neobytes Core automatically creates a hidden service to listen on, without
manual configuration. This will positively affect the number of available manual configuration. This will positively affect the number of available
.onion nodes. .onion nodes.
This new feature is enabled by default if NeoBytes Core is listening, and This new feature is enabled by default if Neobytes Core is listening, and
a connection to Tor can be made. It can be configured with the `-listenonion`, a connection to Tor can be made. It can be configured with the `-listenonion`,
`-torcontrol` and `-torpassword` settings. To show verbose debugging `-torcontrol` and `-torpassword` settings. To show verbose debugging
information, pass `-debug=tor`. information, pass `-debug=tor`.

View File

@ -1,14 +1,14 @@
Translations Translations
============ ============
The NeoBytes Core project has been designed to support multiple localisations. This makes adding new phrases, and completely new languages easily achievable. For managing all application translations, NeoBytes Core makes use of the Transifex online translation management tool. The Neobytes Core project has been designed to support multiple localisations. This makes adding new phrases, and completely new languages easily achievable. For managing all application translations, Neobytes Core makes use of the Transifex online translation management tool.
### Helping to translate (using Transifex) ### Helping to translate (using Transifex)
Transifex is setup to monitor the Github repo for updates, and when code containing new translations is found, Transifex will process any changes. It may take several hours after a pull-request has been merged, to appear in the Transifex web interface. Transifex is setup to monitor the Github repo for updates, and when code containing new translations is found, Transifex will process any changes. It may take several hours after a pull-request has been merged, to appear in the Transifex web interface.
Multiple language support is critical in assisting NeoBytess global adoption, and growth. One of NeoBytess greatest strengths is cross-boarder money transfers, any help making that easier is greatly appreciated. Multiple language support is critical in assisting Neobytess global adoption, and growth. One of Neobytess greatest strengths is cross-boarder money transfers, any help making that easier is greatly appreciated.
See the [Transifex NeoBytes project](https://www.transifex.com/projects/p/neobytes/) to assist in translations. You should also join the translation mailing list for announcements - see details below. See the [Transifex Neobytes project](https://www.transifex.com/projects/p/neobytes/) to assist in translations. You should also join the translation mailing list for announcements - see details below.
### Writing code with translations ### Writing code with translations
We use automated scripts to help extract translations in both Qt, and non-Qt source files. It is rarely necessary to manually edit the files in `src/qt/locale/`. The translation source files must adhere to the following format: We use automated scripts to help extract translations in both Qt, and non-Qt source files. It is rarely necessary to manually edit the files in `src/qt/locale/`. The translation source files must adhere to the following format:
@ -44,7 +44,7 @@ git commit
### Creating a Transifex account ### Creating a Transifex account
Visit the [Transifex Signup](https://www.transifex.com/signup/) page to create an account. Take note of your username and password, as they will be required to configure the command-line tool. Visit the [Transifex Signup](https://www.transifex.com/signup/) page to create an account. Take note of your username and password, as they will be required to configure the command-line tool.
You can find the NeoBytes translation project at [https://www.transifex.com/projects/p/neobytes/](https://www.transifex.com/projects/p/neobytes/). You can find the Neobytes translation project at [https://www.transifex.com/projects/p/neobytes/](https://www.transifex.com/projects/p/neobytes/).
### Installing the Transifex client command-line tool ### Installing the Transifex client command-line tool
The client it used to fetch updated translations. If you are having problems, or need more details, see [http://docs.transifex.com/developer/client/setup](http://docs.transifex.com/developer/client/setup) The client it used to fetch updated translations. If you are having problems, or need more details, see [http://docs.transifex.com/developer/client/setup](http://docs.transifex.com/developer/client/setup)

View File

@ -1,7 +1,7 @@
Translation Strings Policy Translation Strings Policy
=========================== ===========================
This document provides guidelines for internationalization of the NeoBytes Core software. This document provides guidelines for internationalization of the Neobytes Core software.
How to translate? How to translate?
------------------ ------------------
@ -85,10 +85,10 @@ In Qt code use tr's third argument for optional plurality. For example:
This adds `<numerusform>`s to the respective `.ts` file, which can be translated separately depending on the language. In English, this is simply: This adds `<numerusform>`s to the respective `.ts` file, which can be translated separately depending on the language. In English, this is simply:
<message numerus="yes"> <message numerus="yes">
<source>%n active connection(s) to NeoBytes network</source> <source>%n active connection(s) to Neobytes network</source>
<translation> <translation>
<numerusform>%n active connection to NeoBytes network</numerusform> <numerusform>%n active connection to Neobytes network</numerusform>
<numerusform>%n active connections to NeoBytes network</numerusform> <numerusform>%n active connections to Neobytes network</numerusform>
</translation> </translation>
</message> </message>

View File

@ -5,7 +5,7 @@ connections, inter-process communication, and shared-memory,
providing various message-oriented semantics such as publish/subscribe, providing various message-oriented semantics such as publish/subscribe,
request/reply, and push/pull. request/reply, and push/pull.
The NeoBytes Core daemon can be configured to act as a trusted "border The Neobytes Core daemon can be configured to act as a trusted "border
router", implementing the neobytes wire protocol and relay, making router", implementing the neobytes wire protocol and relay, making
consensus decisions, maintaining the local blockchain database, consensus decisions, maintaining the local blockchain database,
broadcasting locally generated transactions into the network, and broadcasting locally generated transactions into the network, and
@ -33,7 +33,7 @@ buffering or reassembly.
## Prerequisites ## Prerequisites
The ZeroMQ feature in NeoBytes Core requires ZeroMQ API version 4.x or The ZeroMQ feature in Neobytes Core requires ZeroMQ API version 4.x or
newer. Typically, it is packaged by distributions as something like newer. Typically, it is packaged by distributions as something like
*libzmq3-dev*. The C++ wrapper for ZeroMQ is *not* needed. *libzmq3-dev*. The C++ wrapper for ZeroMQ is *not* needed.
@ -68,7 +68,7 @@ address. The same address can be used in more than one notification.
For instance: For instance:
$ neobytesd -zmqpubhashtx=tcp://127.0.0.1:21426 \ $ neobytesd -zmqpubhashtx=tcp://127.0.0.1:21427 \
-zmqpubrawtx=ipc:///tmp/neobytesd.tx.raw -zmqpubrawtx=ipc:///tmp/neobytesd.tx.raw
Each PUB notification has a topic and body, where the header Each PUB notification has a topic and body, where the header
@ -104,5 +104,5 @@ retrieve the chain from the last known block to the new tip.
There are several possibilities that ZMQ notification can get lost There are several possibilities that ZMQ notification can get lost
during transmission depending on the communication type your are during transmission depending on the communication type your are
using. NeoBytesd appends an up-counting sequence number to each using. Neobytesd appends an up-counting sequence number to each
notification which allows listeners to detect lost notifications. notification which allows listeners to detect lost notifications.

View File

@ -3,9 +3,9 @@ exec_prefix=@exec_prefix@
libdir=@libdir@ libdir=@libdir@
includedir=@includedir@ includedir=@includedir@
Name: NeoBytes Core consensus library Name: Neobytes Core consensus library
Description: Library for the NeoBytes consensus protocol. Description: Library for the Neobytes consensus protocol.
Version: @PACKAGE_VERSION@ Version: @PACKAGE_VERSION@
Libs: -L${libdir} -lneobytesconsensus Libs: -L${libdir} -lbitcoinconsensus
Cflags: -I${includedir} Cflags: -I${includedir}
Requires.private: libcrypto Requires.private: libcrypto

View File

@ -1,7 +1,7 @@
The [pull-tester](/qa/pull-tester/) folder contains a script to call The [pull-tester](/qa/pull-tester/) folder contains a script to call
multiple tests from the [rpc-tests](/qa/rpc-tests/) folder. multiple tests from the [rpc-tests](/qa/rpc-tests/) folder.
Every pull request to the NeoBytes Core repository is built and run through Every pull request to the Neobytes Core repository is built and run through
the regression test suite. You can also run all or only individual the regression test suite. You can also run all or only individual
tests locally. tests locally.

View File

@ -118,7 +118,7 @@ testScripts = [
'p2p-fullblocktest.py', # NOTE: needs neobytes_hash to pass 'p2p-fullblocktest.py', # NOTE: needs neobytes_hash to pass
'blockchain.py', 'blockchain.py',
'disablewallet.py', 'disablewallet.py',
'sendheaders.py', # NOTE: needs neobytes_hashn to pass 'sendheaders.py', # NOTE: needs neobytes_hash to pass
'keypool.py', 'keypool.py',
'prioritise_transaction.py', 'prioritise_transaction.py',
'invalidblockrequest.py', # NOTE: needs neobytes_hash to pass 'invalidblockrequest.py', # NOTE: needs neobytes_hash to pass
@ -149,7 +149,7 @@ testScriptsExt = [
'p2p-acceptblock.py', # NOTE: needs neobytes_hash to pass 'p2p-acceptblock.py', # NOTE: needs neobytes_hash to pass
'mempool_packages.py', 'mempool_packages.py',
'maxuploadtarget.py', 'maxuploadtarget.py',
# 'replace-by-fee.py', # RBF is disabled in NeoBytes Core # 'replace-by-fee.py', # RBF is disabled in Neobytes Core
] ]
def runtests(): def runtests():

View File

@ -3,7 +3,7 @@
# Distributed under the MIT software license, see the accompanying # Distributed under the MIT software license, see the accompanying
# file COPYING or http://www.opensource.org/licenses/mit-license.php. # file COPYING or http://www.opensource.org/licenses/mit-license.php.
# #
DATADIR="@abs_top_builddir@/.neobytescore" DATADIR="@abs_top_builddir@/.neobytes"
rm -rf "$DATADIR" rm -rf "$DATADIR"
mkdir -p "$DATADIR"/regtest mkdir -p "$DATADIR"/regtest
touch "$DATADIR/regtest/debug.log" touch "$DATADIR/regtest/debug.log"

View File

@ -94,7 +94,7 @@ class ListTransactionsTest(BitcoinTestFramework):
{"category":"receive","amount":Decimal("0.1")}, {"category":"receive","amount":Decimal("0.1")},
{"txid":txid, "account" : "watchonly"} ) {"txid":txid, "account" : "watchonly"} )
# rbf is disabled in NeoBytes Core # rbf is disabled in Neobytes Core
# self.run_rbf_opt_in_test() # self.run_rbf_opt_in_test()
# Check that the opt-in-rbf flag works properly, for sent and received # Check that the opt-in-rbf flag works properly, for sent and received

View File

@ -71,7 +71,7 @@ class MerkleBlockTest(BitcoinTestFramework):
txid_unspent = txid1 if txin_spent["txid"] != txid1 else txid2 txid_unspent = txid1 if txin_spent["txid"] != txid1 else txid2
# We cant find the block from a fully-spent tx # We cant find the block from a fully-spent tx
# Doesn't apply to NeoBytes Core - we have txindex always on # Doesn't apply to Neobytes Core - we have txindex always on
# assert_raises(JSONRPCException, self.nodes[2].gettxoutproof, [txid_spent]) # assert_raises(JSONRPCException, self.nodes[2].gettxoutproof, [txid_spent])
# ...but we can if we specify the block # ...but we can if we specify the block
assert_equal(self.nodes[2].verifytxoutproof(self.nodes[2].gettxoutproof([txid_spent], blockhash)), [txid_spent]) assert_equal(self.nodes[2].verifytxoutproof(self.nodes[2].gettxoutproof([txid_spent], blockhash)), [txid_spent])

View File

@ -22,7 +22,7 @@ class RawTransactionsTest(BitcoinTestFramework):
self.nodes = start_nodes(3, self.options.tmpdir) self.nodes = start_nodes(3, self.options.tmpdir)
#connect to a local machine for debugging #connect to a local machine for debugging
#url = "http://bitcoinrpc:DP6DvqZtqXarpeNWyN3LZTFchCCyCUuHwNF7E8pX99x1@%s:%d" % ('127.0.0.1', 12426) #url = "http://bitcoinrpc:DP6DvqZtqXarpeNWyN3LZTFchCCyCUuHwNF7E8pX99x1@%s:%d" % ('127.0.0.1', 11427)
#proxy = AuthServiceProxy(url) #proxy = AuthServiceProxy(url)
#proxy.url = url # store URL on proxy for info #proxy.url = url # store URL on proxy for info
#self.nodes.append(proxy) #self.nodes.append(proxy)

View File

@ -1,4 +1,4 @@
# mininode.py - NeoBytes P2P network half-a-node # mininode.py - Neobytes P2P network half-a-node
# #
# Distributed under the MIT/X11 software license, see the accompanying # Distributed under the MIT/X11 software license, see the accompanying
# file COPYING or http://www.opensource.org/licenses/mit-license.php. # file COPYING or http://www.opensource.org/licenses/mit-license.php.
@ -35,7 +35,7 @@ import copy
import neobytes_hash import neobytes_hash
BIP0031_VERSION = 60000 BIP0031_VERSION = 60000
MY_VERSION = 70208 # current MIN_PEER_PROTO_VERSION MY_VERSION = 70103 # past bip-31 for ping/pong
MY_SUBVERSION = b"/python-mininode-tester:0.0.2/" MY_SUBVERSION = b"/python-mininode-tester:0.0.2/"
MAX_INV_SZ = 50000 MAX_INV_SZ = 50000
@ -1185,7 +1185,7 @@ class NodeConn(asyncore.dispatcher):
vt.addrFrom.ip = "0.0.0.0" vt.addrFrom.ip = "0.0.0.0"
vt.addrFrom.port = 0 vt.addrFrom.port = 0
self.send_message(vt, True) self.send_message(vt, True)
print 'MiniNode: Connecting to NeoBytes Node IP # ' + dstaddr + ':' \ print 'MiniNode: Connecting to Neobytes Node IP # ' + dstaddr + ':' \
+ str(dstport) + str(dstport)
try: try:

View File

@ -1,6 +1,6 @@
# Copyright (c) 2014-2015 The Bitcoin Core developers # Copyright (c) 2014-2015 The Bitcoin Core developers
# Copyright (c) 2014-2017 The Dash Core developers # Copyright (c) 2014-2017 The Dash Core developers
# Copyright (c) 2021-2024 The NeoBytes Core developers # Copyright (c) 2021-2024 The Neobytes Core developers
# Distributed under the MIT/X11 software license, see the accompanying # Distributed under the MIT/X11 software license, see the accompanying
# file COPYING or http://www.opensource.org/licenses/mit-license.php. # file COPYING or http://www.opensource.org/licenses/mit-license.php.

View File

@ -23,7 +23,7 @@ except ImportError:
class ZMQTest (BitcoinTestFramework): class ZMQTest (BitcoinTestFramework):
port = 21426 port = 21427
def setup_nodes(self): def setup_nodes(self):
self.zmqContext = zmq.Context() self.zmqContext = zmq.Context()

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

BIN
share/pixmaps/neobytes.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 114 KiB

View File

@ -11,13 +11,13 @@
</array> </array>
<key>CFBundleIconFile</key> <key>CFBundleIconFile</key>
<string>bitcoin.icns</string> <string>neobytes.icns</string>
<key>CFBundlePackageType</key> <key>CFBundlePackageType</key>
<string>APPL</string> <string>APPL</string>
<key>CFBundleGetInfoString</key> <key>CFBundleGetInfoString</key>
<string>@CLIENT_VERSION_MAJOR@.@CLIENT_VERSION_MINOR@.@CLIENT_VERSION_REVISION@, Copyright © 2009-@COPYRIGHT_YEAR@ The Bitcoin Core developers, 2021-@COPYRIGHT_YEAR@ The NeoBytes Core developers</string> <string>@CLIENT_VERSION_MAJOR@.@CLIENT_VERSION_MINOR@.@CLIENT_VERSION_REVISION@, Copyright © 2009-@COPYRIGHT_YEAR@ The Bitcoin Core developers, 2014-@COPYRIGHT_YEAR@ The Dash Core developers, 2021-@COPYRIGHT_NEOBYTES_YEAR@ The Neobytes Core developers</string>
<key>CFBundleShortVersionString</key> <key>CFBundleShortVersionString</key>
<string>@CLIENT_VERSION_MAJOR@.@CLIENT_VERSION_MINOR@.@CLIENT_VERSION_REVISION@</string> <string>@CLIENT_VERSION_MAJOR@.@CLIENT_VERSION_MINOR@.@CLIENT_VERSION_REVISION@</string>
@ -29,16 +29,16 @@
<string>????</string> <string>????</string>
<key>CFBundleExecutable</key> <key>CFBundleExecutable</key>
<string>NeoBytes-Qt</string> <string>Neobytes-Qt</string>
<key>CFBundleName</key> <key>CFBundleName</key>
<string>NeoBytes-Qt</string> <string>Neobytes-Qt</string>
<key>LSHasLocalizedDisplayName</key> <key>LSHasLocalizedDisplayName</key>
<true/> <true/>
<key>CFBundleIdentifier</key> <key>CFBundleIdentifier</key>
<string>org.neobytes.NeoBytes-Qt</string> <string>org.neobytes.Neobytes-Qt</string>
<key>CFBundleURLTypes</key> <key>CFBundleURLTypes</key>
<array> <array>
@ -46,7 +46,7 @@
<key>CFBundleTypeRole</key> <key>CFBundleTypeRole</key>
<string>Editor</string> <string>Editor</string>
<key>CFBundleURLName</key> <key>CFBundleURLName</key>
<string>org.neobytes.NeoBytesPayment</string> <string>org.neobytes.NeobytesPayment</string>
<key>CFBundleURLSchemes</key> <key>CFBundleURLSchemes</key>
<array> <array>
<string>neobytes</string> <string>neobytes</string>
@ -60,7 +60,7 @@
<key>UTTypeIdentifier</key> <key>UTTypeIdentifier</key>
<string>org.neobytes.paymentrequest</string> <string>org.neobytes.paymentrequest</string>
<key>UTTypeDescription</key> <key>UTTypeDescription</key>
<string>NeoBytes payment request</string> <string>Neobytes payment request</string>
<key>UTTypeConformsTo</key> <key>UTTypeConformsTo</key>
<array> <array>
<string>public.data</string> <string>public.data</string>

View File

@ -6,11 +6,11 @@ SetCompressor /SOLID lzma
# General Symbol Definitions # General Symbol Definitions
!define REGKEY "SOFTWARE\$(^Name)" !define REGKEY "SOFTWARE\$(^Name)"
!define VERSION @CLIENT_VERSION_MAJOR@.@CLIENT_VERSION_MINOR@.@CLIENT_VERSION_REVISION@ !define VERSION @CLIENT_VERSION_MAJOR@.@CLIENT_VERSION_MINOR@.@CLIENT_VERSION_REVISION@
!define COMPANY "NeoBytes Core project" !define COMPANY "Neobytes Core project"
!define URL https://www.neobytes.network/ !define URL https://www.neobytes.network/
# MUI Symbol Definitions # MUI Symbol Definitions
!define MUI_ICON "@abs_top_srcdir@/share/pixmaps/bitcoin.ico" !define MUI_ICON "@abs_top_srcdir@/share/pixmaps/neobytes.ico"
!define MUI_WELCOMEFINISHPAGE_BITMAP "@abs_top_srcdir@/share/pixmaps/nsis-wizard.bmp" !define MUI_WELCOMEFINISHPAGE_BITMAP "@abs_top_srcdir@/share/pixmaps/nsis-wizard.bmp"
!define MUI_HEADERIMAGE !define MUI_HEADERIMAGE
!define MUI_HEADERIMAGE_RIGHT !define MUI_HEADERIMAGE_RIGHT
@ -48,18 +48,18 @@ Var StartMenuGroup
!insertmacro MUI_LANGUAGE English !insertmacro MUI_LANGUAGE English
# Installer attributes # Installer attributes
OutFile @abs_top_srcdir@/neobytescore-${VERSION}-win@WINDOWS_BITS@-setup.exe OutFile @abs_top_srcdir@/neobytes-${VERSION}-win@WINDOWS_BITS@-setup.exe
!if "@WINDOWS_BITS@" == "64" !if "@WINDOWS_BITS@" == "64"
InstallDir $PROGRAMFILES64\NeoBytesCore InstallDir $PROGRAMFILES64\Neobytes
!else !else
InstallDir $PROGRAMFILES\NeoBytesCore InstallDir $PROGRAMFILES\Neobytes
!endif !endif
CRCCheck on CRCCheck on
XPStyle on XPStyle on
BrandingText " " BrandingText " "
ShowInstDetails show ShowInstDetails show
VIProductVersion ${VERSION}.@CLIENT_VERSION_BUILD@ VIProductVersion ${VERSION}.@CLIENT_VERSION_BUILD@
VIAddVersionKey ProductName "NeoBytes Core" VIAddVersionKey ProductName "Neobytes Core"
VIAddVersionKey ProductVersion "${VERSION}" VIAddVersionKey ProductVersion "${VERSION}"
VIAddVersionKey CompanyName "${COMPANY}" VIAddVersionKey CompanyName "${COMPANY}"
VIAddVersionKey CompanyWebsite "${URL}" VIAddVersionKey CompanyWebsite "${URL}"
@ -106,10 +106,10 @@ Section -post SEC0001
WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" UninstallString $INSTDIR\uninstall.exe WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" UninstallString $INSTDIR\uninstall.exe
WriteRegDWORD HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" NoModify 1 WriteRegDWORD HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" NoModify 1
WriteRegDWORD HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" NoRepair 1 WriteRegDWORD HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" NoRepair 1
WriteRegStr HKCR "neobytescore" "URL Protocol" "" WriteRegStr HKCR "neobytes" "URL Protocol" ""
WriteRegStr HKCR "neobytescore" "" "URL:NeoBytes" WriteRegStr HKCR "neobytes" "" "URL:Neobytes"
WriteRegStr HKCR "neobytescore\DefaultIcon" "" $INSTDIR\neobytes-qt.exe WriteRegStr HKCR "neobytes\DefaultIcon" "" $INSTDIR\neobytes-qt.exe
WriteRegStr HKCR "neobytescore\shell\open\command" "" '"$INSTDIR\neobytes-qt.exe" "%1"' WriteRegStr HKCR "neobytes\shell\open\command" "" '"$INSTDIR\neobytes-qt.exe" "%1"'
SectionEnd SectionEnd
# Macro for selecting uninstaller sections # Macro for selecting uninstaller sections
@ -139,7 +139,7 @@ Section -un.post UNSEC0001
DeleteRegKey HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" DeleteRegKey HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)"
Delete /REBOOTOK "$SMPROGRAMS\$StartMenuGroup\Uninstall $(^Name).lnk" Delete /REBOOTOK "$SMPROGRAMS\$StartMenuGroup\Uninstall $(^Name).lnk"
Delete /REBOOTOK "$SMPROGRAMS\$StartMenuGroup\$(^Name).lnk" Delete /REBOOTOK "$SMPROGRAMS\$StartMenuGroup\$(^Name).lnk"
Delete /REBOOTOK "$SMSTARTUP\NeoBytes.lnk" Delete /REBOOTOK "$SMSTARTUP\Neobytes.lnk"
Delete /REBOOTOK $INSTDIR\uninstall.exe Delete /REBOOTOK $INSTDIR\uninstall.exe
Delete /REBOOTOK $INSTDIR\debug.log Delete /REBOOTOK $INSTDIR\debug.log
Delete /REBOOTOK $INSTDIR\db.log Delete /REBOOTOK $INSTDIR\db.log
@ -147,7 +147,7 @@ Section -un.post UNSEC0001
DeleteRegValue HKCU "${REGKEY}" Path DeleteRegValue HKCU "${REGKEY}" Path
DeleteRegKey /IfEmpty HKCU "${REGKEY}\Components" DeleteRegKey /IfEmpty HKCU "${REGKEY}\Components"
DeleteRegKey /IfEmpty HKCU "${REGKEY}" DeleteRegKey /IfEmpty HKCU "${REGKEY}"
DeleteRegKey HKCR "neobytescore" DeleteRegKey HKCR "neobytes"
RmDir /REBOOTOK $SMPROGRAMS\$StartMenuGroup RmDir /REBOOTOK $SMPROGRAMS\$StartMenuGroup
RmDir /REBOOTOK $INSTDIR RmDir /REBOOTOK $INSTDIR
Push $R0 Push $R0

View File

@ -44,8 +44,8 @@ EXTRA_LIBRARIES += libbitcoin_zmq.a
endif endif
if BUILD_BITCOIN_LIBS if BUILD_BITCOIN_LIBS
lib_LTLIBRARIES = libneobytesconsensus.la lib_LTLIBRARIES = libbitcoinconsensus.la
LIBBITCOIN_CONSENSUS=libneobytesconsensus.la LIBBITCOIN_CONSENSUS=libbitcoinconsensus.la
else else
LIBBITCOIN_CONSENSUS= LIBBITCOIN_CONSENSUS=
endif endif
@ -228,7 +228,6 @@ libbitcoin_server_a_SOURCES = \
rpcrawtransaction.cpp \ rpcrawtransaction.cpp \
rpcserver.cpp \ rpcserver.cpp \
script/sigcache.cpp \ script/sigcache.cpp \
sendalert.cpp \
timedata.cpp \ timedata.cpp \
torcontrol.cpp \ torcontrol.cpp \
txdb.cpp \ txdb.cpp \
@ -297,9 +296,9 @@ crypto_libbitcoin_crypto_a_SOURCES = \
crypto/shavite.c \ crypto/shavite.c \
crypto/simd.c \ crypto/simd.c \
crypto/skein.c \ crypto/skein.c \
crypto/ripemd160.h \
crypto/neoscrypt.c \ crypto/neoscrypt.c \
crypto/neoscrypt.h \ crypto/neoscrypt.h \
crypto/ripemd160.h \
crypto/sha1.cpp \ crypto/sha1.cpp \
crypto/sha1.h \ crypto/sha1.h \
crypto/sha256.cpp \ crypto/sha256.cpp \
@ -454,10 +453,10 @@ neobytes_tx_LDADD = \
neobytes_tx_LDADD += $(BOOST_LIBS) $(CRYPTO_LIBS) neobytes_tx_LDADD += $(BOOST_LIBS) $(CRYPTO_LIBS)
# #
# neobytescoinconsensus library # # bitcoinconsensus library #
if BUILD_BITCOIN_LIBS if BUILD_BITCOIN_LIBS
include_HEADERS = script/neobytescoinconsensus.h include_HEADERS = script/bitcoinconsensus.h
libneobytesconsensus_la_SOURCES = \ libbitcoinconsensus_la_SOURCES = \
crypto/hmac_sha512.cpp \ crypto/hmac_sha512.cpp \
crypto/ripemd160.cpp \ crypto/ripemd160.cpp \
crypto/sha1.cpp \ crypto/sha1.cpp \
@ -466,20 +465,20 @@ libneobytesconsensus_la_SOURCES = \
hash.cpp \ hash.cpp \
primitives/transaction.cpp \ primitives/transaction.cpp \
pubkey.cpp \ pubkey.cpp \
script/neobytescoinconsensus.cpp \ script/bitcoinconsensus.cpp \
script/interpreter.cpp \ script/interpreter.cpp \
script/script.cpp \ script/script.cpp \
uint256.cpp \ uint256.cpp \
utilstrencodings.cpp utilstrencodings.cpp
if GLIBC_BACK_COMPAT if GLIBC_BACK_COMPAT
libneobytesconsensus_la_SOURCES += compat/glibc_compat.cpp libbitcoinconsensus_la_SOURCES += compat/glibc_compat.cpp
endif endif
libneobytesconsensus_la_LDFLAGS = $(AM_LDFLAGS) -no-undefined $(RELDFLAGS) libbitcoinconsensus_la_LDFLAGS = $(AM_LDFLAGS) -no-undefined $(RELDFLAGS)
libneobytesconsensus_la_LIBADD = $(LIBSECP256K1) libbitcoinconsensus_la_LIBADD = $(LIBSECP256K1)
libneobytesconsensus_la_CPPFLAGS = $(AM_CPPFLAGS) -I$(builddir)/obj -I$(srcdir)/secp256k1/include -DBUILD_BITCOIN_INTERNAL libbitcoinconsensus_la_CPPFLAGS = $(AM_CPPFLAGS) -I$(builddir)/obj -I$(srcdir)/secp256k1/include -DBUILD_BITCOIN_INTERNAL
libneobytesconsensus_la_CXXFLAGS = $(AM_CXXFLAGS) $(PIE_FLAGS) libbitcoinconsensus_la_CXXFLAGS = $(AM_CXXFLAGS) $(PIE_FLAGS)
endif endif
# #

View File

@ -58,8 +58,8 @@ EXTRA_LIBRARIES += libbitcoin_zmq.a
endif endif
if BUILD_BITCOIN_LIBS if BUILD_BITCOIN_LIBS
lib_LTLIBRARIES = libneobytesconsensus.la lib_LTLIBRARIES = libbitcoinconsensus.la
LIBBITCOIN_CONSENSUS=libneobytesconsensus.la LIBBITCOIN_CONSENSUS=libbitcoinconsensus.la
else else
LIBBITCOIN_CONSENSUS= LIBBITCOIN_CONSENSUS=
endif endif
@ -456,10 +456,10 @@ neobytes_tx_LDADD = \
neobytes_tx_LDADD += $(BOOST_LIBS) $(CRYPTO_LIBS) neobytes_tx_LDADD += $(BOOST_LIBS) $(CRYPTO_LIBS)
# #
# neobytescoinconsensus library # # bitcoinconsensus library #
if BUILD_BITCOIN_LIBS if BUILD_BITCOIN_LIBS
include_HEADERS = script/neobytescoinconsensus.h include_HEADERS = script/bitcoinconsensus.h
libneobytesconsensus_la_SOURCES = \ libbitcoinconsensus_la_SOURCES = \
crypto/hmac_sha512.cpp \ crypto/hmac_sha512.cpp \
crypto/ripemd160.cpp \ crypto/ripemd160.cpp \
crypto/sha1.cpp \ crypto/sha1.cpp \
@ -468,20 +468,20 @@ libneobytesconsensus_la_SOURCES = \
hash.cpp \ hash.cpp \
primitives/transaction.cpp \ primitives/transaction.cpp \
pubkey.cpp \ pubkey.cpp \
script/neobytescoinconsensus.cpp \ script/bitcoinconsensus.cpp \
script/interpreter.cpp \ script/interpreter.cpp \
script/script.cpp \ script/script.cpp \
uint256.cpp \ uint256.cpp \
utilstrencodings.cpp utilstrencodings.cpp
if GLIBC_BACK_COMPAT if GLIBC_BACK_COMPAT
libneobytesconsensus_la_SOURCES += compat/glibc_compat.cpp libbitcoinconsensus_la_SOURCES += compat/glibc_compat.cpp
endif endif
libneobytesconsensus_la_LDFLAGS = $(AM_LDFLAGS) -no-undefined $(RELDFLAGS) libbitcoinconsensus_la_LDFLAGS = $(AM_LDFLAGS) -no-undefined $(RELDFLAGS)
libneobytesconsensus_la_LIBADD = $(LIBSECP256K1) libbitcoinconsensus_la_LIBADD = $(LIBSECP256K1)
libneobytesconsensus_la_CPPFLAGS = $(AM_CPPFLAGS) -I$(builddir)/obj -I$(srcdir)/secp256k1/include -DBUILD_BITCOIN_INTERNAL libbitcoinconsensus_la_CPPFLAGS = $(AM_CPPFLAGS) -I$(builddir)/obj -I$(srcdir)/secp256k1/include -DBUILD_BITCOIN_INTERNAL
libneobytesconsensus_la_CXXFLAGS = $(AM_CXXFLAGS) $(PIE_FLAGS) libbitcoinconsensus_la_CXXFLAGS = $(AM_CXXFLAGS) $(PIE_FLAGS)
endif endif
# #

View File

@ -164,95 +164,56 @@ BITCOIN_QT_H = \
qt/winshutdownmonitor.h qt/winshutdownmonitor.h
RES_ICONS = \ RES_ICONS = \
qt/res/icons/bitcoin.ico \ qt/res/icons/neobytes.ico \
qt/res/icons/bitcoin.png \ qt/res/icons/neobytes.png \
qt/res/icons/neobytes/add.png \ qt/res/icons/default/add.png \
qt/res/icons/neobytes/address-book.png \ qt/res/icons/default/address-book.png \
qt/res/icons/neobytes/browse.png \ qt/res/icons/default/browse.png \
qt/res/icons/neobytes/clock1.png \ qt/res/icons/default/clock1.png \
qt/res/icons/neobytes/clock2.png \ qt/res/icons/default/clock2.png \
qt/res/icons/neobytes/clock3.png \ qt/res/icons/default/clock3.png \
qt/res/icons/neobytes/clock4.png \ qt/res/icons/default/clock4.png \
qt/res/icons/neobytes/clock5.png \ qt/res/icons/default/clock5.png \
qt/res/icons/neobytes/configure.png \ qt/res/icons/default/configure.png \
qt/res/icons/neobytes/connect0_16.png \ qt/res/icons/default/connect0_16.png \
qt/res/icons/neobytes/connect1_16.png \ qt/res/icons/default/connect1_16.png \
qt/res/icons/neobytes/connect2_16.png \ qt/res/icons/default/connect2_16.png \
qt/res/icons/neobytes/connect3_16.png \ qt/res/icons/default/connect3_16.png \
qt/res/icons/neobytes/connect4_16.png \ qt/res/icons/default/connect4_16.png \
qt/res/icons/neobytes/debugwindow.png \ qt/res/icons/default/debugwindow.png \
qt/res/icons/neobytes/edit.png \ qt/res/icons/default/drkblue_editpaste.png \
qt/res/icons/neobytes/editcopy.png \ qt/res/icons/default/drkblue_address-book.png \
qt/res/icons/neobytes/editpaste.png \ qt/res/icons/default/drkblue_editcopy.png \
qt/res/icons/neobytes/export.png \ qt/res/icons/default/drkblue_remove.png \
qt/res/icons/neobytes/eye.png \ qt/res/icons/default/edit.png \
qt/res/icons/neobytes/eye_minus.png \ qt/res/icons/default/editcopy.png \
qt/res/icons/neobytes/eye_plus.png \ qt/res/icons/default/editpaste.png \
qt/res/icons/neobytes/filesave.png \ qt/res/icons/default/export.png \
qt/res/icons/neobytes/history.png \ qt/res/icons/default/eye.png \
qt/res/icons/neobytes/key.png \ qt/res/icons/default/eye_minus.png \
qt/res/icons/neobytes/lock_closed.png \ qt/res/icons/default/eye_plus.png \
qt/res/icons/neobytes/lock_open.png \ qt/res/icons/default/filesave.png \
qt/res/icons/neobytes/masternodes.png \ qt/res/icons/default/history.png \
qt/res/icons/neobytes/overview.png \ qt/res/icons/default/key.png \
qt/res/icons/neobytes/quit.png \ qt/res/icons/default/lock_closed.png \
qt/res/icons/neobytes/receive.png \ qt/res/icons/default/lock_open.png \
qt/res/icons/neobytes/remove.png \ qt/res/icons/default/masternodes.png \
qt/res/icons/neobytes/send.png \ qt/res/icons/default/overview.png \
qt/res/icons/neobytes/synced.png \ qt/res/icons/default/quit.png \
qt/res/icons/neobytes/transaction0.png \ qt/res/icons/default/receive.png \
qt/res/icons/neobytes/transaction2.png \ qt/res/icons/default/remove.png \
qt/res/icons/neobytes/transaction_conflicted.png \ qt/res/icons/default/send.png \
qt/res/icons/neobytes/tx_inout.png \ qt/res/icons/default/synced.png \
qt/res/icons/neobytes/tx_input.png \ qt/res/icons/default/transaction0.png \
qt/res/icons/neobytes/tx_output.png \ qt/res/icons/default/transaction2.png \
qt/res/icons/neobytes/tx_mined.png \ qt/res/icons/default/transaction_conflicted.png \
qt/res/icons/neobytes/about.png \ qt/res/icons/default/tx_inout.png \
qt/res/icons/neobytes/about_qt.png \ qt/res/icons/default/tx_input.png \
qt/res/icons/neobytes/verify.png \ qt/res/icons/default/tx_output.png \
qt/res/icons/light/add.png \ qt/res/icons/default/tx_mined.png \
qt/res/icons/light/address-book.png \ qt/res/icons/default/about.png \
qt/res/icons/light/browse.png \ qt/res/icons/default/about_qt.png \
qt/res/icons/light/clock1.png \ qt/res/icons/default/verify.png
qt/res/icons/light/clock2.png \
qt/res/icons/light/clock3.png \
qt/res/icons/light/clock4.png \
qt/res/icons/light/clock5.png \
qt/res/icons/light/configure.png \
qt/res/icons/light/connect0_16.png \
qt/res/icons/light/connect1_16.png \
qt/res/icons/light/connect2_16.png \
qt/res/icons/light/connect3_16.png \
qt/res/icons/light/connect4_16.png \
qt/res/icons/light/debugwindow.png \
qt/res/icons/light/edit.png \
qt/res/icons/light/editcopy.png \
qt/res/icons/light/editpaste.png \
qt/res/icons/light/export.png \
qt/res/icons/light/eye.png \
qt/res/icons/light/eye_minus.png \
qt/res/icons/light/eye_plus.png \
qt/res/icons/light/filesave.png \
qt/res/icons/light/history.png \
qt/res/icons/light/key.png \
qt/res/icons/light/lock_closed.png \
qt/res/icons/light/lock_open.png \
qt/res/icons/light/masternodes.png \
qt/res/icons/light/overview.png \
qt/res/icons/light/quit.png \
qt/res/icons/light/receive.png \
qt/res/icons/light/remove.png \
qt/res/icons/light/send.png \
qt/res/icons/light/synced.png \
qt/res/icons/light/transaction0.png \
qt/res/icons/light/transaction2.png \
qt/res/icons/light/transaction_conflicted.png \
qt/res/icons/light/tx_inout.png \
qt/res/icons/light/tx_input.png \
qt/res/icons/light/tx_output.png \
qt/res/icons/light/tx_mined.png \
qt/res/icons/light/about.png \
qt/res/icons/light/about_qt.png
BITCOIN_QT_CPP = \ BITCOIN_QT_CPP = \
qt/bantablemodel.cpp \ qt/bantablemodel.cpp \
@ -314,36 +275,22 @@ BITCOIN_QT_CPP += \
endif endif
RES_IMAGES = \ RES_IMAGES = \
qt/res/images/neobytes/about.png \ qt/res/images/default/about.png \
qt/res/images/neobytes/splash.png \ qt/res/images/default/checked.png \
qt/res/images/neobytes/splash_testnet.png \ qt/res/images/default/downArrow.png \
qt/res/images/neobytes/neobytes_logo_horizontal.png \ qt/res/images/default/downArrow_small.png \
qt/res/images/neobytes/unchecked.png \ qt/res/images/default/leftArrow_small.png \
qt/res/images/neobytes/checked.png \ qt/res/images/default/logo_horizontal.png \
qt/res/images/neobytes/downArrow.png \ qt/res/images/default/qtreeview_selected.png \
qt/res/images/neobytes/downArrow_small.png \ qt/res/images/default/rightArrow_small.png \
qt/res/images/neobytes/upArrow_small.png \ qt/res/images/default/splash.png \
qt/res/images/neobytes/leftArrow_small.png \ qt/res/images/default/splash_testnet.png \
qt/res/images/neobytes/rightArrow_small.png \ qt/res/images/default/unchecked.png \
qt/res/images/neobytes/qtreeview_selected.png \ qt/res/images/default/upArrow_small.png \
qt/res/images/neobytes/walletFrame_bg.png \ qt/res/images/default/walletFrame_bg.png
qt/res/images/light/about.png \
qt/res/images/light/splash.png \
qt/res/images/light/splash_testnet.png \
qt/res/images/light/neobytes_logo_horizontal.png \
qt/res/images/light/unchecked.png \
qt/res/images/light/checked.png \
qt/res/images/light/downArrow.png \
qt/res/images/light/downArrow_small.png \
qt/res/images/light/upArrow_small.png \
qt/res/images/light/leftArrow_small.png \
qt/res/images/light/rightArrow_small.png \
qt/res/images/light/qtreeview_selected.png \
qt/res/images/light/walletFrame_bg.png
RES_CSS = \ RES_CSS = \
qt/res/css/neobytes.css \ qt/res/css/default.css
qt/res/css/light.css
RES_MOVIES = $(wildcard qt/res/movies/spinner-*.png) RES_MOVIES = $(wildcard qt/res/movies/spinner-*.png)

View File

@ -1,16 +1,13 @@
bin_PROGRAMS += qt/test/test_neobytes-qt bin_PROGRAMS += qt/test/test_neobytes-qt
TESTS += qt/test/test_neobytes-qt TESTS += qt/test/test_neobytes-qt
TEST_QT_MOC_CPP = \ TEST_QT_MOC_CPP = qt/test/moc_uritests.cpp
qt/test/moc_compattests.cpp \
qt/test/moc_uritests.cpp
if ENABLE_WALLET if ENABLE_WALLET
TEST_QT_MOC_CPP += qt/test/moc_paymentservertests.cpp TEST_QT_MOC_CPP += qt/test/moc_paymentservertests.cpp
endif endif
TEST_QT_H = \ TEST_QT_H = \
qt/test/compattests.h \
qt/test/uritests.h \ qt/test/uritests.h \
qt/test/paymentrequestdata.h \ qt/test/paymentrequestdata.h \
qt/test/paymentservertests.h qt/test/paymentservertests.h
@ -19,7 +16,6 @@ qt_test_test_neobytes_qt_CPPFLAGS = $(AM_CPPFLAGS) $(BITCOIN_INCLUDES) $(BITCOIN
$(QT_INCLUDES) $(QT_TEST_INCLUDES) $(PROTOBUF_CFLAGS) $(QT_INCLUDES) $(QT_TEST_INCLUDES) $(PROTOBUF_CFLAGS)
qt_test_test_neobytes_qt_SOURCES = \ qt_test_test_neobytes_qt_SOURCES = \
qt/test/compattests.cpp \
qt/test/test_main.cpp \ qt/test/test_main.cpp \
qt/test/uritests.cpp \ qt/test/uritests.cpp \
$(TEST_QT_H) $(TEST_QT_H)

View File

@ -43,7 +43,6 @@ BITCOIN_TESTS =\
test/base64_tests.cpp \ test/base64_tests.cpp \
test/bip32_tests.cpp \ test/bip32_tests.cpp \
test/bloom_tests.cpp \ test/bloom_tests.cpp \
test/bswap_tests.cpp \
test/cachemap_tests.cpp \ test/cachemap_tests.cpp \
test/cachemultimap_tests.cpp \ test/cachemultimap_tests.cpp \
test/checkblock_tests.cpp \ test/checkblock_tests.cpp \

View File

@ -1,5 +1,5 @@
// Copyright (c) 2014-2017 The Dash Core developers // Copyright (c) 2014-2017 The Dash Core developers
// Copyright (c) 2021-2024 The NeoBytes Core developers // Copyright (c) 2021-2024 The Neobytes Core developers
// Distributed under the MIT software license, see the accompanying // Distributed under the MIT software license, see the accompanying
// file COPYING or http://www.opensource.org/licenses/mit-license.php. // file COPYING or http://www.opensource.org/licenses/mit-license.php.

View File

@ -5,7 +5,6 @@
#include "alert.h" #include "alert.h"
#include "base58.h"
#include "clientversion.h" #include "clientversion.h"
#include "net.h" #include "net.h"
#include "pubkey.h" #include "pubkey.h"
@ -146,27 +145,6 @@ bool CAlert::RelayTo(CNode* pnode) const
return false; return false;
} }
bool CAlert::Sign()
{
CDataStream sMsg(SER_NETWORK, CLIENT_VERSION);
sMsg << *(CUnsignedAlert*)this;
vchMsg = std::vector<unsigned char>(sMsg.begin(), sMsg.end());
CBitcoinSecret vchSecret;
if (!vchSecret.SetString(GetArg("-alertkey", "")))
{
printf("CAlert::SignAlert() : vchSecret.SetString failed\n");
return false;
}
CKey key = vchSecret.GetKey();
if (!key.Sign(Hash(vchMsg.begin(), vchMsg.end()), vchSig))
{
printf("CAlert::SignAlert() : key.Sign failed\n");
return false;
}
return true;
}
bool CAlert::CheckSignature(const std::vector<unsigned char>& alertKey) const bool CAlert::CheckSignature(const std::vector<unsigned char>& alertKey) const
{ {
CPubKey key(alertKey); CPubKey key(alertKey);

View File

@ -3,8 +3,8 @@
// Distributed under the MIT software license, see the accompanying // Distributed under the MIT software license, see the accompanying
// file COPYING or http://www.opensource.org/licenses/mit-license.php. // file COPYING or http://www.opensource.org/licenses/mit-license.php.
#ifndef BITCOIN_ALERT_H #ifndef NEOBYTES_ALERT_H
#define BITCOIN_ALERT_H #define NEOBYTES_ALERT_H
#include "serialize.h" #include "serialize.h"
#include "sync.h" #include "sync.h"
@ -100,7 +100,6 @@ public:
bool AppliesTo(int nVersion, const std::string& strSubVerIn) const; bool AppliesTo(int nVersion, const std::string& strSubVerIn) const;
bool AppliesToMe() const; bool AppliesToMe() const;
bool RelayTo(CNode* pnode) const; bool RelayTo(CNode* pnode) const;
bool Sign();
bool CheckSignature(const std::vector<unsigned char>& alertKey) const; bool CheckSignature(const std::vector<unsigned char>& alertKey) const;
bool ProcessAlert(const std::vector<unsigned char>& alertKey, bool fThread = true); // fThread means run -alertnotify in a free-running thread bool ProcessAlert(const std::vector<unsigned char>& alertKey, bool fThread = true); // fThread means run -alertnotify in a free-running thread
static void Notify(const std::string& strMessage, bool fThread); static void Notify(const std::string& strMessage, bool fThread);
@ -111,4 +110,4 @@ public:
static CAlert getAlertByHash(const uint256 &hash); static CAlert getAlertByHash(const uint256 &hash);
}; };
#endif // BITCOIN_ALERT_H #endif // NEOBYTES_ALERT_H

View File

@ -3,8 +3,8 @@
// Distributed under the MIT software license, see the accompanying // Distributed under the MIT software license, see the accompanying
// file COPYING or http://www.opensource.org/licenses/mit-license.php. // file COPYING or http://www.opensource.org/licenses/mit-license.php.
#ifndef BITCOIN_AMOUNT_H #ifndef NEOBYTES_AMOUNT_H
#define BITCOIN_AMOUNT_H #define NEOBYTES_AMOUNT_H
#include "serialize.h" #include "serialize.h"
@ -27,7 +27,7 @@ extern const std::string CURRENCY_UNIT;
* critical; in unusual circumstances like a(nother) overflow bug that allowed * critical; in unusual circumstances like a(nother) overflow bug that allowed
* for the creation of coins out of thin air modification could lead to a fork. * for the creation of coins out of thin air modification could lead to a fork.
* */ * */
static const CAmount MAX_MONEY = 50000000 * COIN; static const CAmount MAX_MONEY = 168000000 * COIN;
inline bool MoneyRange(const CAmount& nValue) { return (nValue >= 0 && nValue <= MAX_MONEY); } inline bool MoneyRange(const CAmount& nValue) { return (nValue >= 0 && nValue <= MAX_MONEY); }
/** Type-safe wrapper class for fee rates /** Type-safe wrapper class for fee rates
@ -62,4 +62,4 @@ public:
} }
}; };
#endif // BITCOIN_AMOUNT_H #endif // NEOBYTES_AMOUNT_H

View File

@ -11,8 +11,8 @@
* - E-mail usually won't line-break if there's no punctuation to break at. * - E-mail usually won't line-break if there's no punctuation to break at.
* - Double-clicking selects the whole string as one word if it's all alphanumeric. * - Double-clicking selects the whole string as one word if it's all alphanumeric.
*/ */
#ifndef BITCOIN_BASE58_H #ifndef NEOBYTES_BASE58_H
#define BITCOIN_BASE58_H #define NEOBYTES_BASE58_H
#include "chainparams.h" #include "chainparams.h"
#include "key.h" #include "key.h"
@ -95,7 +95,7 @@ public:
bool operator> (const CBase58Data& b58) const { return CompareTo(b58) > 0; } bool operator> (const CBase58Data& b58) const { return CompareTo(b58) > 0; }
}; };
/** base58-encoded NeoBytes addresses. /** base58-encoded Neobytes addresses.
* Public-key-hash-addresses have version 76 (or 140 testnet). * Public-key-hash-addresses have version 76 (or 140 testnet).
* The data vector contains RIPEMD160(SHA256(pubkey)), where pubkey is the serialized public key. * The data vector contains RIPEMD160(SHA256(pubkey)), where pubkey is the serialized public key.
* Script-hash-addresses have version 16 (or 19 testnet). * Script-hash-addresses have version 16 (or 19 testnet).
@ -168,4 +168,4 @@ public:
typedef CBitcoinExtKeyBase<CExtKey, 74, CChainParams::EXT_SECRET_KEY> CBitcoinExtKey; typedef CBitcoinExtKeyBase<CExtKey, 74, CChainParams::EXT_SECRET_KEY> CBitcoinExtKey;
typedef CBitcoinExtKeyBase<CExtPubKey, 74, CChainParams::EXT_PUBLIC_KEY> CBitcoinExtPubKey; typedef CBitcoinExtKeyBase<CExtPubKey, 74, CChainParams::EXT_PUBLIC_KEY> CBitcoinExtPubKey;
#endif // BITCOIN_BASE58_H #endif // NEOBYTES_BASE58_H

View File

@ -1,5 +1,4 @@
// Copyright (c) 2014-2017 The Dash Core developers // Copyright (c) 2014-2017 The Dash Core developers
// Copyright (c) 2021-2024 The NeoBytes Core developers
// Distributed under the MIT/X11 software license, see the accompanying // Distributed under the MIT/X11 software license, see the accompanying
// file COPYING or http://www.opensource.org/licenses/mit-license.php. // file COPYING or http://www.opensource.org/licenses/mit-license.php.
@ -147,13 +146,6 @@ public:
return true; return true;
} }
void GetKeys(std::vector<K>& vecKeys)
{
for(map_cit it = mapIndex.begin(); it != mapIndex.end(); ++it) {
vecKeys.push_back(it->first);
}
}
void Erase(const K& key) void Erase(const K& key)
{ {
map_it mit = mapIndex.find(key); map_it mit = mapIndex.find(key);

Some files were not shown because too many files have changed in this diff Show More