Skip to content

Commit

Permalink
Alert done,win32setup ready.prerelease build set
Browse files Browse the repository at this point in the history
  • Loading branch information
GroundRod authored and GroundRod committed Sep 30, 2014
1 parent 309df91 commit 304ec76
Show file tree
Hide file tree
Showing 18 changed files with 431 additions and 130 deletions.
2 changes: 1 addition & 1 deletion configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ define(_CLIENT_VERSION_MAJOR, 0)
define(_CLIENT_VERSION_MINOR, 9)
define(_CLIENT_VERSION_REVISION, 2)
define(_CLIENT_VERSION_BUILD, 1)
define(_CLIENT_VERSION_IS_RELEASE, true)
define(_CLIENT_VERSION_IS_RELEASE, false)
define(_COPYRIGHT_YEAR, 2014)
AC_INIT([IXCoin Core],[_CLIENT_VERSION_MAJOR._CLIENT_VERSION_MINOR._CLIENT_VERSION_REVISION],[info@bitcoin.org],[ixcoin])
AC_CONFIG_AUX_DIR([src/build-aux])
Expand Down
21 changes: 12 additions & 9 deletions contrib/linearize/linearize.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,15 +8,18 @@
# Distributed under the MIT/X11 software license, see the accompanying
# file COPYING or http://www.opensource.org/licenses/mit-license.php.
#
# A really nice aspect to this version of the linearizer, which builds your bootstrap.dat file, is that no
# knowledge of the particulars about any given coin are required. Only that it responds on the correct port
# to getblockhash() and getblock() requests. So it does require you have a working and running coin daemon
# such as ixcoind.exe or ixcoin-qt -server or bitcoind.exe or whatever xcoind.exe you care to use.
# A really nice aspect to this version of the linearizer, which builds your bootstrap.dat file,
# is that NO knowledge of the particulars about any given coin are required. Only that it
# responds on the correct port to getblockhash() and getblock() requests.
#
# NOTE: 9/17/2014 - This code has been ported & now runs within Python 3+ environments, originally coded for Python 2
# for bitcoin, and has now been upgraded for use with Ixcoin builds & releases.
# Allot of work 'needs' to be done, in order to have even the most elementary error handling.
# However, once setup correctly it will get the job done!
# It DOES require you have a working and running coin daemon such as ixcoind.exe or
# ixcoin-qt -server or bitcoind.exe or whatever xyzcoind.exe you care to use.
#
# NOTE: 9/17/2014 -
# This code has been ported & now runs within Python 3+ environments, originally coded
# for Python 2 in bitcoin, it has now been upgraded for use with Ixcoin builds & releases.
# Allot of work 'needs' to be done, in order to have even the most elementary
# of error handling. However, once setup correctly, it will get the job done!
#

import json
Expand Down Expand Up @@ -138,7 +141,7 @@ def get_blocks(settings):
# As we still have 20+ days to go, this would generate an error and must be reduced until then.
if 'max_height' not in settings:
# settings['max_height'] = 227499
settings['max_height'] = 223240
settings['max_height'] = 225365
if 'rpcuser' not in settings or 'rpcpassword' not in settings:
print("Missing username and/or password in cfg file")
sys.exit(1)
Expand Down
24 changes: 17 additions & 7 deletions doc/README_windows.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
IXCoin 0.9.2 BETA
IXCoin 0.9.2.1 Pre-Release Test Build

Copyright (c) 2011-2014 IXCoin Core Developers

Expand All @@ -19,12 +19,22 @@ with each other, with the help of a P2P network to check for double-spending.

Setup
-----
Unpack the files into a directory and run ixcoin-qt.exe.

IXCoin Core is the original IXCoin client and it builds the backbone of the network.
However, it downloads and stores the entire history of IXCoin transactions;
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.
Either via an ixcoin-win32-setup installer or by manually doing the
following steps, you will need to Unpack the files into a directory and create
a simple set of shortcuts in your START menu, on your desktop or in your toolbar,
in order to run ixcoin-qt.exe whenever you need to use the network. The
installer also adds an uninstaller shortcut to your START menu list.

