From 3ac6a0a66d46e153d9f09d27ac9215537a2fa61e Mon Sep 17 00:00:00 2001 From: jl777 Date: Sun, 22 Apr 2018 15:33:38 +0300 Subject: [PATCH 01/17] Debug --- src/komodo_utils.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/komodo_utils.h b/src/komodo_utils.h index 5e3a04e9a..80983cfa8 100644 --- a/src/komodo_utils.h +++ b/src/komodo_utils.h @@ -1581,7 +1581,7 @@ void komodo_args(char *argv0) addn = GetArg("-seednode",""); if ( strlen(addn.c_str()) > 0 ) ASSETCHAINS_SEED = 1; - strncpy(ASSETCHAINS_SYMBOL,name.c_str(),sizeof(ASSETCHAINS_SYMBOL)-1); + strncpy(ASSETCHAINS_SYMBOL,name.c_str(),64); if ( (baseid= komodo_baseid(ASSETCHAINS_SYMBOL)) >= 0 && baseid < 32 ) MAX_MONEY = komodo_maxallowed(baseid); else if ( ASSETCHAINS_REWARD == 0 ) @@ -1607,7 +1607,7 @@ void komodo_args(char *argv0) komodo_configfile(ASSETCHAINS_SYMBOL,ASSETCHAINS_PORT + 1); komodo_userpass(ASSETCHAINS_USERPASS,ASSETCHAINS_SYMBOL); COINBASE_MATURITY = 1; - //fprintf(stderr,"ASSETCHAINS_PORT %s %u (%s)\n",ASSETCHAINS_SYMBOL,ASSETCHAINS_PORT,ASSETCHAINS_USERPASS); + fprintf(stderr,"ASSETCHAINS_PORT (%s) %u\n",ASSETCHAINS_SYMBOL,ASSETCHAINS_PORT); } //ASSETCHAINS_NOTARIES = GetArg("-ac_notaries",""); //komodo_assetchain_pubkeys((char *)ASSETCHAINS_NOTARIES.c_str()); From 9edf27ec053597178bcf178624c9a296a754f34d Mon Sep 17 00:00:00 2001 From: jl777 Date: Sun, 22 Apr 2018 16:05:56 +0300 Subject: [PATCH 02/17] +print --- src/deprecation.cpp | 2 +- src/komodo_utils.h | 3 ++- src/policy/fees.cpp | 2 +- src/pow.cpp | 2 +- src/qt/transactiondesc.cpp | 2 +- src/rpcmisc.cpp | 5 +++-- src/rpcserver.cpp | 2 +- src/txmempool.cpp | 2 +- src/util.h | 3 +++ 9 files changed, 14 insertions(+), 9 deletions(-) diff --git a/src/deprecation.cpp b/src/deprecation.cpp index 8898e049a..73ff8046d 100644 --- a/src/deprecation.cpp +++ b/src/deprecation.cpp @@ -11,7 +11,7 @@ #include "chainparams.h" static const std::string CLIENT_VERSION_STR = FormatVersion(CLIENT_VERSION); -extern char ASSETCHAINS_SYMBOL[]; +extern char ASSETCHAINS_SYMBOL[KOMODO_ASSETCHAIN_MAXLEN]; void EnforceNodeDeprecation(int nHeight, bool forceLogging) { diff --git a/src/komodo_utils.h b/src/komodo_utils.h index 80983cfa8..e6dcd2889 100644 --- a/src/komodo_utils.h +++ b/src/komodo_utils.h @@ -1663,7 +1663,8 @@ void komodo_args(char *argv0) } } BITCOIND_PORT = GetArg("-rpcport", BaseParams().RPCPort()); - //fprintf(stderr,"%s chain params initialized\n",ASSETCHAINS_SYMBOL); + if ( ASSETCHAINS_SYMBOL[0] != 0 ) + fprintf(stderr,"(%s) port.%u chain params initialized\n",ASSETCHAINS_SYMBOL,BITCOIND_PORT); } void komodo_nameset(char *symbol,char *dest,char *source) diff --git a/src/policy/fees.cpp b/src/policy/fees.cpp index 014b97cc3..e4ff99246 100644 --- a/src/policy/fees.cpp +++ b/src/policy/fees.cpp @@ -53,7 +53,7 @@ void TxConfirmStats::ClearCurrent(unsigned int nBlockHeight) unsigned int TxConfirmStats::FindBucketIndex(double val) { - extern char ASSETCHAINS_SYMBOL[]; + extern char ASSETCHAINS_SYMBOL[KOMODO_ASSETCHAIN_MAXLEN]; auto it = bucketMap.lower_bound(val); if ( it != bucketMap.end() ) { diff --git a/src/pow.cpp b/src/pow.cpp index 310e9721b..bd2410616 100644 --- a/src/pow.cpp +++ b/src/pow.cpp @@ -123,7 +123,7 @@ CBlockIndex *komodo_chainactive(int32_t height); void komodo_index2pubkey33(uint8_t *pubkey33,CBlockIndex *pindex,int32_t height); extern int32_t KOMODO_CHOSEN_ONE; extern uint64_t ASSETCHAINS_STAKED; -extern char ASSETCHAINS_SYMBOL[]; +extern char ASSETCHAINS_SYMBOL[KOMODO_ASSETCHAIN_MAXLEN]; #define KOMODO_ELECTION_GAP 2000 int32_t komodo_eligiblenotary(uint8_t pubkeys[66][33],int32_t *mids,uint32_t blocktimes[66],int32_t *nonzpkeysp,int32_t height); diff --git a/src/qt/transactiondesc.cpp b/src/qt/transactiondesc.cpp index d8a0a184b..170e45d59 100644 --- a/src/qt/transactiondesc.cpp +++ b/src/qt/transactiondesc.cpp @@ -264,7 +264,7 @@ QString TransactionDesc::toHTML(CWallet *wallet, CWalletTx &wtx, TransactionReco if (wtx.IsCoinBase()) { - extern char ASSETCHAINS_SYMBOL[]; + extern char ASSETCHAINS_SYMBOL[KOMODO_ASSETCHAIN_MAXLEN]; if ( ASSETCHAINS_SYMBOL[0] == 0 ) COINBASE_MATURITY = _COINBASE_MATURITY; quint32 numBlocksToMaturity = COINBASE_MATURITY + 1; diff --git a/src/rpcmisc.cpp b/src/rpcmisc.cpp index cab292571..39ca817e5 100644 --- a/src/rpcmisc.cpp +++ b/src/rpcmisc.cpp @@ -50,7 +50,7 @@ int32_t komodo_notarized_height(uint256 *hashp,uint256 *txidp); uint32_t komodo_chainactive_timestamp(); int32_t komodo_whoami(char *pubkeystr,int32_t height,uint32_t timestamp); extern int32_t KOMODO_LASTMINED,JUMBLR_PAUSE; -extern char ASSETCHAINS_SYMBOL[]; +extern char ASSETCHAINS_SYMBOL[KOMODO_ASSETCHAIN_MAXLEN]; int32_t notarizedtxid_height(char *dest,char *txidstr,int32_t *kmdnotarized_heightp); #define KOMODO_VERSION "0.1.1" extern uint16_t ASSETCHAINS_PORT; @@ -155,9 +155,10 @@ UniValue getinfo(const UniValue& params, bool fHelp) } if ( ASSETCHAINS_CC != 0 ) obj.push_back(Pair("CCid", (int)ASSETCHAINS_CC)); + obj.push_back(Pair("name", ASSETCHAINS_SYMBOL[0] == 0 ? "KMD" : ASSETCHAINS_SYMBOL)); if ( ASSETCHAINS_SYMBOL[0] != 0 ) { - obj.push_back(Pair("name", ASSETCHAINS_SYMBOL)); + //obj.push_back(Pair("name", ASSETCHAINS_SYMBOL)); obj.push_back(Pair("port", ASSETCHAINS_PORT)); obj.push_back(Pair("magic", (int)ASSETCHAINS_MAGIC)); if ( ASSETCHAINS_SUPPLY != 0 ) diff --git a/src/rpcserver.cpp b/src/rpcserver.cpp index 55dcabbb5..d3e08a935 100644 --- a/src/rpcserver.cpp +++ b/src/rpcserver.cpp @@ -238,7 +238,7 @@ UniValue help(const UniValue& params, bool fHelp) return tableRPC.help(strCommand); } -extern char ASSETCHAINS_SYMBOL[]; +extern char ASSETCHAINS_SYMBOL[KOMODO_ASSETCHAIN_MAXLEN]; UniValue stop(const UniValue& params, bool fHelp) { diff --git a/src/txmempool.cpp b/src/txmempool.cpp index 164d5bb47..d14de08b9 100644 --- a/src/txmempool.cpp +++ b/src/txmempool.cpp @@ -315,7 +315,7 @@ void CTxMemPool::remove(const CTransaction &origTx, std::list& rem void CTxMemPool::removeForReorg(const CCoinsViewCache *pcoins, unsigned int nMemPoolHeight, int flags) { // Remove transactions spending a coinbase which are now immature - extern char ASSETCHAINS_SYMBOL[]; + extern char ASSETCHAINS_SYMBOL[KOMODO_ASSETCHAIN_MAXLEN]; if ( ASSETCHAINS_SYMBOL[0] == 0 ) COINBASE_MATURITY = _COINBASE_MATURITY; // Remove transactions spending a coinbase which are now immature and no-longer-final transactions diff --git a/src/util.h b/src/util.h index faf741409..a9f5ba1f8 100644 --- a/src/util.h +++ b/src/util.h @@ -257,4 +257,7 @@ template void TraceThread(const char* name, Callable func) } } +#define KOMODO_ASSETCHAIN_MAXLEN 65 + + #endif // BITCOIN_UTIL_H From 3a19bc18f53eedadf9eacb084afa48c1927039cd Mon Sep 17 00:00:00 2001 From: jl777 Date: Sun, 22 Apr 2018 16:14:19 +0300 Subject: [PATCH 03/17] Test --- src/komodo_utils.h | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/komodo_utils.h b/src/komodo_utils.h index e6dcd2889..2ba2c92e1 100644 --- a/src/komodo_utils.h +++ b/src/komodo_utils.h @@ -1503,7 +1503,7 @@ char *argv0names[] = void komodo_args(char *argv0) { extern int64_t MAX_MONEY; - std::string name,addn; char *dirname,fname[512],arg0str[64],magicstr[9]; uint8_t magic[4],extrabuf[256],*extraptr=0; FILE *fp; uint64_t val; int32_t i,baseid,len,n,extralen = 0; + std::string name,addn; char *dirname,fname[512],arg0str[64],magicstr[9]; uint8_t magic[4],extrabuf[256],*extraptr=0; FILE *fp; uint64_t val; uint16_t port; int32_t i,baseid,len,n,extralen = 0; IS_KOMODO_NOTARY = GetBoolArg("-notary", false); if ( (KOMODO_EXCHANGEWALLET= GetBoolArg("-exchange", false)) != 0 ) fprintf(stderr,"KOMODO_EXCHANGEWALLET mode active\n"); @@ -1605,7 +1605,8 @@ void komodo_args(char *argv0) int32_t komodo_baseid(char *origbase); extern int COINBASE_MATURITY; komodo_configfile(ASSETCHAINS_SYMBOL,ASSETCHAINS_PORT + 1); - komodo_userpass(ASSETCHAINS_USERPASS,ASSETCHAINS_SYMBOL); + if ( (port= komodo_userpass(ASSETCHAINS_USERPASS,ASSETCHAINS_SYMBOL)) != 0 ) + ASSETCHAINS_PORT = port; COINBASE_MATURITY = 1; fprintf(stderr,"ASSETCHAINS_PORT (%s) %u\n",ASSETCHAINS_SYMBOL,ASSETCHAINS_PORT); } @@ -1662,9 +1663,11 @@ void komodo_args(char *argv0) break; } } - BITCOIND_PORT = GetArg("-rpcport", BaseParams().RPCPort()); if ( ASSETCHAINS_SYMBOL[0] != 0 ) + { + BITCOIND_PORT = GetArg("-rpcport", ASSETCHAINS_PORT); fprintf(stderr,"(%s) port.%u chain params initialized\n",ASSETCHAINS_SYMBOL,BITCOIND_PORT); + } else BITCOIND_PORT = GetArg("-rpcport", BaseParams().RPCPort()); } void komodo_nameset(char *symbol,char *dest,char *source) From 5cf29e5bfd77215986e078697d8383568612d3b6 Mon Sep 17 00:00:00 2001 From: jl777 Date: Sun, 22 Apr 2018 16:16:14 +0300 Subject: [PATCH 04/17] Test --- src/komodo_utils.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/komodo_utils.h b/src/komodo_utils.h index 2ba2c92e1..3d895fef3 100644 --- a/src/komodo_utils.h +++ b/src/komodo_utils.h @@ -1280,7 +1280,7 @@ uint16_t komodo_userpass(char *username,char *password,FILE *fp) else if ( (str= strstr(line,(char *)"rpcport")) != 0 ) { port = atoi(parse_conf_line(str,(char *)"rpcport")); - //printf("rpcport.%u in file\n",port); + printf("rpcport.%u in file\n",port); } } if ( rpcuser != 0 && rpcpassword != 0 ) From 4735f5b2016c0d1b6ad0fed9663a070b7680a4aa Mon Sep 17 00:00:00 2001 From: jl777 Date: Sun, 22 Apr 2018 16:16:27 +0300 Subject: [PATCH 05/17] Test --- src/komodo_utils.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/komodo_utils.h b/src/komodo_utils.h index 3d895fef3..62df64f1e 100644 --- a/src/komodo_utils.h +++ b/src/komodo_utils.h @@ -1280,7 +1280,7 @@ uint16_t komodo_userpass(char *username,char *password,FILE *fp) else if ( (str= strstr(line,(char *)"rpcport")) != 0 ) { port = atoi(parse_conf_line(str,(char *)"rpcport")); - printf("rpcport.%u in file\n",port); + fprintf(stderr,"rpcport.%u in file\n",port); } } if ( rpcuser != 0 && rpcpassword != 0 ) From 9c117b3df7e2a169765f220a8d6f37b4a8124cd2 Mon Sep 17 00:00:00 2001 From: jl777 Date: Sun, 22 Apr 2018 16:19:51 +0300 Subject: [PATCH 06/17] Test --- src/komodo_utils.h | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/komodo_utils.h b/src/komodo_utils.h index 62df64f1e..8219f96fc 100644 --- a/src/komodo_utils.h +++ b/src/komodo_utils.h @@ -1280,7 +1280,7 @@ uint16_t komodo_userpass(char *username,char *password,FILE *fp) else if ( (str= strstr(line,(char *)"rpcport")) != 0 ) { port = atoi(parse_conf_line(str,(char *)"rpcport")); - fprintf(stderr,"rpcport.%u in file\n",port); + //fprintf(stderr,"rpcport.%u in file\n",port); } } if ( rpcuser != 0 && rpcpassword != 0 ) @@ -1288,7 +1288,7 @@ uint16_t komodo_userpass(char *username,char *password,FILE *fp) strcpy(username,rpcuser); strcpy(password,rpcpassword); } - //printf("rpcuser.(%s) rpcpassword.(%s) KMDUSERPASS.(%s) %u\n",rpcuser,rpcpassword,KMDUSERPASS,port); + printf("rpcuser.(%s) rpcpassword.(%s) KMDUSERPASS.(%s) %u\n",rpcuser,rpcpassword,KMDUSERPASS,port); if ( rpcuser != 0 ) free(rpcuser); if ( rpcpassword != 0 ) @@ -1606,7 +1606,10 @@ void komodo_args(char *argv0) extern int COINBASE_MATURITY; komodo_configfile(ASSETCHAINS_SYMBOL,ASSETCHAINS_PORT + 1); if ( (port= komodo_userpass(ASSETCHAINS_USERPASS,ASSETCHAINS_SYMBOL)) != 0 ) + { ASSETCHAINS_PORT = port; + fprintf(stderr,"komodo_userpass returns %u %u\n",port,ASSETCHAINS_PORT); + } COINBASE_MATURITY = 1; fprintf(stderr,"ASSETCHAINS_PORT (%s) %u\n",ASSETCHAINS_SYMBOL,ASSETCHAINS_PORT); } From 34775d996cb13adbeee3467a08e7c3724de802b6 Mon Sep 17 00:00:00 2001 From: jl777 Date: Sun, 22 Apr 2018 16:36:00 +0300 Subject: [PATCH 07/17] Test --- src/komodo_utils.h | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/komodo_utils.h b/src/komodo_utils.h index 8219f96fc..7db807ac3 100644 --- a/src/komodo_utils.h +++ b/src/komodo_utils.h @@ -1263,7 +1263,7 @@ void iguana_initQ(queue_t *Q,char *name) free(item); } -uint16_t komodo_userpass(char *username,char *password,FILE *fp) +uint16_t _komodo_userpass(char *username,char *password,FILE *fp) { char *rpcuser,*rpcpassword,*str,line[8192]; uint16_t port = 0; rpcuser = rpcpassword = 0; @@ -1373,7 +1373,7 @@ void komodo_configfile(char *symbol,uint16_t port) } else { - komodo_userpass(myusername,mypassword,fp); + _komodo_userpass(myusername,mypassword,fp); mapArgs["-rpcpassword"] = mypassword; mapArgs["-rpcusername"] = myusername; //fprintf(stderr,"myusername.(%s)\n",myusername); @@ -1396,7 +1396,7 @@ void komodo_configfile(char *symbol,uint16_t port) #endif if ( (fp= fopen(fname,"rb")) != 0 ) { - if ( (kmdport= komodo_userpass(username,password,fp)) != 0 ) + if ( (kmdport= _komodo_userpass(username,password,fp)) != 0 ) KMD_PORT = kmdport; sprintf(KMDUSERPASS,"%s:%s",username,password); fclose(fp); @@ -1420,12 +1420,11 @@ uint16_t komodo_userpass(char *userpass,char *symbol) komodo_statefname(fname,symbol,confname); if ( (fp= fopen(fname,"rb")) != 0 ) { - port = komodo_userpass(username,password,fp); + port = _komodo_userpass(username,password,fp); sprintf(userpass,"%s:%s",username,password); if ( strcmp(symbol,ASSETCHAINS_SYMBOL) == 0 ) strcpy(ASSETCHAINS_USERPASS,userpass); fclose(fp); - return((int32_t)strlen(userpass)); } return(port); } From 59490d6f232caf74aae98fc4cbbe70177641f2f0 Mon Sep 17 00:00:00 2001 From: jl777 Date: Sun, 22 Apr 2018 16:39:33 +0300 Subject: [PATCH 08/17] Test --- src/komodo_utils.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/komodo_utils.h b/src/komodo_utils.h index 7db807ac3..b7e1aca6e 100644 --- a/src/komodo_utils.h +++ b/src/komodo_utils.h @@ -1656,7 +1656,7 @@ void komodo_args(char *argv0) #endif if ( (fp= fopen(fname,"rb")) != 0 ) { - komodo_userpass(username,password,fp); + _komodo_userpass(username,password,fp); sprintf(iter == 0 ? KMDUSERPASS : BTCUSERPASS,"%s:%s",username,password); fclose(fp); //printf("KOMODO.(%s) -> userpass.(%s)\n",fname,KMDUSERPASS); From 67899f2e2c0071b1c2ee9fbbacab3d12e1ae5f1b Mon Sep 17 00:00:00 2001 From: jl777 Date: Sun, 22 Apr 2018 16:44:35 +0300 Subject: [PATCH 09/17] -prints --- src/komodo_utils.h | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/src/komodo_utils.h b/src/komodo_utils.h index b7e1aca6e..7ed7db9f6 100644 --- a/src/komodo_utils.h +++ b/src/komodo_utils.h @@ -1288,7 +1288,7 @@ uint16_t _komodo_userpass(char *username,char *password,FILE *fp) strcpy(username,rpcuser); strcpy(password,rpcpassword); } - printf("rpcuser.(%s) rpcpassword.(%s) KMDUSERPASS.(%s) %u\n",rpcuser,rpcpassword,KMDUSERPASS,port); + //printf("rpcuser.(%s) rpcpassword.(%s) KMDUSERPASS.(%s) %u\n",rpcuser,rpcpassword,KMDUSERPASS,port); if ( rpcuser != 0 ) free(rpcuser); if ( rpcpassword != 0 ) @@ -1605,12 +1605,9 @@ void komodo_args(char *argv0) extern int COINBASE_MATURITY; komodo_configfile(ASSETCHAINS_SYMBOL,ASSETCHAINS_PORT + 1); if ( (port= komodo_userpass(ASSETCHAINS_USERPASS,ASSETCHAINS_SYMBOL)) != 0 ) - { ASSETCHAINS_PORT = port; - fprintf(stderr,"komodo_userpass returns %u %u\n",port,ASSETCHAINS_PORT); - } COINBASE_MATURITY = 1; - fprintf(stderr,"ASSETCHAINS_PORT (%s) %u\n",ASSETCHAINS_SYMBOL,ASSETCHAINS_PORT); + //fprintf(stderr,"ASSETCHAINS_PORT (%s) %u\n",ASSETCHAINS_SYMBOL,ASSETCHAINS_PORT); } //ASSETCHAINS_NOTARIES = GetArg("-ac_notaries",""); //komodo_assetchain_pubkeys((char *)ASSETCHAINS_NOTARIES.c_str()); @@ -1667,8 +1664,8 @@ void komodo_args(char *argv0) } if ( ASSETCHAINS_SYMBOL[0] != 0 ) { - BITCOIND_PORT = GetArg("-rpcport", ASSETCHAINS_PORT); - fprintf(stderr,"(%s) port.%u chain params initialized\n",ASSETCHAINS_SYMBOL,BITCOIND_PORT); + BITCOIND_PORT = GetArg("-rpcport", ASSETCHAINS_PORT+1); + //fprintf(stderr,"(%s) port.%u chain params initialized\n",ASSETCHAINS_SYMBOL,BITCOIND_PORT); } else BITCOIND_PORT = GetArg("-rpcport", BaseParams().RPCPort()); } From 05c2ba6371243d82eda7050672299c1e808cc908 Mon Sep 17 00:00:00 2001 From: jl777 Date: Sun, 22 Apr 2018 17:10:35 +0300 Subject: [PATCH 10/17] split out asset chain p2p port from roc port --- src/bitcoin-cli.cpp | 2 +- src/chainparams.cpp | 12 +++++++----- src/komodo_bitcoind.h | 2 +- src/komodo_globals.h | 4 ++-- src/komodo_utils.h | 25 ++++++++++++++----------- src/rpcmisc.cpp | 5 +++-- src/util.cpp | 5 ++--- src/wallet-utility.cpp | 4 ++-- src/zcash/CreateJoinSplit.cpp | 2 +- 9 files changed, 33 insertions(+), 28 deletions(-) diff --git a/src/bitcoin-cli.cpp b/src/bitcoin-cli.cpp index 178f0baed..bf189e483 100644 --- a/src/bitcoin-cli.cpp +++ b/src/bitcoin-cli.cpp @@ -202,7 +202,7 @@ UniValue CallRPC(const string& strMethod, const UniValue& params) { std::string host = GetArg("-rpcconnect", "127.0.0.1"); int port = GetArg("-rpcport", BaseParams().RPCPort()); - BITCOIND_PORT = port; + BITCOIND_RPCPORT = port; // Obtain event base raii_event_base base = obtain_event_base(); diff --git a/src/chainparams.cpp b/src/chainparams.cpp index 49c4a2244..df258d782 100644 --- a/src/chainparams.cpp +++ b/src/chainparams.cpp @@ -79,7 +79,7 @@ void *chainparams_commandline(void *ptr); #include "komodo_defs.h" extern char ASSETCHAINS_SYMBOL[KOMODO_ASSETCHAIN_MAXLEN]; -extern uint16_t ASSETCHAINS_PORT; +extern uint16_t ASSETCHAINS_P2PPORT,ASSETCHAINS_RPCPORT; extern uint32_t ASSETCHAIN_INIT; extern uint32_t ASSETCHAINS_MAGIC; extern uint64_t ASSETCHAINS_SUPPLY; @@ -209,7 +209,7 @@ void CChainParams::SetCheckpointData(CChainParams::CCheckpointData checkpointDat void *chainparams_commandline(void *ptr) { CChainParams::CCheckpointData checkpointData; - while ( ASSETCHAINS_PORT == 0 ) + while ( ASSETCHAINS_P2PPORT == 0 ) { #ifdef _WIN32 boost::this_thread::sleep(boost::posix_time::milliseconds(1000)); @@ -217,15 +217,17 @@ void *chainparams_commandline(void *ptr) sleep(1); #endif } - //fprintf(stderr,">>>>>>>> port.%u\n",ASSETCHAINS_PORT); + //fprintf(stderr,">>>>>>>> port.%u\n",ASSETCHAINS_P2PPORT); if ( ASSETCHAINS_SYMBOL[0] != 0 ) { - mainParams.SetDefaultPort(ASSETCHAINS_PORT); + mainParams.SetDefaultPort(ASSETCHAINS_P2PPORT); + if ( ASSETCHAINS_RPCPORT == 0 ) + ASSETCHAINS_RPCPORT = ASSETCHAINS_P2PPORT + 1; mainParams.pchMessageStart[0] = ASSETCHAINS_MAGIC & 0xff; mainParams.pchMessageStart[1] = (ASSETCHAINS_MAGIC >> 8) & 0xff; mainParams.pchMessageStart[2] = (ASSETCHAINS_MAGIC >> 16) & 0xff; mainParams.pchMessageStart[3] = (ASSETCHAINS_MAGIC >> 24) & 0xff; - fprintf(stderr,">>>>>>>>>> %s: port.%u/%u magic.%08x %u %u coins\n",ASSETCHAINS_SYMBOL,ASSETCHAINS_PORT,ASSETCHAINS_PORT+1,ASSETCHAINS_MAGIC,ASSETCHAINS_MAGIC,(uint32_t)ASSETCHAINS_SUPPLY); + fprintf(stderr,">>>>>>>>>> %s: p2p.%u rpc.%u magic.%08x %u %u coins\n",ASSETCHAINS_SYMBOL,ASSETCHAINS_P2PPORT,ASSETCHAINS_RPCPORT,ASSETCHAINS_MAGIC,ASSETCHAINS_MAGIC,(uint32_t)ASSETCHAINS_SUPPLY); checkpointData = //(Checkpoints::CCheckpointData) { diff --git a/src/komodo_bitcoind.h b/src/komodo_bitcoind.h index bdc5bdecc..b9680f9fd 100644 --- a/src/komodo_bitcoind.h +++ b/src/komodo_bitcoind.h @@ -504,7 +504,7 @@ int32_t komodo_verifynotarization(char *symbol,char *dest,int32_t height,int32_t uint256 hash; char params[128],*hexstr,*jsonstr; cJSON *result; int32_t i; uint8_t revbuf[32]; memset(&hash,0,sizeof(hash)); sprintf(params,"[%d]",height); - if ( (jsonstr= komodo_issuemethod(KMDUSERPASS,(char *)"getblockhash",params,BITCOIND_PORT)) != 0 ) + if ( (jsonstr= komodo_issuemethod(KMDUSERPASS,(char *)"getblockhash",params,BITCOIND_RPCPORT)) != 0 ) { if ( (result= cJSON_Parse(jsonstr)) != 0 ) { diff --git a/src/komodo_globals.h b/src/komodo_globals.h index ca2145e0f..8472ddb8f 100644 --- a/src/komodo_globals.h +++ b/src/komodo_globals.h @@ -51,13 +51,13 @@ std::string NOTARY_PUBKEY,ASSETCHAINS_NOTARIES,ASSETCHAINS_OVERRIDE_PUBKEY; uint8_t NOTARY_PUBKEY33[33],ASSETCHAINS_OVERRIDE_PUBKEY33[33]; char ASSETCHAINS_SYMBOL[KOMODO_ASSETCHAIN_MAXLEN],ASSETCHAINS_USERPASS[4096]; -uint16_t ASSETCHAINS_PORT; +uint16_t ASSETCHAINS_P2PPORT; uint32_t ASSETCHAIN_INIT,ASSETCHAINS_CC; uint32_t ASSETCHAINS_MAGIC = 2387029918; uint64_t ASSETCHAINS_ENDSUBSIDY,ASSETCHAINS_REWARD,ASSETCHAINS_HALVING,ASSETCHAINS_DECAY,ASSETCHAINS_COMMISSION,ASSETCHAINS_STAKED,ASSETCHAINS_SUPPLY = 10; uint32_t KOMODO_INITDONE; -char KMDUSERPASS[4096],BTCUSERPASS[4096]; uint16_t KMD_PORT = 7771,BITCOIND_PORT = 7771; +char KMDUSERPASS[4096],BTCUSERPASS[4096]; uint16_t KMD_PORT = 7771,BITCOIND_RPCPORT = 7771; uint64_t PENDING_KOMODO_TX; extern int32_t KOMODO_LOADINGBLOCKS; diff --git a/src/komodo_utils.h b/src/komodo_utils.h index 7ed7db9f6..9d455ce08 100644 --- a/src/komodo_utils.h +++ b/src/komodo_utils.h @@ -1333,7 +1333,7 @@ void komodo_statefname(char *fname,char *symbol,char *str) //printf("test.(%s) -> [%s] statename.(%s) %s\n",test,ASSETCHAINS_SYMBOL,symbol,fname); } -void komodo_configfile(char *symbol,uint16_t port) +void komodo_configfile(char *symbol,uint16_t rpcport) { static char myusername[512],mypassword[8192]; FILE *fp; uint16_t kmdport; uint8_t buf2[33]; char fname[512],buf[128],username[512],password[8192]; uint32_t crc,r,r2,i; @@ -1354,7 +1354,7 @@ void komodo_configfile(char *symbol,uint16_t port) sprintf(&password[i*2],"%02x",buf2[i]); password[i*2] = 0; sprintf(buf,"%s.conf",symbol); - BITCOIND_PORT = port; + BITCOIND_RPCPORT = port; #ifdef _WIN32 sprintf(fname,"%s\\%s",GetDataDir(false).string().c_str(),buf); #else @@ -1588,7 +1588,7 @@ void komodo_args(char *argv0) else MAX_MONEY = (ASSETCHAINS_SUPPLY+1) * SATOSHIDEN + ASSETCHAINS_REWARD * (ASSETCHAINS_ENDSUBSIDY==0 ? 10000000 : ASSETCHAINS_ENDSUBSIDY); MAX_MONEY += (MAX_MONEY * ASSETCHAINS_COMMISSION) / SATOSHIDEN; //printf("baseid.%d MAX_MONEY.%s %.8f\n",baseid,ASSETCHAINS_SYMBOL,(double)MAX_MONEY/SATOSHIDEN); - ASSETCHAINS_PORT = komodo_port(ASSETCHAINS_SYMBOL,ASSETCHAINS_SUPPLY,&ASSETCHAINS_MAGIC,extraptr,extralen); + ASSETCHAINS_P2PPORT = komodo_port(ASSETCHAINS_SYMBOL,ASSETCHAINS_SUPPLY,&ASSETCHAINS_MAGIC,extraptr,extralen); while ( (dirname= (char *)GetDataDir(false).string().c_str()) == 0 || dirname[0] == 0 ) { fprintf(stderr,"waiting for datadir\n"); @@ -1603,12 +1603,14 @@ void komodo_args(char *argv0) { int32_t komodo_baseid(char *origbase); extern int COINBASE_MATURITY; - komodo_configfile(ASSETCHAINS_SYMBOL,ASSETCHAINS_PORT + 1); if ( (port= komodo_userpass(ASSETCHAINS_USERPASS,ASSETCHAINS_SYMBOL)) != 0 ) - ASSETCHAINS_PORT = port; + ASSETCHAINS_RPCPORT = port; + else komodo_configfile(ASSETCHAINS_SYMBOL,ASSETCHAINS_P2PPORT + 1); COINBASE_MATURITY = 1; - //fprintf(stderr,"ASSETCHAINS_PORT (%s) %u\n",ASSETCHAINS_SYMBOL,ASSETCHAINS_PORT); + //fprintf(stderr,"ASSETCHAINS_RPCPORT (%s) %u\n",ASSETCHAINS_SYMBOL,ASSETCHAINS_RPCPORT); } + if ( ASSETCHAINS_RPCPORT == 0 ) + ASSETCHAINS_RPCPORT = ASSETCHAINS_P2PPORT + 1; //ASSETCHAINS_NOTARIES = GetArg("-ac_notaries",""); //komodo_assetchain_pubkeys((char *)ASSETCHAINS_NOTARIES.c_str()); iguana_rwnum(1,magic,sizeof(ASSETCHAINS_MAGIC),(void *)&ASSETCHAINS_MAGIC); @@ -1619,7 +1621,7 @@ void komodo_args(char *argv0) sprintf(fname,"gen%s",ASSETCHAINS_SYMBOL); if ( (fp= fopen(fname,"wb")) != 0 ) { - fprintf(fp,iguanafmtstr,name.c_str(),name.c_str(),name.c_str(),name.c_str(),magicstr,ASSETCHAINS_PORT,ASSETCHAINS_PORT+1,"78.47.196.146"); + fprintf(fp,iguanafmtstr,name.c_str(),name.c_str(),name.c_str(),name.c_str(),magicstr,ASSETCHAINS_P2PPORT,ASSETCHAINS_RPCPORT,"78.47.196.146"); fclose(fp); //printf("created (%s)\n",fname); } else printf("error creating (%s)\n",fname); @@ -1628,7 +1630,8 @@ void komodo_args(char *argv0) else { char fname[512],username[512],password[4096]; int32_t iter; FILE *fp; - ASSETCHAINS_PORT = 8777; + ASSETCHAINS_P2PPORT = 7770; + ASSETCHAINS_RPCPORT = 7771; for (iter=0; iter<2; iter++) { strcpy(fname,GetDataDir().string().c_str()); @@ -1664,9 +1667,9 @@ void komodo_args(char *argv0) } if ( ASSETCHAINS_SYMBOL[0] != 0 ) { - BITCOIND_PORT = GetArg("-rpcport", ASSETCHAINS_PORT+1); - //fprintf(stderr,"(%s) port.%u chain params initialized\n",ASSETCHAINS_SYMBOL,BITCOIND_PORT); - } else BITCOIND_PORT = GetArg("-rpcport", BaseParams().RPCPort()); + BITCOIND_RPCPORT = GetArg("-rpcport", ASSETCHAINS_RPCPORT); + //fprintf(stderr,"(%s) port.%u chain params initialized\n",ASSETCHAINS_SYMBOL,BITCOIND_RPCPORT); + } else BITCOIND_RPCPORT = GetArg("-rpcport", BaseParams().RPCPort()); } void komodo_nameset(char *symbol,char *dest,char *source) diff --git a/src/rpcmisc.cpp b/src/rpcmisc.cpp index 39ca817e5..5b117d03f 100644 --- a/src/rpcmisc.cpp +++ b/src/rpcmisc.cpp @@ -53,7 +53,7 @@ extern int32_t KOMODO_LASTMINED,JUMBLR_PAUSE; extern char ASSETCHAINS_SYMBOL[KOMODO_ASSETCHAIN_MAXLEN]; int32_t notarizedtxid_height(char *dest,char *txidstr,int32_t *kmdnotarized_heightp); #define KOMODO_VERSION "0.1.1" -extern uint16_t ASSETCHAINS_PORT; +extern uint16_t ASSETCHAINS_P2PPORT,ASSETCHAINS_RPCPORT; extern uint32_t ASSETCHAINS_CC; extern uint32_t ASSETCHAINS_MAGIC; extern uint64_t ASSETCHAINS_ENDSUBSIDY,ASSETCHAINS_REWARD,ASSETCHAINS_HALVING,ASSETCHAINS_DECAY,ASSETCHAINS_COMMISSION,ASSETCHAINS_STAKED,ASSETCHAINS_SUPPLY; @@ -159,7 +159,8 @@ UniValue getinfo(const UniValue& params, bool fHelp) if ( ASSETCHAINS_SYMBOL[0] != 0 ) { //obj.push_back(Pair("name", ASSETCHAINS_SYMBOL)); - obj.push_back(Pair("port", ASSETCHAINS_PORT)); + obj.push_back(Pair("p2pport", ASSETCHAINS_P2PPORT)); + obj.push_back(Pair("rpcport", ASSETCHAINS_RPCPORT)); obj.push_back(Pair("magic", (int)ASSETCHAINS_MAGIC)); if ( ASSETCHAINS_SUPPLY != 0 ) obj.push_back(Pair("premine", ASSETCHAINS_SUPPLY)); diff --git a/src/util.cpp b/src/util.cpp index dd9b709a2..c9d831a18 100644 --- a/src/util.cpp +++ b/src/util.cpp @@ -644,9 +644,8 @@ void ReadConfigFile(map& mapSettingsRet, } // If datadir is changed in .conf file: ClearDatadirCache(); - extern uint16_t BITCOIND_PORT; - BITCOIND_PORT = GetArg("-rpcport",BaseParams().RPCPort()); - //fprintf(stderr,"from conf file %s RPC %u, used to be %u\n",ASSETCHAINS_SYMBOL,BITCOIND_PORT,BITCOIND_PORT); + extern uint16_t BITCOIND_RPCPORT; + BITCOIND_RPCPORT = GetArg("-rpcport",BaseParams().RPCPort()); } #ifndef _WIN32 diff --git a/src/wallet-utility.cpp b/src/wallet-utility.cpp index 04b9edf45..a0adc8684 100644 --- a/src/wallet-utility.cpp +++ b/src/wallet-utility.cpp @@ -12,8 +12,8 @@ char ASSETCHAINS_SYMBOL[KOMODO_ASSETCHAIN_MAXLEN]; int64_t MAX_MONEY = 200000000 * 100000000LL; uint64_t ASSETCHAINS_SUPPLY; -uint16_t BITCOIND_PORT = 7771; -uint16_t ASSETCHAINS_PORT; +uint16_t BITCOIND_RPCPORT = 7771; +uint16_t ASSETCHAINS_P2PPORT,ASSETCHAINS_RPCPORT; uint32_t ASSETCHAIN_INIT,ASSETCHAINS_CC; uint32_t ASSETCHAINS_MAGIC = 2387029918; diff --git a/src/zcash/CreateJoinSplit.cpp b/src/zcash/CreateJoinSplit.cpp index 166b4fac7..94b0241b3 100644 --- a/src/zcash/CreateJoinSplit.cpp +++ b/src/zcash/CreateJoinSplit.cpp @@ -10,7 +10,7 @@ #include "komodo_defs.h" char ASSETCHAINS_SYMBOL[KOMODO_ASSETCHAIN_MAXLEN]; int64_t MAX_MONEY = 200000000 * 100000000LL; -uint16_t BITCOIND_PORT = 7771; +uint16_t BITCOIND_RPCPORT = 7771; uint32_t ASSETCHAINS_CC = 0; using namespace libzcash; From 307d443cca478e57cb9a45651d716063569110a5 Mon Sep 17 00:00:00 2001 From: jl777 Date: Sun, 22 Apr 2018 17:11:35 +0300 Subject: [PATCH 11/17] Test --- src/komodo_jumblr.h | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/src/komodo_jumblr.h b/src/komodo_jumblr.h index e033306b4..f36bb441a 100755 --- a/src/komodo_jumblr.h +++ b/src/komodo_jumblr.h @@ -83,7 +83,7 @@ char *jumblr_importaddress(char *address) { char params[1024]; sprintf(params,"[\"%s\", \"%s\", false]",address,address); - return(jumblr_issuemethod(KMDUSERPASS,(char *)"importaddress",params,BITCOIND_PORT)); + return(jumblr_issuemethod(KMDUSERPASS,(char *)"importaddress",params,BITCOIND_RPCPORT)); } char *jumblr_validateaddress(char *addr) @@ -91,7 +91,7 @@ char *jumblr_validateaddress(char *addr) char params[1024]; sprintf(params,"[\"%s\"]",addr); printf("validateaddress.%s\n",params); - return(jumblr_issuemethod(KMDUSERPASS,(char *)"validateaddress",params,BITCOIND_PORT)); + return(jumblr_issuemethod(KMDUSERPASS,(char *)"validateaddress",params,BITCOIND_RPCPORT)); } int32_t Jumblr_secretaddrfind(char *searchaddr) @@ -222,28 +222,28 @@ char *jumblr_zgetnewaddress() { char params[1024]; sprintf(params,"[]"); - return(jumblr_issuemethod(KMDUSERPASS,(char *)"z_getnewaddress",params,BITCOIND_PORT)); + return(jumblr_issuemethod(KMDUSERPASS,(char *)"z_getnewaddress",params,BITCOIND_RPCPORT)); } char *jumblr_zlistoperationids() { char params[1024]; sprintf(params,"[]"); - return(jumblr_issuemethod(KMDUSERPASS,(char *)"z_listoperationids",params,BITCOIND_PORT)); + return(jumblr_issuemethod(KMDUSERPASS,(char *)"z_listoperationids",params,BITCOIND_RPCPORT)); } char *jumblr_zgetoperationresult(char *opid) { char params[1024]; sprintf(params,"[[\"%s\"]]",opid); - return(jumblr_issuemethod(KMDUSERPASS,(char *)"z_getoperationresult",params,BITCOIND_PORT)); + return(jumblr_issuemethod(KMDUSERPASS,(char *)"z_getoperationresult",params,BITCOIND_RPCPORT)); } char *jumblr_zgetoperationstatus(char *opid) { char params[1024]; sprintf(params,"[[\"%s\"]]",opid); - return(jumblr_issuemethod(KMDUSERPASS,(char *)"z_getoperationstatus",params,BITCOIND_PORT)); + return(jumblr_issuemethod(KMDUSERPASS,(char *)"z_getoperationstatus",params,BITCOIND_RPCPORT)); } char *jumblr_sendt_to_z(char *taddr,char *zaddr,double amount) @@ -253,7 +253,7 @@ char *jumblr_sendt_to_z(char *taddr,char *zaddr,double amount) return(clonestr((char *)"{\"error\":\"illegal address in t to z\"}")); sprintf(params,"[\"%s\", [{\"address\":\"%s\",\"amount\":%.8f}, {\"address\":\"%s\",\"amount\":%.8f}], 1, %.8f]",taddr,zaddr,amount-fee-JUMBLR_TXFEE,JUMBLR_ADDR,fee,JUMBLR_TXFEE); printf("t -> z: %s\n",params); - return(jumblr_issuemethod(KMDUSERPASS,(char *)"z_sendmany",params,BITCOIND_PORT)); + return(jumblr_issuemethod(KMDUSERPASS,(char *)"z_sendmany",params,BITCOIND_RPCPORT)); } char *jumblr_sendz_to_z(char *zaddrS,char *zaddrD,double amount) @@ -264,7 +264,7 @@ char *jumblr_sendz_to_z(char *zaddrS,char *zaddrD,double amount) //sprintf(params,"[\"%s\", [{\"address\":\"%s\",\"amount\":%.8f}, {\"address\":\"%s\",\"amount\":%.8f}], 1, %.8f]",zaddrS,zaddrD,amount-fee-JUMBLR_TXFEE,JUMBLR_ADDR,fee,JUMBLR_TXFEE); sprintf(params,"[\"%s\", [{\"address\":\"%s\",\"amount\":%.8f}], 1, %.8f]",zaddrS,zaddrD,amount-fee-JUMBLR_TXFEE,JUMBLR_TXFEE); printf("z -> z: %s\n",params); - return(jumblr_issuemethod(KMDUSERPASS,(char *)"z_sendmany",params,BITCOIND_PORT)); + return(jumblr_issuemethod(KMDUSERPASS,(char *)"z_sendmany",params,BITCOIND_RPCPORT)); } char *jumblr_sendz_to_t(char *zaddr,char *taddr,double amount) @@ -274,56 +274,56 @@ char *jumblr_sendz_to_t(char *zaddr,char *taddr,double amount) return(clonestr((char *)"{\"error\":\"illegal address in z to t\"}")); sprintf(params,"[\"%s\", [{\"address\":\"%s\",\"amount\":%.8f}, {\"address\":\"%s\",\"amount\":%.8f}], 1, %.8f]",zaddr,taddr,amount-fee-JUMBLR_TXFEE,JUMBLR_ADDR,fee,JUMBLR_TXFEE); printf("z -> t: %s\n",params); - return(jumblr_issuemethod(KMDUSERPASS,(char *)"z_sendmany",params,BITCOIND_PORT)); + return(jumblr_issuemethod(KMDUSERPASS,(char *)"z_sendmany",params,BITCOIND_RPCPORT)); } char *jumblr_zlistaddresses() { char params[1024]; sprintf(params,"[]"); - return(jumblr_issuemethod(KMDUSERPASS,(char *)"z_listaddresses",params,BITCOIND_PORT)); + return(jumblr_issuemethod(KMDUSERPASS,(char *)"z_listaddresses",params,BITCOIND_RPCPORT)); } char *jumblr_zlistreceivedbyaddress(char *addr) { char params[1024]; sprintf(params,"[\"%s\", 1]",addr); - return(jumblr_issuemethod(KMDUSERPASS,(char *)"z_listreceivedbyaddress",params,BITCOIND_PORT)); + return(jumblr_issuemethod(KMDUSERPASS,(char *)"z_listreceivedbyaddress",params,BITCOIND_RPCPORT)); } char *jumblr_getreceivedbyaddress(char *addr) { char params[1024]; sprintf(params,"[\"%s\", 1]",addr); - return(jumblr_issuemethod(KMDUSERPASS,(char *)"getreceivedbyaddress",params,BITCOIND_PORT)); + return(jumblr_issuemethod(KMDUSERPASS,(char *)"getreceivedbyaddress",params,BITCOIND_RPCPORT)); } char *jumblr_importprivkey(char *wifstr) { char params[1024]; sprintf(params,"[\"%s\", \"\", false]",wifstr); - return(jumblr_issuemethod(KMDUSERPASS,(char *)"importprivkey",params,BITCOIND_PORT)); + return(jumblr_issuemethod(KMDUSERPASS,(char *)"importprivkey",params,BITCOIND_RPCPORT)); } char *jumblr_zgetbalance(char *addr) { char params[1024]; sprintf(params,"[\"%s\", 1]",addr); - return(jumblr_issuemethod(KMDUSERPASS,(char *)"z_getbalance",params,BITCOIND_PORT)); + return(jumblr_issuemethod(KMDUSERPASS,(char *)"z_getbalance",params,BITCOIND_RPCPORT)); } char *jumblr_listunspent(char *coinaddr) { char params[1024]; sprintf(params,"[1, 99999999, [\"%s\"]]",coinaddr); - return(jumblr_issuemethod(KMDUSERPASS,(char *)"listunspent",params,BITCOIND_PORT)); + return(jumblr_issuemethod(KMDUSERPASS,(char *)"listunspent",params,BITCOIND_RPCPORT)); } char *jumblr_gettransaction(char *txidstr) { char params[1024]; sprintf(params,"[\"%s\", 1]",txidstr); - return(jumblr_issuemethod(KMDUSERPASS,(char *)"getrawtransaction",params,BITCOIND_PORT)); + return(jumblr_issuemethod(KMDUSERPASS,(char *)"getrawtransaction",params,BITCOIND_RPCPORT)); } int32_t jumblr_numvins(bits256 txid) From 346d96b956f9d9b4a8ae42a76ac313acf46a0010 Mon Sep 17 00:00:00 2001 From: jl777 Date: Sun, 22 Apr 2018 17:13:18 +0300 Subject: [PATCH 12/17] Test --- src/komodo_globals.h | 2 +- src/komodo_utils.h | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/komodo_globals.h b/src/komodo_globals.h index 8472ddb8f..f9e0f6688 100644 --- a/src/komodo_globals.h +++ b/src/komodo_globals.h @@ -51,7 +51,7 @@ std::string NOTARY_PUBKEY,ASSETCHAINS_NOTARIES,ASSETCHAINS_OVERRIDE_PUBKEY; uint8_t NOTARY_PUBKEY33[33],ASSETCHAINS_OVERRIDE_PUBKEY33[33]; char ASSETCHAINS_SYMBOL[KOMODO_ASSETCHAIN_MAXLEN],ASSETCHAINS_USERPASS[4096]; -uint16_t ASSETCHAINS_P2PPORT; +uint16_t ASSETCHAINS_P2PPORT,ASSETCHAINS_RPCPORT; uint32_t ASSETCHAIN_INIT,ASSETCHAINS_CC; uint32_t ASSETCHAINS_MAGIC = 2387029918; uint64_t ASSETCHAINS_ENDSUBSIDY,ASSETCHAINS_REWARD,ASSETCHAINS_HALVING,ASSETCHAINS_DECAY,ASSETCHAINS_COMMISSION,ASSETCHAINS_STAKED,ASSETCHAINS_SUPPLY = 10; diff --git a/src/komodo_utils.h b/src/komodo_utils.h index 9d455ce08..74eefd417 100644 --- a/src/komodo_utils.h +++ b/src/komodo_utils.h @@ -1354,7 +1354,7 @@ void komodo_configfile(char *symbol,uint16_t rpcport) sprintf(&password[i*2],"%02x",buf2[i]); password[i*2] = 0; sprintf(buf,"%s.conf",symbol); - BITCOIND_RPCPORT = port; + BITCOIND_RPCPORT = rpcport; #ifdef _WIN32 sprintf(fname,"%s\\%s",GetDataDir(false).string().c_str(),buf); #else @@ -1365,7 +1365,7 @@ void komodo_configfile(char *symbol,uint16_t rpcport) #ifndef FROM_CLI if ( (fp= fopen(fname,"wb")) != 0 ) { - fprintf(fp,"rpcuser=user%u\nrpcpassword=pass%s\nrpcport=%u\nserver=1\ntxindex=1\nrpcworkqueue=256\nrpcallowip=127.0.0.1\n",crc,password,port); + fprintf(fp,"rpcuser=user%u\nrpcpassword=pass%s\nrpcport=%u\nserver=1\ntxindex=1\nrpcworkqueue=256\nrpcallowip=127.0.0.1\n",crc,password,rpcport); fclose(fp); printf("Created (%s)\n",fname); } else printf("Couldnt create (%s)\n",fname); From 3ede6dd335b02c75e4d245ada14db9bc435392b4 Mon Sep 17 00:00:00 2001 From: jl777 Date: Sun, 22 Apr 2018 17:14:27 +0300 Subject: [PATCH 13/17] Test --- src/komodo_utils.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/komodo_utils.h b/src/komodo_utils.h index 74eefd417..24be6a0dc 100644 --- a/src/komodo_utils.h +++ b/src/komodo_utils.h @@ -1337,7 +1337,7 @@ void komodo_configfile(char *symbol,uint16_t rpcport) { static char myusername[512],mypassword[8192]; FILE *fp; uint16_t kmdport; uint8_t buf2[33]; char fname[512],buf[128],username[512],password[8192]; uint32_t crc,r,r2,i; - if ( symbol != 0 && port != 0 ) + if ( symbol != 0 && rpcport != 0 ) { r = (uint32_t)time(NULL); r2 = OS_milliseconds(); From f8a07170af77660b3d598ede0442d43f8d88623c Mon Sep 17 00:00:00 2001 From: jl777 Date: Mon, 23 Apr 2018 10:28:16 +0300 Subject: [PATCH 14/17] Revert half of windows headers filter --- src/main.cpp | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/src/main.cpp b/src/main.cpp index e634142ba..9e954324c 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -3855,7 +3855,7 @@ bool CheckBlock(int32_t height,CBlockIndex *pindex,const CBlock& block, CValidat // Check transactions BOOST_FOREACH(const CTransaction& tx, block.vtx) { - if ( komodo_validate_interest(tx,height == 0 ? komodo_block2height((CBlock *)&block) : height,block.nTime,1) < 0 ) + if ( komodo_validate_interest(tx,height == 0 ? komodo_block2height((CBlock *)&block) : height,block.nTime,0) < 0 ) return error("CheckBlock: komodo_validate_interest failed"); if (!CheckTransaction(tx, state, verifier)) return error("CheckBlock: CheckTransaction failed"); @@ -4009,7 +4009,8 @@ bool AcceptBlockHeader(const CBlockHeader& block, CValidationState& state, CBloc BlockMap::iterator mi = mapBlockIndex.find(block.hashPrevBlock); if (mi == mapBlockIndex.end()) { - fprintf(stderr,"AcceptBlockHeader prev block not found\n"); + fprintf(stderr,"AcceptBlockHeader hashPrevBlock %s not found %p\n",block.hashPrevBlock.ToString().c_str,pindex); + // request block.hashPrevBlock return(false); //return state.DoS(10, error("%s: prev block not found", __func__), 0, "bad-prevblk"); } @@ -4137,6 +4138,15 @@ CBlockIndex *komodo_ensure(CBlock *pblock,uint256 hash) miSelf->second = AddToBlockIndex(*pblock); //fprintf(stderr,"Block header %s is already known, but without pindex -> ensured %p\n",hash.ToString().c_str(),miSelf->second); } + if ( hash != chainparams.GetConsensus().hashGenesisBlock ) + { + miSelf = mapBlockIndex.find(pblock->hashPrevBlock); + if ( miSelf == mapBlockIndex.end() ) + { + miSelf->second = InsertBlockIndex(pblock->hashPrevBlock); + fprintf(stderr,"autocreate previndex %s\n",pblock->hashPrevBlock.ToString().c_str()); + } + } } } @@ -5845,7 +5855,7 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv, vector vHeaders; int nLimit = MAX_HEADERS_RESULTS; LogPrint("net", "getheaders %d to %s from peer=%d\n", (pindex ? pindex->nHeight : -1), hashStop.ToString(), pfrom->id); - if ( pfrom->lasthdrsreq >= chainActive.Height()-MAX_HEADERS_RESULTS || pfrom->lasthdrsreq != (int32_t)(pindex ? pindex->nHeight : -1) ) + //if ( pfrom->lasthdrsreq >= chainActive.Height()-MAX_HEADERS_RESULTS || pfrom->lasthdrsreq != (int32_t)(pindex ? pindex->nHeight : -1) )// no need to ever suppress this { pfrom->lasthdrsreq = (int32_t)(pindex ? pindex->nHeight : -1); for (; pindex; pindex = chainActive.Next(pindex)) @@ -5856,12 +5866,12 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv, } pfrom->PushMessage("headers", vHeaders); } - else if ( NOTARY_PUBKEY33[0] != 0 ) + /*else if ( NOTARY_PUBKEY33[0] != 0 ) { static uint32_t counter; if ( counter++ < 3 ) fprintf(stderr,"you can ignore redundant getheaders from peer.%d %d prev.%d\n",(int32_t)pfrom->id,(int32_t)(pindex ? pindex->nHeight : -1),pfrom->lasthdrsreq); - } + }*/ } From 882c4cfeef9d02a9ecb6953994b83447057b7662 Mon Sep 17 00:00:00 2001 From: jl777 Date: Mon, 23 Apr 2018 10:38:44 +0300 Subject: [PATCH 15/17] Syntax --- src/main.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main.cpp b/src/main.cpp index 9e954324c..67a67310d 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -4138,7 +4138,7 @@ CBlockIndex *komodo_ensure(CBlock *pblock,uint256 hash) miSelf->second = AddToBlockIndex(*pblock); //fprintf(stderr,"Block header %s is already known, but without pindex -> ensured %p\n",hash.ToString().c_str(),miSelf->second); } - if ( hash != chainparams.GetConsensus().hashGenesisBlock ) + /*if ( hash != chainparams.GetConsensus().hashGenesisBlock ) { miSelf = mapBlockIndex.find(pblock->hashPrevBlock); if ( miSelf == mapBlockIndex.end() ) @@ -4146,7 +4146,7 @@ CBlockIndex *komodo_ensure(CBlock *pblock,uint256 hash) miSelf->second = InsertBlockIndex(pblock->hashPrevBlock); fprintf(stderr,"autocreate previndex %s\n",pblock->hashPrevBlock.ToString().c_str()); } - } + }*/ } } From 1e57ae08cac47f315c4616c0645e58e22b0124da Mon Sep 17 00:00:00 2001 From: jl777 Date: Mon, 23 Apr 2018 10:40:06 +0300 Subject: [PATCH 16/17] Fix --- src/main.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main.cpp b/src/main.cpp index 67a67310d..a436fefd2 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -4009,7 +4009,7 @@ bool AcceptBlockHeader(const CBlockHeader& block, CValidationState& state, CBloc BlockMap::iterator mi = mapBlockIndex.find(block.hashPrevBlock); if (mi == mapBlockIndex.end()) { - fprintf(stderr,"AcceptBlockHeader hashPrevBlock %s not found %p\n",block.hashPrevBlock.ToString().c_str,pindex); + fprintf(stderr,"AcceptBlockHeader hashPrevBlock %s not found\n",block.hashPrevBlock.ToString().c_str); // request block.hashPrevBlock return(false); //return state.DoS(10, error("%s: prev block not found", __func__), 0, "bad-prevblk"); From 7cae836aa82d9c316cf61fb9c9e10c4cac91c918 Mon Sep 17 00:00:00 2001 From: jl777 Date: Mon, 23 Apr 2018 10:42:14 +0300 Subject: [PATCH 17/17] Fix --- src/main.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main.cpp b/src/main.cpp index a436fefd2..829d443ef 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -4009,7 +4009,7 @@ bool AcceptBlockHeader(const CBlockHeader& block, CValidationState& state, CBloc BlockMap::iterator mi = mapBlockIndex.find(block.hashPrevBlock); if (mi == mapBlockIndex.end()) { - fprintf(stderr,"AcceptBlockHeader hashPrevBlock %s not found\n",block.hashPrevBlock.ToString().c_str); + fprintf(stderr,"AcceptBlockHeader hashPrevBlock %s not found\n",block.hashPrevBlock.ToString().c_str()); // request block.hashPrevBlock return(false); //return state.DoS(10, error("%s: prev block not found", __func__), 0, "bad-prevblk");