From d7426190e49f4520ac9a1ce790ddfbb39170d517 Mon Sep 17 00:00:00 2001 From: jl777 Date: Wed, 21 Sep 2016 16:18:52 -0300 Subject: [PATCH] new read me --- README.md | 146 +++++++++++++++++++++++++++++---------------------- src/main.cpp | 14 ++--- 2 files changed, 87 insertions(+), 73 deletions(-) diff --git a/README.md b/README.md index 1e43fdc04..2552b952c 100644 --- a/README.md +++ b/README.md @@ -1,93 +1,111 @@ + Zcash ===== - + https://z.cash/ - + Where do I begin? ----------------- - + We have a guide for joining the public testnet: https://github.com/zcash/zcash/wiki/Public-Alpha-Guide - + What is Zcash? -------------- - + Zcash is an implementation of the "Zerocash" protocol. Based on Bitcoin's code, it intends to offer a far higher standard of privacy and anonymity through a sophisticiated zero-knowledge proving scheme which preserves confidentiality of transaction metadata. - + **Zcash is unfinished and highly experimental.** Use at your own risk. - + Participation in the Zcash project is subject to a [Code of Conduct](code_of_conduct.md). - + Security Warnings ----------------- - + See important security warnings in [doc/security-warnings.md](doc/security-warnings.md). - + License ------- - + Zcash is released under the terms of the MIT license. See [COPYING](COPYING) for more information or see http://opensource.org/licenses/MIT. - - ->>>>>>>>>>>>>>>>>>>> Komodo specific notes: - + + +Komodo Specific Notes +===================== + +Installation of BDB +------------------- + ``` -if you dont have BDB installed: - +#If you do not have BDB installed, do the following: wget http://download.oracle.com/berkeley-db/db-4.8.30.NC.tar.gz - tar -xvf db-4.8.30.NC.tar.gz - -cd db-4.8.30.NC/build_unix - +cd db-4.8.30.NC/ mkdir -p build - BDB_PREFIX=$(pwd)/build - -../dist/configure —disable-shared —enable-cxx —with-pic —prefix=$BDB_PREFIX - +cd build +../dist/configure --disable-shared --enable-cxx --with-pic --prefix=$BDB_PREFIX make install - cd ../.. - -The following packages are needed: - -sudo apt-get install build-essential pkg-config libc6-dev m4 g++-multilib autoconf libtool ncurses-dev unzip git python zlib1g-dev wget bsdmainutils automake libboost-all-dev libssl-dev libprotobuf-dev protobuf-compiler libqt4-dev libqrencode-dev - -git clone https://github.com/jl777/komodo - -cd komodo - -./autogen.sh - -./configure --with-incompatible-bdb --with-gui - -./zcutil/fetch-params.sh - -cp ~/.zcash-params/testnet3/z9* ~/.zcash-params - -./zcutil/build.sh -j8 # -j8 uses 8 threads - -Once things are setup, you can build komodod with make from komodo/src directory. Also the error: configure: error: libsnark include directory not found, might appear and it looks like it can be ignored. - -Create ~/.komodo/komodo.conf: - -rpcuser=bitcoinrpc - -rpcpassword=password - -addnode="5.9.102.210" - -addnode="78.47.196.146" - - -Start mining: - -komodo/src/komodod -gen=1 -genproclimit=1 -addnode="78.47.196.146" - -komodo/src/komodo-cli getinfo ``` - + +Dependencies +------------ + +``` +#The following packages are needed: +sudo apt-get install build-essential pkg-config libc6-dev m4 g++-multilib autoconf libtool ncurses-dev unzip git python zlib1g-dev wget bsdmainutils automake libboost-all-dev libssl-dev libprotobuf-dev protobuf-compiler libqt4-dev libqrencode-dev +``` + +Komodo +------ + +``` +git clone https://github.com/jl777/komodo +cd komodo +./autogen.sh +./configure --with-incompatible-bdb --with-gui +# 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 +#This can take some time. +``` + +Create komodo.conf +------------------ + +``` +cd ~ +mkdir .komodo +cd .komodo +gedit komodo.conf +#For the above, you can use any text editor other than gedit. +#Add the following lines to the komodo.conf file: + +rpcuser=bitcoinrpc +rpcpassword=password +addnode="5.9.102.210" +addnode="78.47.196.146" +``` + +Start mining +------------ + +``` +cd ~ +cd komodo +#Go to your komodo directory +./src/komodod -gen=1 -genproclimit=1 & +#This starts komodo as a process +komodo/src/komodo-cli getinfo + +#To view the process: +ps aux | grep komodod + +#To view komodod output: +gedit ~/.komodo.debug.log +``` diff --git a/src/main.cpp b/src/main.cpp index 1b018ff9e..e989c6b1b 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -2946,25 +2946,21 @@ bool FindUndoPos(CValidationState &state, int nFile, CDiskBlockPos &pos, unsigne bool CheckBlockHeader(const CBlockHeader& block, CValidationState& state, bool fCheckPOW) { int32_t retval; + // Check timestamp + if (block.GetBlockTime() > GetAdjustedTime() + 60) + return state.Invalid(error("CheckBlockHeader(): block timestamp too far in the future"),REJECT_INVALID, "time-too-new"); if ( (retval= komodo_blockcheck((void *)&block)) == 0 ) { // Check Equihash solution is valid if (fCheckPOW && !CheckEquihashSolution(&block, Params())) - return state.DoS(100, error("CheckBlockHeader(): Equihash solution invalid"), - REJECT_INVALID, "invalid-solution"); + return state.DoS(100, error("CheckBlockHeader(): Equihash solution invalid"),REJECT_INVALID, "invalid-solution"); // Check proof of work matches claimed amount if (fCheckPOW && !CheckProofOfWork(block.GetHash(), block.nBits, Params().GetConsensus())) - return state.DoS(50, error("CheckBlockHeader(): proof of work failed"), - REJECT_INVALID, "high-hash"); + return state.DoS(50, error("CheckBlockHeader(): proof of work failed"),REJECT_INVALID, "high-hash"); } else if ( retval < 0 ) // komodo rejects block, ie. prior to notarized blockhash return(false); - - // Check timestamp - if (block.GetBlockTime() > GetAdjustedTime() + 600) - return state.Invalid(error("CheckBlockHeader(): block timestamp too far in the future"), - REJECT_INVALID, "time-too-new"); return true; }