IXCoin Core is the updated version of the original IXCoin client, it builds
the backbone of the network, and now has many advanced features. It does
however, need to download and stores the entire history of IXCoin transactions;
depending on the speed of your computer and network connection, that
synchronization process can take anywhere from a few hours to a day or more.
In order to expedite this process, we've created a current bootstrap.dat file,
which when compressed, is a relatively small file of just over 150MB's in
size. For over 3 years/15 weeks of transaction history, that is really small.
Place that in your newly initialized Ixcoin data directory and it will import
nearly all the past transaction history in just a few minutes.

As Ixcoin is very similar, the Best source of information can be found on the
Bitcoin wiki at:
Expand Down
Binary file modified share/pixmaps/ixcoin.ico
Binary file not shown.
Binary file modified share/pixmaps/nsis-header.bmp
Binary file not shown.
Binary file modified share/pixmaps/nsis-wizard.bmp
Binary file not shown.
179 changes: 179 additions & 0 deletions share/setup-PathFixes.nsi
Original file line number Diff line number Diff line change
@@ -0,0 +1,179 @@
Name "IXCoin Core (32-bit)"

RequestExecutionLevel highest
SetCompressor /SOLID lzma

# General Symbol Definitions
!define REGKEY "SOFTWARE\$(^Name)"
!define VERSION 0.9.2
!define COMPANY "IXCoin Core project"
!define URL http://www.ixcoin.org/

# MUI Symbol Definitions
!define MUI_ICON "c:\ixcoin-0.9.2.1\share\pixmaps\ixcoin.ico"
!define MUI_WELCOMEFINISHPAGE_BITMAP "c:\ixcoin-0.9.2.1\share\pixmaps\nsis-wizard.bmp"
!define MUI_HEADERIMAGE
!define MUI_HEADERIMAGE_RIGHT
!define MUI_HEADERIMAGE_BITMAP "c:\ixcoin-0.9.2.1\share\pixmaps\nsis-header.bmp"
!define MUI_FINISHPAGE_NOAUTOCLOSE
!define MUI_STARTMENUPAGE_REGISTRY_ROOT HKLM
!define MUI_STARTMENUPAGE_REGISTRY_KEY ${REGKEY}
!define MUI_STARTMENUPAGE_REGISTRY_VALUENAME StartMenuGroup
!define MUI_STARTMENUPAGE_DEFAULTFOLDER "IXCoin Core"
!define MUI_FINISHPAGE_RUN $INSTDIR\ixcoin-qt.exe
!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall.ico"
!define MUI_UNWELCOMEFINISHPAGE_BITMAP "c:\ixcoin-0.9.2.1\share\pixmaps\nsis-wizard.bmp"
!define MUI_UNFINISHPAGE_NOAUTOCLOSE

# Included files
!include Sections.nsh
!include MUI2.nsh
!if "32" == "64"
!include x64.nsh
!endif

# Variables
Var StartMenuGroup

# Installer pages
!insertmacro MUI_PAGE_WELCOME
!insertmacro MUI_PAGE_DIRECTORY
!insertmacro MUI_PAGE_STARTMENU Application $StartMenuGroup
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_PAGE_FINISH
!insertmacro MUI_UNPAGE_CONFIRM
!insertmacro MUI_UNPAGE_INSTFILES

# Installer languages
!insertmacro MUI_LANGUAGE English

# Installer attributes
OutFile c:\ixcoin-0.9.2.1\ixcoin-${VERSION}-win32-setup.exe
!if "32" == "64"
InstallDir $PROGRAMFILES64\IXCoin
!else
InstallDir $PROGRAMFILES\IXCoin
!endif
CRCCheck on
XPStyle on
BrandingText " "
ShowInstDetails show
VIProductVersion ${VERSION}.1
VIAddVersionKey ProductName "IXCoin Core"
VIAddVersionKey ProductVersion "${VERSION}"
VIAddVersionKey CompanyName "${COMPANY}"
VIAddVersionKey CompanyWebsite "${URL}"
VIAddVersionKey FileVersion "${VERSION}"
VIAddVersionKey FileDescription ""
VIAddVersionKey LegalCopyright ""
InstallDirRegKey HKCU "${REGKEY}" Path
ShowUninstDetails show

