Skip to content

Commit

Permalink
Merge pull request #55 from zerocurrencycoin/v3.0.2
Browse files Browse the repository at this point in the history
V3.0.2
  • Loading branch information
CryptoForge authored Dec 4, 2019
2 parents ca8be90 + 1e87bb0 commit fcb29ba
Show file tree
Hide file tree
Showing 10 changed files with 138 additions and 80 deletions.
30 changes: 9 additions & 21 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,30 +1,30 @@
![alt text](https://github.com/zerocurrencycoin/Zero/blob/master/art/zero%203d%20mountain.png?raw=true)

[ZERO](https://zerocurrency.io) - [Andromeda:3.0.1](https://github.com/zerocurrencycoin/Zero/releases/tag/v3.0.1)
[ZERO](https://zerocurrency.io) - [Pavo:3.0.2](https://github.com/zerocurrencycoin/Zero/releases/tag/v3.0.2)

||FAST|| ||DECENTRALISED|| ||ANONYMOUS|| ||SECURE|| ||ASIC RESISTANT|| - LAUNCE DATE: 2017-02-19

GENESIS BLOCK - 19th Feb 2017 11:26:40 - 068cbb5db6bc11be5b93479ea4df41fa7e012e92ca8603c315f9b1a2202205c6

Download the latest version here - [ZERO - Latest Version - Andromeda:3.0.0](https://github.com/zerocurrencycoin/Zero/releases/tag/v3.0.1)
Download the latest version here - [ZERO - Latest Version - Pavo:3.0.2](https://github.com/zerocurrencycoin/Zero/releases/tag/v3.0.2)

------------------------------------------

❓ What is ZERO?
--------------

[ZERO](https://github.com/zerocurrencycoin/Zero/releases/tag/v3.0.1) is a revolutionary cryptocurrency and transaction platform based on Zcash.
[ZERO](https://github.com/zerocurrencycoin/Zero/releases/tag/v3.0.2) is a revolutionary cryptocurrency and transaction platform based on Zcash.

[ZERO](https://github.com/zerocurrencycoin/Zero/releases/tag/v3.0.1) offers total payment confidentiality, while still maintaining a decentralised network using a public blockchain.
[ZERO](https://github.com/zerocurrencycoin/Zero/releases/tag/v3.0.2) offers total payment confidentiality, while still maintaining a decentralised network using a public blockchain.

[ZERO](https://github.com/zerocurrencycoin/Zero/releases/tag/v3.0.1) combines Bitcoin’s security with Zcash’s anonymity and privacy.
[ZERO](https://github.com/zerocurrencycoin/Zero/releases/tag/v3.0.2) combines Bitcoin’s security with Zcash’s anonymity and privacy.

[ZERO](https://github.com/zerocurrencycoin/Zero/releases/tag/v3.0.1) stands out from the competition as a fully working product that has already
[ZERO](https://github.com/zerocurrencycoin/Zero/releases/tag/v3.0.2) stands out from the competition as a fully working product that has already
implemented a set of special features not found in any other cryptocurrency.

Our main focus as a team and community is to remain as transparent as we can possibly be and to maintain an interactive relationship with everyone involved. We are fully open about the project, listening to all suggestions from investors, miners and supporters.

This software is the [ZERO](https://github.com/zerocurrencycoin/Zero/releases/tag/v3.0.1) node. It downloads and stores the entire history of ZERO's transactions, about 1.2GB at this point.
This software is the [ZERO](https://github.com/zerocurrencycoin/Zero/releases/tag/v3.0.2) node. It downloads and stores the entire history of ZERO's transactions, about 1.2GB at this point.
Depending on the speed of your computer and network connection, the synchronization process could take several hours.

------------------------------------------
Expand Down Expand Up @@ -122,7 +122,7 @@ See important security warnings on the

📒 Deprecation Policy
------------------
Disabledeprecation flag has been removed. Old nodes will automatically be shut down and must be upgraded upon reaching the deprecation block height, which will occur approximately 32 weeks (7/1/2019) from the release of v3.0.1.
Disabledeprecation flag has been removed. Old nodes will automatically be shut down and must be upgraded upon reaching the deprecation block height, which will occur approximately 26 weeks (6/27/2020) from the release of v3.0.2.


🔧 Building
Expand Down Expand Up @@ -163,19 +163,7 @@ On a typical laptop -j3 works fine, while retaining some UI interactivity
mkdir -p ~/.zero
echo "rpcuser=YOUR_USER" > ~/.zero/zero.conf
echo "rpcpassword=`head -c 32 /dev/urandom | base64`" >> ~/.zero/zero.conf
echo "rpcport=23800" >> ~/.zero/zero.conf
```

### Seeder Nodes
As of 26/11/2018 the following seeder nodes are up and run a recent Linux version:
```
addnode=34.236.37.74
addnode=178.128.42.10
addnode=86.26.174.151
addnode=46.101.66.152:33801
addnode=zseed1.cryptonode.cloud
addnode=zseed2.cryptonode.cloud
addnode=zeroseed.cryptoforge.cc
echo "rpcport=23801" >> ~/.zero/zero.conf
```

### Enable CPU mining (optional)
Expand Down
2 changes: 1 addition & 1 deletion configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ dnl require autoconf 2.60 (AS_ECHO/AS_ECHO_N)
AC_PREREQ([2.60])
define(_CLIENT_VERSION_MAJOR, 3)
define(_CLIENT_VERSION_MINOR, 0)
define(_CLIENT_VERSION_REVISION, 1)
define(_CLIENT_VERSION_REVISION, 2)
define(_CLIENT_VERSION_BUILD, 50)
define(_ZC_BUILD_VAL, m4_if(m4_eval(_CLIENT_VERSION_BUILD < 25), 1, m4_incr(_CLIENT_VERSION_BUILD), m4_eval(_CLIENT_VERSION_BUILD < 50), 1, m4_eval(_CLIENT_VERSION_BUILD - 24), m4_eval(_CLIENT_VERSION_BUILD == 50), 1, , m4_eval(_CLIENT_VERSION_BUILD - 50)))
define(_CLIENT_VERSION_SUFFIX, m4_if(m4_eval(_CLIENT_VERSION_BUILD < 25), 1, _CLIENT_VERSION_REVISION-beta$1, m4_eval(_CLIENT_VERSION_BUILD < 50), 1, _CLIENT_VERSION_REVISION-rc$1, m4_eval(_CLIENT_VERSION_BUILD == 50), 1, _CLIENT_VERSION_REVISION, _CLIENT_VERSION_REVISION-$1)))
Expand Down
16 changes: 8 additions & 8 deletions doc/man/zero-cli.1
Original file line number Diff line number Diff line change
@@ -1,21 +1,21 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.3.
.TH ZERO-CLI "1" "October 2018" "zero-cli v2.0.1" "User Commands"
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.6.
.TH ZERO-CLI "1" "December 2019" "zero-cli v3.0.2-79779934a" "User Commands"
.SH NAME
zero-cli \- manual page for zero-cli v2.0.1
zero-cli \- manual page for zero-cli v3.0.2-79779934a
.SH DESCRIPTION
Zcash RPC client version v3.0.1
Zero RPC client version v3.0.2\-79779934a
.PP
In order to ensure you are adequately protecting your privacy when using Zcash,
please see <https://z.cash/support/security/>.
.SS "Usage:"
.TP
zcash\-cli [options] <command> [params]
Send command to Zcash
zero\-cli [options] <command> [params]
Send command to Zero
.TP
zcash\-cli [options] help
zero\-cli [options] help
List commands
.TP
zcash\-cli [options] help <command>
zero\-cli [options] help <command>
Get help for a command
.SH OPTIONS
.HP
Expand Down
16 changes: 8 additions & 8 deletions doc/man/zero-tx.1
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.3.
.TH ZERO-TX "1" "October 2018" "zero-tx v2.0.1" "User Commands"
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.6.
.TH ZERO-TX "1" "December 2019" "zero-tx v3.0.2-79779934a" "User Commands"
.SH NAME
zero-tx \- manual page for zero-tx v2.0.1
zero-tx \- manual page for zero-tx v3.0.2-79779934a
.SH DESCRIPTION
Zcash zcash\-tx utility version v3.0.1
Zero zero\-tx utility version v3.0.2\-79779934a
.SS "Usage:"
.TP
zcash\-tx [options] <hex\-tx> [commands]
Update hex\-encoded zcash transaction
zero\-tx [options] <hex\-tx> [commands]
Update hex\-encoded zero transaction
.TP
zcash\-tx [options] \fB\-create\fR [commands]
Create hex\-encoded zcash transaction
zero\-tx [options] \fB\-create\fR [commands]
Create hex\-encoded zero transaction
.SH OPTIONS
.HP
\-?
Expand Down
75 changes: 62 additions & 13 deletions doc/man/zerod.1
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.3.
.TH ZEROD "1" "October 2018" "zerod v2.0.1" "User Commands"
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.6.
.TH ZEROD "1" "December 2019" "zerod v3.0.2-79779934a" "User Commands"
.SH NAME
zerod \- manual page for zerod v2.0.1
zerod \- manual page for zerod v3.0.2-79779934a
.SH DESCRIPTION
Zcash Daemon version v3.0.1
Zero Daemon version v3.0.2\-79779934a
.PP
In order to ensure you are adequately protecting your privacy when using Zcash,
please see <https://z.cash/support/security/>.
.SS "Usage:"
.TP
zerod [options]
Start Zcash Daemon
Start Zero Daemon
.SH OPTIONS
.HP
\-?
Expand Down Expand Up @@ -57,7 +57,7 @@ Specify directory to be used when exporting data
.HP
\fB\-dbcache=\fR<n>
.IP
Set database cache size in megabytes (4 to 16384, default: 450)
Set database cache size in megabytes (4 to 16384, default: 800)
.HP
\fB\-loadblock=\fR<file>
.IP
Expand All @@ -75,7 +75,7 @@ limit applied)
.HP
\fB\-par=\fR<n>
.IP
Set the number of script verification threads (\fB\-4\fR to 16, 0 = auto, <0 =
Set the number of script verification threads (\fB\-6\fR to 16, 0 = auto, <0 =
leave that many cores free, default: 0)
.HP
\fB\-pid=\fR<file>
Expand Down Expand Up @@ -103,6 +103,21 @@ Create new files with system default permissions, instead of umask 077
.IP
Maintain a full transaction index, used by the getrawtransaction rpc
call (default: 0)
.HP
\fB\-addressindex\fR
.IP
Maintain a full address index, used to query for the balance, txids and
unspent outputs for addresses (default: 0)
.HP
\fB\-timestampindex\fR
.IP
Maintain a timestamp index for block hashes, used to query blocks hashes
by a range of timestamps (default: 0)
.HP
\fB\-spentindex\fR
.IP
Maintain a full spent index, used to query the spending txid and input
index for an outpoint (default: 0)
.PP
Connection options:
.HP
Expand Down Expand Up @@ -156,7 +171,7 @@ Accept connections from outside (default: 1 if no \fB\-proxy\fR or \fB\-connect\
.HP
\fB\-listenonion\fR
.IP
Automatically create Tor hidden service (default: 1)
Automatically create Tor hidden service (default: 0)
.HP
\fB\-maxconnections=\fR<n>
.IP
Expand Down Expand Up @@ -242,7 +257,7 @@ Set key pool size to <n> (default: 100)
.HP
\fB\-paytxfee=\fR<amt>
.IP
Fee (in ZEC/kB) to add to transactions you send (default: 0.00)
Fee (in ZER/kB) to add to transactions you send (default: 0.00)
.HP
\fB\-rescan\fR
.IP
Expand Down Expand Up @@ -272,7 +287,7 @@ mined will become invalid (min: 4, default: 20)
.HP
\fB\-maxtxfee=\fR<amt>
.IP
Maximum total fees (in ZEC) to use in a single wallet transaction;
Maximum total fees (in ZER) to use in a single wallet transaction;
setting this too low may abort large transactions (default: 0.10)
.HP
\fB\-upgradewallet\fR
Expand Down Expand Up @@ -345,7 +360,7 @@ Prepend debug output with timestamp (default: 1)
.HP
\fB\-minrelaytxfee=\fR<amt>
.IP
Fees (in ZEC/kB) smaller than this are considered zero fee for relaying
Fees (in ZER/kB) smaller than this are considered zero fee for relaying
(default: 0.000001)
.HP
\fB\-printtoconsole\fR
Expand All @@ -360,6 +375,35 @@ Shrink debug.log file on client startup (default: 1 when no \fB\-debug\fR)
.IP
Use the test network
.PP
Zeronode options:
.HP
\fB\-zeronode=\fR<n>
.IP
Enable the client to act as a zeronode (0\-1, default: 0)
.HP
\fB\-znconf=\fR<file>
.IP
Specify zeronode configuration file (default: zeronode.conf)
.HP
\fB\-znconflock=\fR<n>
.IP
Lock zeronodes from zeronode configuration file (default: 1)
.HP
\fB\-zeronodeprivkey=\fR<n>
.IP
Set the zeronode private key
.HP
\fB\-zeronodeaddr=\fR<n>
.IP
Set external address:port to get to this zeronode (example:
128.127.106.235:60020)
.HP
\fB\-budgetvotemode=\fR<mode>
.IP
Change automatic finalized budget voting behavior. mode=auto: Vote for
only exact finalized budget match to my generated budget. (string,
default: auto)
.PP
Node relay options:
.HP
\fB\-datacarrier\fR
Expand All @@ -379,12 +423,12 @@ Set minimum block size in bytes (default: 0)
.HP
\fB\-blockmaxsize=\fR<n>
.IP
Set maximum block size in bytes (default: 2000000)
Set maximum block size in bytes (default: 4000000)
.HP
\fB\-blockprioritysize=\fR<n>
.IP
Set maximum size of high\-priority/low\-fee transactions in bytes
(default: 1000000)
(default: 2000000)
.PP
Mining options:
.HP
Expand Down Expand Up @@ -465,6 +509,11 @@ output (default: 1 if running in a console, 0 otherwise)
.IP
Number of seconds between metrics refreshes (default: 1 if running in a
console, 600 otherwise)
.HP
\fB\-sporkkey=\fR<privkey>
.IP
Enable spork administration functionality with the appropriate private
key.
.SH COPYRIGHT

In order to ensure you are adequately protecting your privacy when using Zcash,
Expand Down
2 changes: 1 addition & 1 deletion src/clientversion.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
* for both bitcoind and bitcoin-core, to make it harder for attackers to
* target servers or GUI users specifically.
*/
const std::string CLIENT_NAME("Andromeda");
const std::string CLIENT_NAME("Pavo");

/**
* Client version number
Expand Down
4 changes: 2 additions & 2 deletions src/deprecation.h
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@
// Deprecation policy:
// * Shut down 26 weeks' worth of blocks after the estimated release block height.
// * A warning is shown during the 4 weeks' worth of blocks prior to shut down.
static const int APPROX_RELEASE_HEIGHT = 593110;
static const int WEEKS_UNTIL_DEPRECATION = 32;
static const int APPROX_RELEASE_HEIGHT = 755075;
static const int WEEKS_UNTIL_DEPRECATION = 26;
//Fixing zero day size
static const int DEPRECATION_HEIGHT = APPROX_RELEASE_HEIGHT + (WEEKS_UNTIL_DEPRECATION * 7 * 24 * 30);

Expand Down
20 changes: 13 additions & 7 deletions src/netbase.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -250,15 +250,21 @@ struct timeval MillisToTimeval(int64_t nTimeout)
*
* @note This function requires that hSocket is in non-blocking mode.
*/
bool static InterruptibleRecv(char* data, size_t len, int timeout, SOCKET& hSocket)
bool static InterruptibleRecv(uint8_t* data, size_t len, int timeout, SOCKET& hSocket)
{
int64_t curTime = GetTimeMillis();
int64_t endTime = curTime + timeout;
// Maximum time to wait in one select call. It will take up until this time (in millis)
// to break off in case of an interruption.
const int64_t maxWait = 1000;
while (len > 0 && curTime < endTime) {
ssize_t ret = recv(hSocket, data, len, 0); // Optimistically try the recv first
// Optimistically try the recv first.
//
// POSIX recv() does not require a cast, as it takes a void *buf:
// ssize_t recv(int sockfd, void *buf, size_t len, int flags);
// However Windows explicitly requires a char *buf:
// int recv(SOCKET s, char *buf, int len, int flags);
ssize_t ret = recv(hSocket, reinterpret_cast<char*>(data), len, 0);
if (ret > 0) {
len -= ret;
data += ret;
Expand Down Expand Up @@ -318,7 +324,7 @@ static bool Socks5(const std::string& strDest, int port, const ProxyCredentials
CloseSocket(hSocket);
return error("Error sending to proxy");
}
char pchRet1[2];
uint8_t pchRet1[2];
if (!InterruptibleRecv(pchRet1, 2, SOCKS5_RECV_TIMEOUT, hSocket)) {
CloseSocket(hSocket);
return error("Error reading proxy response");
Expand All @@ -343,7 +349,7 @@ static bool Socks5(const std::string& strDest, int port, const ProxyCredentials
return error("Error sending authentication to proxy");
}
LogPrint("proxy", "SOCKS5 sending proxy authentication %s:%s\n", auth->username, auth->password);
char pchRetA[2];
uint8_t pchRetA[2];
if (!InterruptibleRecv(pchRetA, 2, SOCKS5_RECV_TIMEOUT, hSocket)) {
CloseSocket(hSocket);
return error("Error reading proxy authentication response");
Expand Down Expand Up @@ -372,7 +378,7 @@ static bool Socks5(const std::string& strDest, int port, const ProxyCredentials
CloseSocket(hSocket);
return error("Error sending to proxy");
}
char pchRet2[4];
uint8_t pchRet2[4];
if (!InterruptibleRecv(pchRet2, 4, SOCKS5_RECV_TIMEOUT, hSocket)) {
CloseSocket(hSocket);
return error("Error reading proxy response");
Expand Down Expand Up @@ -400,7 +406,7 @@ static bool Socks5(const std::string& strDest, int port, const ProxyCredentials
CloseSocket(hSocket);
return error("Error: malformed proxy response");
}
char pchRet3[256];
uint8_t pchRet3[256];
switch (pchRet2[3])
{
case 0x01: ret = InterruptibleRecv(pchRet3, 4, SOCKS5_RECV_TIMEOUT, hSocket); break;
Expand All @@ -412,7 +418,7 @@ static bool Socks5(const std::string& strDest, int port, const ProxyCredentials
CloseSocket(hSocket);
return error("Error reading from proxy");
}
int nRecv = pchRet3[0];
size_t nRecv = pchRet3[0];
ret = InterruptibleRecv(pchRet3, nRecv, SOCKS5_RECV_TIMEOUT, hSocket);
break;
}
Expand Down
3 changes: 2 additions & 1 deletion src/rpc/rawtransaction.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -769,7 +769,8 @@ UniValue decoderawtransaction(const UniValue& params, bool fHelp)
throw JSONRPCError(RPC_DESERIALIZATION_ERROR, "TX decode failed");

UniValue result(UniValue::VOBJ);
TxToJSON(tx, uint256(), result);
//TxToJSON(tx, uint256(), result);
TxToJSONExpanded(tx, uint256(), result);

return result;
}
Expand Down
Loading

0 comments on commit fcb29ba

Please sign in to comment.