From 2ef8c05e3cc41355adca70d981c02f3b05721477 Mon Sep 17 00:00:00 2001 From: broyhill Date: Wed, 10 May 2017 08:52:30 -0500 Subject: [PATCH 1/6] publish macOS Sierra Qt build instructions --- doc/build-macOS-Sierra-Qt.txt | 153 ++++++++++++++++++++++++++++++++++ 1 file changed, 153 insertions(+) create mode 100644 doc/build-macOS-Sierra-Qt.txt diff --git a/doc/build-macOS-Sierra-Qt.txt b/doc/build-macOS-Sierra-Qt.txt new file mode 100644 index 00000000..c63d3a4e --- /dev/null +++ b/doc/build-macOS-Sierra-Qt.txt @@ -0,0 +1,153 @@ +Build ionx-Qt on macOS 10.12+ Sierra + +confirmed to work with +miniupnpc 2.0 +boost 1.64.0_1 +qt 5.8.0_2 +openssl 1.0.2k +berkeley-db4 4.8.30 +gmp 6.1.2 + +Install Xcode https://developer.apple.com/download +Install the associated Command Line Tools to your Xcode version https://developer.apple.com/download/more + +Launch Terminal +Install brew from http://brew.sh + +Brew some recipies! +brew install autoconf automake berkeley-db4 gmp libpng libtool miniupnpc openssl qrencode qt5 +brew install boost --c++11 --without-single --without-static + +Manually link your openssl dependency paths to the brew cellar (recommend /usr/local/opt/openssl/lib and /usr/local/opt/openssl/include): +mkdir /usr/local/opt/openssl +ln -s /usr/local/Cellar/openssl/1.0.2k/lib /usr/local/opt/openssl/lib +ln -s /usr/local/Cellar/openssl/1.0.2k/include /usr/local/opt/openssl/include + +NOTE: replace the openssl version path (1.0.2k at time of writing) with the version that brew installed + +NOTE: Might need to force brew to link berkeley-db4: +brew link --force berkeley-db4 + +DOWNLOAD ION SOURCE + +git clone https://github.com/Ion-Network/Ion-Core ion +cd ion/src/secp256k1 +./autogen.sh +./configure +make +make install + + +Modify these lines in ion.pro to match as follows, or according to your preferences/environment: + +isEmpty(BOOST_LIB_PATH) { + macx:BOOST_LIB_PATH = /usr/local/opt/boost/lib +} + +isEmpty(BOOST_INCLUDE_PATH) { + macx:BOOST_INCLUDE_PATH = /usr/local/opt/boost/include +} + +isEmpty(BDB_LIB_PATH) { + macx:BDB_LIB_PATH = /usr/local/opt/berkeley-db4/lib +} + +isEmpty(BDB_INCLUDE_PATH) { + macx:BDB_INCLUDE_PATH = /usr/local/opt/berkeley-db4/include +} + +isEmpty(MINIUPNPC_INCLUDE_PATH) { + macx:MINIUPNPC_INCLUDE_PATH=/usr/locale/opt/miniupnpc/include +} + +isEmpty(MINIUPNPC_LIB_PATH) { + macx:MINIUPNPC_LIB_PATH=/usr/local/opt/miniupnpc/lib/ +} + +isEmpty(OPENSSL_LIB_PATH) { + macx:OPENSSL_LIB_PATH = /usr/local/opt/openssl/lib/ +} + +isEmpty(OPENSSL_INCLUDE_PATH) { + macx:OPENSSL_INCLUDE_PATH = /usr/local/opt/openssl/include +} + + +If making the daemon, modify these lines in src/makefile.osx as follows, or according to your preferences/environment: + +INCLUDEPATHS= \ + -I"$(CURDIR)" \ + -I"$(CURDIR)"/obj \ + -I"$(DEPSDIR)/include" \ + -I"$(DEPSDIR)/opt/boost/include" \ + -I"$(DEPSDIR)/opt/berkeley-db4/include" \ + -I"$(DEPSDIR)/opt/openssl/include" + +LIBPATHS= \ + -L"$(DEPSDIR)/lib" \ + -I"$(DEPSDIR)/opt/boost/lib” \ + -L"$(DEPSDIR)/opt/berkeley-db4/lib" \ + -L"$(DEPSDIR)/opt/openssl/lib" + +ifdef STATIC +# Build STATIC if you are redistributing the xiond binary +LIBS += \ + $(DEPSDIR)/opt/berkeley-db4/lib/libdb_cxx-4.8.a \ + $(DEPSDIR)/lib/libboost_system.a \ + $(DEPSDIR)/lib/libboost_filesystem.a \ + $(DEPSDIR)/lib/libboost_program_options.a \ + $(DEPSDIR)/lib/libboost_thread-mt.a \ + $(DEPSDIR)/opt/openssl/lib/libssl.a \ + $(DEPSDIR)/opt/openssl/lib/libcrypto.a \ + + +OPTIONAL: Add Qt paths to user’s environment. +nano ~/.bash_profile +Add this line: +export PATH=/usr/local/opt/Qt/bin:$PATH +control+x to save and exit +OR +echo 'export PATH="/usr/local/opt/qt5/bin:$PATH"' >> ~/.bash_profile + +OPTIONAL: add show and hide hidden files shortcuts.
nano ~/.bash_profile +Add these lines: +alias showFiles='defaults write com.apple.finder AppleShowAllFiles YES; killall Finder /System/Library/CoreServices/Finder.app' +alias hideFiles='defaults write com.apple.finder AppleShowAllFiles NO; killall Finder /System/Library/CoreServices/Finder.app' +control+x to save and exit + +OR +echo ‘alias showFiles='defaults write com.apple.finder AppleShowAllFiles YES; killall Finder /System/Library/CoreServices/Finder.app' >> ~/.bash_profile +alias hideFiles='defaults write com.apple.finder AppleShowAllFiles NO; killall Finder /System/Library/CoreServices/Finder.app' >> ~/.bash_profile + + +RELOAD .bash_profile + . ~/.bash_profile + + +GET BACK TO REPO ROOT DIR +cd ../.. + +BUILD IT +qmake -config release -config c++11 USE_UPNP=1 USE_QRCODE=1 ion.pro +make + + +PACKAGE IT +###OPTIONAL - THIS MAY NOT WORK WITH QT5.7### +###UNTESTED WITH QT5.8### +macdeployqt ion-Qt.app -dmg + +###THIS WORKS BETTER. IT IS A FANCY PACKAGING SCRIPT THAT ALLOWS TO CUSTOMIZE THE DMG’S APPEARANCE - FROM DARKSILK### +chmod +x contrib/macdeploy/macdeployqtplus +contrib/macdeploy/macdeployqtplus ionx-Qt.app -add-qt-tr da,de,es,hu,ru,uk,zh_CN,zh_TW -dmg -fancy contrib/macdeploy/fancy.plist -verbose 2 + + + +RUN IT +/Applications/ionx-Qt.app/Contents/MacOS/ionx-Qt + +OPTIONAL: Create a custom data directory to store the wallet data, where 'XXX' is a unique name (testnet, for example): +mkdir ~/Library/Application\ Support/ion_test +ionx-Qt.app/Contents/MacOS/ionx-Qt -testnet=1 -datadir=/Users/YOURUSERNAME/Library/Application\ Support/ion_test & + +NOTE: launch with -? to display the list of runtime arguments - there are many useful ones! From b83b3926203307a24139dbea927a8f770fd574b9 Mon Sep 17 00:00:00 2001 From: broyhill Date: Fri, 12 May 2017 12:01:25 -0500 Subject: [PATCH 2/6] update build-macOS-Sierra-Qt.txt remove unnecessary stuff --- doc/build-macOS-Sierra-Qt.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/build-macOS-Sierra-Qt.txt b/doc/build-macOS-Sierra-Qt.txt index c63d3a4e..ac1b7748 100644 --- a/doc/build-macOS-Sierra-Qt.txt +++ b/doc/build-macOS-Sierra-Qt.txt @@ -128,7 +128,7 @@ GET BACK TO REPO ROOT DIR cd ../.. BUILD IT -qmake -config release -config c++11 USE_UPNP=1 USE_QRCODE=1 ion.pro +qmake -config release -config c++11 ion.pro make @@ -148,6 +148,6 @@ RUN IT OPTIONAL: Create a custom data directory to store the wallet data, where 'XXX' is a unique name (testnet, for example): mkdir ~/Library/Application\ Support/ion_test -ionx-Qt.app/Contents/MacOS/ionx-Qt -testnet=1 -datadir=/Users/YOURUSERNAME/Library/Application\ Support/ion_test & +ionx-Qt.app/Contents/MacOS/ionx-Qt -testnet -datadir=/Users/YOURUSERNAME/Library/Application\ Support/ion_test & NOTE: launch with -? to display the list of runtime arguments - there are many useful ones! From 3bd0c44d918a892061742d429f3cf03a5e57d645 Mon Sep 17 00:00:00 2001 From: broyhill Date: Fri, 12 May 2017 12:02:09 -0500 Subject: [PATCH 3/6] fix README.md UPnP typo --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 8658bfea..4de30b38 100644 --- a/README.md +++ b/README.md @@ -162,8 +162,8 @@ symbols, which reduces the executable size by about 90%. miniupnpc --------- -[miniupnpc](http://miniupnp.free.fr/) may be used for UPnP port mapping. It can be downloaded from [here]( -http://miniupnp.tuxfamily.org/files/). UPnP support is compiled in and +[miniupnpc](http://miniupnp.free.fr) may be used for UPnP port mapping. It can be downloaded from +http://miniupnp.tuxfamily.org/files. UPnP support is compiled in and turned off by default. See the configure options for upnp behavior desired: --without-miniupnpc No UPnP support miniupnp not required From 3ca29c907988f6960fd685bd5da9175c97233a52 Mon Sep 17 00:00:00 2001 From: broyhill Date: Fri, 12 May 2017 14:12:15 -0500 Subject: [PATCH 4/6] Revert "fix README.md UPnP typo" This reverts commit 3bd0c44d918a892061742d429f3cf03a5e57d645. --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index e2de1013..6d727b11 100644 --- a/README.md +++ b/README.md @@ -162,8 +162,8 @@ symbols, which reduces the executable size by about 90%. miniupnpc --------- -[miniupnpc](http://miniupnp.free.fr) may be used for UPnP port mapping. It can be downloaded from -http://miniupnp.tuxfamily.org/files. UPnP support is compiled in and +[miniupnpc](http://miniupnp.free.fr/) may be used for UPnP port mapping. It can be downloaded from [here]( +http://miniupnp.tuxfamily.org/files/). UPnP support is compiled in and turned off by default. See the configure options for upnp behavior desired: --without-miniupnpc No UPnP support miniupnp not required From 64fdeb9f8d779ccc2589e617e5b8006d10d7f9e5 Mon Sep 17 00:00:00 2001 From: broyhill Date: Mon, 15 May 2017 14:10:45 -0500 Subject: [PATCH 5/6] fix typos and updated files and paths --- doc/build-macOS-Sierra-Qt.txt | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/doc/build-macOS-Sierra-Qt.txt b/doc/build-macOS-Sierra-Qt.txt index ac1b7748..0e357962 100644 --- a/doc/build-macOS-Sierra-Qt.txt +++ b/doc/build-macOS-Sierra-Qt.txt @@ -14,7 +14,7 @@ Install the associated Command Line Tools to your Xcode version https://develope Launch Terminal Install brew from http://brew.sh -Brew some recipies! +Brew some recipes! brew install autoconf automake berkeley-db4 gmp libpng libtool miniupnpc openssl qrencode qt5 brew install boost --c++11 --without-single --without-static @@ -30,7 +30,7 @@ brew link --force berkeley-db4 DOWNLOAD ION SOURCE -git clone https://github.com/Ion-Network/Ion-Core ion +git clone https://github.com/ionomy/ion cd ion/src/secp256k1 ./autogen.sh ./configure @@ -104,10 +104,10 @@ LIBS += \ OPTIONAL: Add Qt paths to user’s environment. nano ~/.bash_profile Add this line: -export PATH=/usr/local/opt/Qt/bin:$PATH +export PATH=/usr/local/opt/qt/bin:$PATH control+x to save and exit OR -echo 'export PATH="/usr/local/opt/qt5/bin:$PATH"' >> ~/.bash_profile +echo 'export PATH="/usr/local/opt/qt/bin:$PATH"' >> ~/.bash_profile OPTIONAL: add show and hide hidden files shortcuts.
nano ~/.bash_profile Add these lines: @@ -128,7 +128,7 @@ GET BACK TO REPO ROOT DIR cd ../.. BUILD IT -qmake -config release -config c++11 ion.pro +qmake -config release -config c++11 ion-qt.pro make From 21a210d3e950ce87245c3cd4006e5a59fe5927d3 Mon Sep 17 00:00:00 2001 From: broyhill Date: Wed, 10 May 2017 08:52:30 -0500 Subject: [PATCH 6/6] publish macOS Sierra Qt build instructions --- README.md | 2 +- doc/README | 2 +- doc/build-macOS-Sierra-Qt.txt | 153 ++++++++++++++++++ doc/readme-qt.rst | 6 +- ...release-process.txt => release-process.md} | 0 doc/ssl.md | 4 +- src/clientversion.h | 2 +- 7 files changed, 161 insertions(+), 8 deletions(-) create mode 100644 doc/build-macOS-Sierra-Qt.txt rename doc/{release-process.txt => release-process.md} (100%) diff --git a/README.md b/README.md index 8658bfea..6d727b11 100644 --- a/README.md +++ b/README.md @@ -39,7 +39,7 @@ RPC Port = 12705 **TestNet Parameters** P2P Port = 27170 -RPC Port = 27171 +RPC Port = 27175 UNIX BUILD NOTES diff --git a/doc/README b/doc/README index 7f4ba01d..af46e850 100644 --- a/doc/README +++ b/doc/README @@ -1,4 +1,4 @@ -Ion 0.4.4 BETA +Ion 2.1.3.0 Copyright (c) 2013 NovaCoin Developers Copyright (c) 2011-2012 PPCoin Developers diff --git a/doc/build-macOS-Sierra-Qt.txt b/doc/build-macOS-Sierra-Qt.txt new file mode 100644 index 00000000..0e357962 --- /dev/null +++ b/doc/build-macOS-Sierra-Qt.txt @@ -0,0 +1,153 @@ +Build ionx-Qt on macOS 10.12+ Sierra + +confirmed to work with +miniupnpc 2.0 +boost 1.64.0_1 +qt 5.8.0_2 +openssl 1.0.2k +berkeley-db4 4.8.30 +gmp 6.1.2 + +Install Xcode https://developer.apple.com/download +Install the associated Command Line Tools to your Xcode version https://developer.apple.com/download/more + +Launch Terminal +Install brew from http://brew.sh + +Brew some recipes! +brew install autoconf automake berkeley-db4 gmp libpng libtool miniupnpc openssl qrencode qt5 +brew install boost --c++11 --without-single --without-static + +Manually link your openssl dependency paths to the brew cellar (recommend /usr/local/opt/openssl/lib and /usr/local/opt/openssl/include): +mkdir /usr/local/opt/openssl +ln -s /usr/local/Cellar/openssl/1.0.2k/lib /usr/local/opt/openssl/lib +ln -s /usr/local/Cellar/openssl/1.0.2k/include /usr/local/opt/openssl/include + +NOTE: replace the openssl version path (1.0.2k at time of writing) with the version that brew installed + +NOTE: Might need to force brew to link berkeley-db4: +brew link --force berkeley-db4 + +DOWNLOAD ION SOURCE + +git clone https://github.com/ionomy/ion +cd ion/src/secp256k1 +./autogen.sh +./configure +make +make install + + +Modify these lines in ion.pro to match as follows, or according to your preferences/environment: + +isEmpty(BOOST_LIB_PATH) { + macx:BOOST_LIB_PATH = /usr/local/opt/boost/lib +} + +isEmpty(BOOST_INCLUDE_PATH) { + macx:BOOST_INCLUDE_PATH = /usr/local/opt/boost/include +} + +isEmpty(BDB_LIB_PATH) { + macx:BDB_LIB_PATH = /usr/local/opt/berkeley-db4/lib +} + +isEmpty(BDB_INCLUDE_PATH) { + macx:BDB_INCLUDE_PATH = /usr/local/opt/berkeley-db4/include +} + +isEmpty(MINIUPNPC_INCLUDE_PATH) { + macx:MINIUPNPC_INCLUDE_PATH=/usr/locale/opt/miniupnpc/include +} + +isEmpty(MINIUPNPC_LIB_PATH) { + macx:MINIUPNPC_LIB_PATH=/usr/local/opt/miniupnpc/lib/ +} + +isEmpty(OPENSSL_LIB_PATH) { + macx:OPENSSL_LIB_PATH = /usr/local/opt/openssl/lib/ +} + +isEmpty(OPENSSL_INCLUDE_PATH) { + macx:OPENSSL_INCLUDE_PATH = /usr/local/opt/openssl/include +} + + +If making the daemon, modify these lines in src/makefile.osx as follows, or according to your preferences/environment: + +INCLUDEPATHS= \ + -I"$(CURDIR)" \ + -I"$(CURDIR)"/obj \ + -I"$(DEPSDIR)/include" \ + -I"$(DEPSDIR)/opt/boost/include" \ + -I"$(DEPSDIR)/opt/berkeley-db4/include" \ + -I"$(DEPSDIR)/opt/openssl/include" + +LIBPATHS= \ + -L"$(DEPSDIR)/lib" \ + -I"$(DEPSDIR)/opt/boost/lib” \ + -L"$(DEPSDIR)/opt/berkeley-db4/lib" \ + -L"$(DEPSDIR)/opt/openssl/lib" + +ifdef STATIC +# Build STATIC if you are redistributing the xiond binary +LIBS += \ + $(DEPSDIR)/opt/berkeley-db4/lib/libdb_cxx-4.8.a \ + $(DEPSDIR)/lib/libboost_system.a \ + $(DEPSDIR)/lib/libboost_filesystem.a \ + $(DEPSDIR)/lib/libboost_program_options.a \ + $(DEPSDIR)/lib/libboost_thread-mt.a \ + $(DEPSDIR)/opt/openssl/lib/libssl.a \ + $(DEPSDIR)/opt/openssl/lib/libcrypto.a \ + + +OPTIONAL: Add Qt paths to user’s environment. +nano ~/.bash_profile +Add this line: +export PATH=/usr/local/opt/qt/bin:$PATH +control+x to save and exit +OR +echo 'export PATH="/usr/local/opt/qt/bin:$PATH"' >> ~/.bash_profile + +OPTIONAL: add show and hide hidden files shortcuts.
nano ~/.bash_profile +Add these lines: +alias showFiles='defaults write com.apple.finder AppleShowAllFiles YES; killall Finder /System/Library/CoreServices/Finder.app' +alias hideFiles='defaults write com.apple.finder AppleShowAllFiles NO; killall Finder /System/Library/CoreServices/Finder.app' +control+x to save and exit + +OR +echo ‘alias showFiles='defaults write com.apple.finder AppleShowAllFiles YES; killall Finder /System/Library/CoreServices/Finder.app' >> ~/.bash_profile +alias hideFiles='defaults write com.apple.finder AppleShowAllFiles NO; killall Finder /System/Library/CoreServices/Finder.app' >> ~/.bash_profile + + +RELOAD .bash_profile + . ~/.bash_profile + + +GET BACK TO REPO ROOT DIR +cd ../.. + +BUILD IT +qmake -config release -config c++11 ion-qt.pro +make + + +PACKAGE IT +###OPTIONAL - THIS MAY NOT WORK WITH QT5.7### +###UNTESTED WITH QT5.8### +macdeployqt ion-Qt.app -dmg + +###THIS WORKS BETTER. IT IS A FANCY PACKAGING SCRIPT THAT ALLOWS TO CUSTOMIZE THE DMG’S APPEARANCE - FROM DARKSILK### +chmod +x contrib/macdeploy/macdeployqtplus +contrib/macdeploy/macdeployqtplus ionx-Qt.app -add-qt-tr da,de,es,hu,ru,uk,zh_CN,zh_TW -dmg -fancy contrib/macdeploy/fancy.plist -verbose 2 + + + +RUN IT +/Applications/ionx-Qt.app/Contents/MacOS/ionx-Qt + +OPTIONAL: Create a custom data directory to store the wallet data, where 'XXX' is a unique name (testnet, for example): +mkdir ~/Library/Application\ Support/ion_test +ionx-Qt.app/Contents/MacOS/ionx-Qt -testnet -datadir=/Users/YOURUSERNAME/Library/Application\ Support/ion_test & + +NOTE: launch with -? to display the list of runtime arguments - there are many useful ones! diff --git a/doc/readme-qt.rst b/doc/readme-qt.rst index a60fac05..0f2d2fd5 100644 --- a/doc/readme-qt.rst +++ b/doc/readme-qt.rst @@ -3,12 +3,12 @@ ionx-Qt: Qt5 GUI for Ion Linux ------- -https://github.com/xiondev/Ion/blob/master/doc/build-unix.md +https://github.com/ionomy/ion/blob/master/doc/build-unix.md Windows -------- -https://github.com/xiondev/Ion/blob/master/doc/build-msw.md +https://github.com/ionomy/ion/blob/master/doc/build-msw.md Mac OS X -------- -https://github.com/xiondev/Ion/blob/master/doc/build-osx.md +https://github.com/ionomy/ion/blob/master/doc/build-osx.md diff --git a/doc/release-process.txt b/doc/release-process.md similarity index 100% rename from doc/release-process.txt rename to doc/release-process.md diff --git a/doc/ssl.md b/doc/ssl.md index 33a4dc30..e72ce883 100644 --- a/doc/ssl.md +++ b/doc/ssl.md @@ -1,6 +1,6 @@ Enabling SSL on original client daemon ====================================== -By default, Ion allows JSON-RPC commands to be sent to http://localhost:17171 +By default, Ion allows JSON-RPC commands to be sent to http://localhost:12705 and accepts connections only from the localhost. JSON-RPC Over SSL Setup @@ -14,7 +14,7 @@ for this to work properly. * openssl req -new -x509 -nodes -sha1 -days 3650 -key server.pem > server.cert (NOTE: you should NOT enter a passphrase) -2. Configure NeosCoin to use SSL +2. Configure Ion to use SSL * Stop your current xiond or ionx-Qt * Edit the ion.conf and add rpcssl=1 diff --git a/src/clientversion.h b/src/clientversion.h index 40bc4c39..24c2330f 100644 --- a/src/clientversion.h +++ b/src/clientversion.h @@ -8,7 +8,7 @@ // These need to be macros, as version.cpp's and bitcoin-qt.rc's voodoo requires it #define CLIENT_VERSION_MAJOR 2 #define CLIENT_VERSION_MINOR 1 -#define CLIENT_VERSION_REVISION 2 +#define CLIENT_VERSION_REVISION 3 #define CLIENT_VERSION_BUILD 0 // Set to true for release, false for prerelease or test build