# Installer sections
Section -Main SEC0000
SetOutPath $INSTDIR
SetOverwrite on
File c:\ixcoin-0.9.2.1\release\ixcoin-qt.exe
File /oname=COPYING.txt c:\ixcoin-0.9.2.1\COPYING
File /oname=readme.txt c:\ixcoin-0.9.2.1\doc\README_windows.txt
SetOutPath $INSTDIR\daemon
File c:\ixcoin-0.9.2.1\release\ixcoind.exe
File c:\ixcoin-0.9.2.1\release\ixcoin-cli.exe
SetOutPath $INSTDIR\doc
File /r c:\ixcoin-0.9.2.1\doc\*.*
SetOutPath $INSTDIR
WriteRegStr HKCU "${REGKEY}\Components" Main 1

# Remove old wxwidgets-based-ixcoin executable and locales:
Delete /REBOOTOK $INSTDIR\ixcoin.exe
RMDir /r /REBOOTOK $INSTDIR\locale
SectionEnd

Section -post SEC0001
WriteRegStr HKCU "${REGKEY}" Path $INSTDIR
SetOutPath $INSTDIR
WriteUninstaller $INSTDIR\uninstall.exe
!insertmacro MUI_STARTMENU_WRITE_BEGIN Application
CreateDirectory $SMPROGRAMS\$StartMenuGroup
CreateShortcut "$SMPROGRAMS\$StartMenuGroup\$(^Name).lnk" $INSTDIR\ixcoin-qt.exe
CreateShortcut "$SMPROGRAMS\$StartMenuGroup\Uninstall $(^Name).lnk" $INSTDIR\uninstall.exe
!insertmacro MUI_STARTMENU_WRITE_END
WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" DisplayName "$(^Name)"
WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" DisplayVersion "${VERSION}"
WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" Publisher "${COMPANY}"
WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" URLInfoAbout "${URL}"
WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" DisplayIcon $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)" NoRepair 1
WriteRegStr HKCR "ixcoin" "URL Protocol" ""
WriteRegStr HKCR "ixcoin" "" "URL:IXCoin"
WriteRegStr HKCR "ixcoin\DefaultIcon" "" $INSTDIR\ixcoin-qt.exe
WriteRegStr HKCR "ixcoin\shell\open\command" "" '"$INSTDIR\ixcoin-qt.exe" "%1"'
SectionEnd

# Macro for selecting uninstaller sections
!macro SELECT_UNSECTION SECTION_NAME UNSECTION_ID
Push $R0
ReadRegStr $R0 HKCU "${REGKEY}\Components" "${SECTION_NAME}"
StrCmp $R0 1 0 next${UNSECTION_ID}
!insertmacro SelectSection "${UNSECTION_ID}"
GoTo done${UNSECTION_ID}
next${UNSECTION_ID}:
!insertmacro UnselectSection "${UNSECTION_ID}"
done${UNSECTION_ID}:
Pop $R0
!macroend

# Uninstaller sections
Section /o -un.Main UNSEC0000
Delete /REBOOTOK $INSTDIR\ixcoin-qt.exe
Delete /REBOOTOK $INSTDIR\COPYING.txt
Delete /REBOOTOK $INSTDIR\readme.txt
RMDir /r /REBOOTOK $INSTDIR\daemon
RMDir /r /REBOOTOK $INSTDIR\doc
DeleteRegValue HKCU "${REGKEY}\Components" Main
SectionEnd

Section -un.post UNSEC0001
DeleteRegKey HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)"
Delete /REBOOTOK "$SMPROGRAMS\$StartMenuGroup\Uninstall $(^Name).lnk"
Delete /REBOOTOK "$SMPROGRAMS\$StartMenuGroup\$(^Name).lnk"
Delete /REBOOTOK "$SMSTARTUP\IXCoin.lnk"
Delete /REBOOTOK $INSTDIR\uninstall.exe
Delete /REBOOTOK $INSTDIR\debug.log
Delete /REBOOTOK $INSTDIR\db.log
DeleteRegValue HKCU "${REGKEY}" StartMenuGroup
DeleteRegValue HKCU "${REGKEY}" Path
DeleteRegKey /IfEmpty HKCU "${REGKEY}\Components"
DeleteRegKey /IfEmpty HKCU "${REGKEY}"
DeleteRegKey HKCR "ixcoin"
RmDir /REBOOTOK $SMPROGRAMS\$StartMenuGroup
RmDir /REBOOTOK $INSTDIR
Push $R0
StrCpy $R0 $StartMenuGroup 1
StrCmp $R0 ">" no_smgroup
no_smgroup:
Pop $R0
SectionEnd

