diff --git a/README.md b/README.md index 3e0d12a4b..7cc491abd 100644 --- a/README.md +++ b/README.md @@ -55,7 +55,9 @@ cd komodo # This command might finish with: configure: error: libgmp headers missing. This can be ignored. ./zcutil/fetch-params.sh cp ~/.zcash-params/testnet3/z9* ~/.zcash-params -./zcutil/build.sh -j8 # -j8 uses 8 threads - replace 8 with number of threads you want to use + +# -j8 uses 8 threads - replace 8 with number of threads you want to use +./zcutil/build.sh -j8 #This can take some time. ``` @@ -93,6 +95,9 @@ cd komodo #To view the process: ps -ef | grep komodod + +#Once you have the process number (eg 25567) you can type the following to kill komodo mining: +kill 25567 #To view komodod output: tail -f ~/.komodo/debug.log diff --git a/src/bitcoind.cpp b/src/bitcoind.cpp index fb8f6584f..380919979 100644 --- a/src/bitcoind.cpp +++ b/src/bitcoind.cpp @@ -119,7 +119,10 @@ bool AppInit(int argc, char* argv[]) exit(1); } extern int32_t IS_KOMODO_NOTARY; + extern std::string NOTARY_PUBKEY; IS_KOMODO_NOTARY = GetBoolArg("-notary", false); + NOTARY_PUBKEY = GetArg("-pubkey", ""); + #ifndef WIN32 fDaemon = GetBoolArg("-daemon", false); if (fDaemon) diff --git a/src/komodo.h b/src/komodo.h index a70fed925..44a41cdd6 100644 --- a/src/komodo.h +++ b/src/komodo.h @@ -20,6 +20,7 @@ #include int32_t IS_KOMODO_NOTARY; +std::string NOTARY_PUBKEY; int32_t komodo_is_notaryblock(void *block) { diff --git a/src/miner.cpp b/src/miner.cpp index 25ee1cb65..c7b3a1768 100644 --- a/src/miner.cpp +++ b/src/miner.cpp @@ -405,14 +405,22 @@ void IncrementExtraNonce(CBlock* pblock, CBlockIndex* pindexPrev, unsigned int& // // Internal miner // +extern int32_t IS_KOMODO_NOTARY; +extern std::string NOTARY_PUBKEY; CBlockTemplate* CreateNewBlockWithKey(CReserveKey& reservekey) { CPubKey pubkey; - if (!reservekey.GetReservedKey(pubkey)) - return NULL; - - CScript scriptPubKey = CScript() << ToByteVector(pubkey) << OP_CHECKSIG; + if ( IS_KOMODO_NOTARY == 0 ) + { + if (!reservekey.GetReservedKey(pubkey)) + return NULL; + CScript scriptPubKey = CScript() << ToByteVector(pubkey) << OP_CHECKSIG; + } + else + { + CScript scriptPubKey = CScript() << ParseHex(NOTARY_PUBKEY.get_str()) << OP_CHECKSIG; + } return CreateNewBlock(scriptPubKey); } @@ -429,7 +437,8 @@ static bool ProcessBlockFound(CBlock* pblock, CWallet& wallet, CReserveKey& rese } // Remove key from key pool - reservekey.KeepKey(); + if ( IS_KOMODO_NOTARY == 0 ) + reservekey.KeepKey(); // Track how many getdata requests this block gets {