# Installer functions
Function .onInit
InitPluginsDir
!if "32" == "64"
${If} ${RunningX64}
; disable registry redirection (enable access to 64-bit portion of registry)
SetRegView 64
${Else}
MessageBox MB_OK|MB_ICONSTOP "Cannot install 64-bit version on a 32-bit system."
Abort
${EndIf}
!endif
FunctionEnd

# Uninstaller functions
Function un.onInit
ReadRegStr $INSTDIR HKCU "${REGKEY}" Path
!insertmacro MUI_STARTMENU_GETFOLDER Application $StartMenuGroup
!insertmacro SELECT_UNSECTION Main ${UNSEC0000}
FunctionEnd
8 changes: 4 additions & 4 deletions src/alert.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -204,13 +204,13 @@ bool CAlert::ProcessAlert(bool fThread)
const CAlert& alert = (*mi).second;
if (Cancels(alert))
{
LogPrint("alert", "cancelling alert %d\n", alert.nID);
LogPrintf( "Cancelling alert %d\n", alert.nID );
uiInterface.NotifyAlertChanged((*mi).first, CT_DELETED);
mapAlerts.erase(mi++);
}
else if (!alert.IsInEffect())
{
LogPrint("alert", "expiring alert %d\n", alert.nID);
LogPrintf( "Expiring alert %d\n", alert.nID );
uiInterface.NotifyAlertChanged((*mi).first, CT_DELETED);
mapAlerts.erase(mi++);
}
Expand All @@ -224,7 +224,7 @@ bool CAlert::ProcessAlert(bool fThread)
const CAlert& alert = item.second;
if (alert.Cancels(*this))
{
LogPrint("alert", "alert already cancelled by %d\n", alert.nID);
LogPrintf( "Alert already cancelled by %d\n", alert.nID );
return false;
}
}
Expand Down Expand Up @@ -254,6 +254,6 @@ bool CAlert::ProcessAlert(bool fThread)
}
}

LogPrint("alert", "accepted alert %d, AppliesToMe()=%d\n", nID, AppliesToMe());
LogPrintf( "Accepted alert %d, AppliesToMe()=%d\n", nID, AppliesToMe() );
return true;
}
16 changes: 13 additions & 3 deletions src/chainparams.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,14 @@ class CMainParams : public CChainParams {
pchMessageStart2[1] = 0xba;
pchMessageStart2[2] = 0xb6;
pchMessageStart2[3] = 0xdb;
vAlertPubKey = ParseHex("02a9e38d69128d1e9b689a02bb0e67927ef9aff27b62e7b0ecddec2a07ad587ad6");
//
// Starting with Ixcoin v0.9.2.1, the following vAlertPubKey ECDSA (Ecliptical Curve DSA) hex value will be used
// The private key is not publicly available. This allows only a small group to generate Alert messages on the IXCoin Network:
// As of 9/30/2014 Holders of the private key are: AhmedBodi, GroundRod, several more parties are expected to also be included.
// If an alert is necessary, this can be used to inform all nodes of an important chain development or software upgrade
//
vAlertPubKey = ParseHex("046bcc6984f841c35686e7b9ed7b2ce5b2f4cc8b8a5ef314870e623566f8b8f9d0d7b906c4537c0d5ca55c53b9e2d38834d7c5e5846c50bdced192c105cc83a589");

nDefaultPort = 8337;
nRPCPort = 8338;
bnProofOfWorkLimit = CBigNum(~uint256(0) >> 32);
Expand Down Expand Up @@ -124,9 +131,12 @@ class CTestNetParams : public CMainParams {
pchMessageStart[1] = 0xbf;
pchMessageStart[2] = 0xb6;
pchMessageStart[3] = 0xdb;
vAlertPubKey = ParseHex("");
vAlertPubKey = ParseHex("04de6b00e3294afc25e03eead3fdb7b0dc9ebdf972625e40d79df84766c96a6ddfe8ae702c71f073ffa74fe69effd61ff7b27e8ceae2ac780cc786c278b270cffc");
// Use this Private key for testnet 'sendalert' commands
// "308201130201010420792aeda8e312f4e1b26861e3d16a19cd01b45c5531c1d90a9d180335a28d3bc0a081a53081a2020101302c06072a8648ce3d0101022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f300604010004010704410479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141020101a14403420004de6b00e3294afc25e03eead3fdb7b0dc9ebdf972625e40d79df84766c96a6ddfe8ae702c71f073ffa74fe69effd61ff7b27e8ceae2ac780cc786c278b270cffc"

nDefaultPort = 53333;
nRPCPort = 53334;
nRPCPort = 53332;
strDataDir = "testnet";
bnProofOfWorkLimit = CBigNum(~uint256(0) >> 30);
nSubsidyHalvingInterval = 210000;
Expand Down
20 changes: 13 additions & 7 deletions src/clientversion.h
Original file line number Diff line number Diff line change
Expand Up @@ -3,23 +3,29 @@

#if defined(HAVE_CONFIG_H)
#include "ixcoin-config.h"
#else

// GR Note: Commenting this code out on 9/28/2014, if it was ever used it may NOT match what is used
// throughout the rest of the build process:
// See configure.ac, to set these values up, as the ixcoin-config.h
// file is built with these values defined as required by the developer
//
// #else
//
// client versioning and copyright year
//

// These need to be macros, as version.cpp's and ixcoin-qt.rc's voodoo requires it
#define CLIENT_VERSION_MAJOR 0
#define CLIENT_VERSION_MINOR 9
#define CLIENT_VERSION_REVISION 2
#define CLIENT_VERSION_BUILD 1
// #define CLIENT_VERSION_MAJOR 0
// #define CLIENT_VERSION_MINOR 9
// #define CLIENT_VERSION_REVISION 2
// #define CLIENT_VERSION_BUILD 1

// Set to true for release, false for prerelease or test build
#define CLIENT_VERSION_IS_RELEASE true
// #define CLIENT_VERSION_IS_RELEASE true

// Copyright year (2011-this)
// Todo: update this when changing our copyright comments in the source
#define COPYRIGHT_YEAR 2014
// #define COPYRIGHT_YEAR 2014

#endif //HAVE_CONFIG_H

Expand Down
16 changes: 16 additions & 0 deletions src/main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -3466,9 +3466,20 @@ string GetWarnings(string strFor)
if (GetBoolArg("-testsafemode", false))
strRPC = "test";

// Ixcoin uses this feature for initial 'Pre-Release' builds, when your production code is finished,
// be sure to change this value to 'true', by setting it in the configure.ac file. Then reconfigure & build all
// from the source code. The sendalert' command functionally is ONLY included for pre-release builds, it is not
// included in final production builds. This is how Bitcoin is released, there is NO 'sendalert' command function
// available to clients.
if (!CLIENT_VERSION_IS_RELEASE)
strStatusBar = _("This is a pre-release test build - use at your own risk - do not use for mining or merchant applications");
// The piority of this message remains @ 0, yet if nothing else is found, it will be displayed by default for pre-release builds.

// Check for some high priority items to watch out for:

// These nPriority values set an upper limit on what should be used by the development team, when issuing alert messages,
// as they are more important than anything else to this client's user..

// Misc warnings like out of disk space and clock is wrong
if (strMiscWarning != "")
{
Expand All @@ -3488,6 +3499,11 @@ string GetWarnings(string strFor)
}

// Alerts
// Any network wide alerts that have shown up, and have a greater priority
// than what is listed above, will now be checked and the highest
// priorty one is picked & shown to the user.
// NOTE: If two alerts have the same priority, it will be the 1st one
// found, that gets shown to the user.
{
LOCK(cs_mapAlerts);
BOOST_FOREACH(PAIRTYPE(const uint256, CAlert)& item, mapAlerts)
Expand Down
Loading

0 comments on commit 304ec76

Please sign in to comment.