Compare commits

...

9 Commits

Author SHA1 Message Date
jw
c3f0e58191 Merge pull request #209 from wowario/master
bump up to v0.6.1
2019-06-06 08:49:26 -07:00
jw
1b96834767 Merge pull request #208 from fuwa0529/fix-bp
Fix tx error on testnet2
2019-06-06 08:49:05 -07:00
jw
73746a016e Merge pull request #207 from wowario/block_version
correct RX_BLOCK_VERSION
2019-06-06 08:48:35 -07:00
jw
781f7ea3e6 Merge pull request #205 from wowario/readme
update readme
2019-06-06 08:48:01 -07:00
wowario
ee9419998b bump up to v0.6.1 2019-06-06 12:19:14 +03:00
fuwa
f3d415f7a0 fix old bulletproof conditional branches 2019-06-06 12:48:21 +08:00
fuwa
904349a75c wallet2: fix hf rules for small BP 2019-06-06 11:02:17 +08:00
wowario
fdb1f180e4 correct RX_BLOCK_VERSION 2019-06-05 12:10:43 +03:00
wowario
c34c4d2e29 update readme 2019-06-05 01:22:32 +03:00
9 changed files with 41 additions and 15 deletions

View File

@@ -21,9 +21,13 @@ Blockchain Explorers
- https://explore.wownero.com
- https://explorer.wowkira.com
- http://explorer.wowne.ro
- http://wow4edxxxudchgj7.onion
- http://dr4koizzq4ixyxqkz7qagx7bopt4gnrbtrp7cbqcji2fkp4mnve3wrqd.onion
- http://wow5eqtzqvsg5jctqzg5g7uk3u62sfqiacj5x6lo4by7bvnj6jkvubyd.onion
Public Nodes
- node.wowne.ro:34568
- wowkira.com:34568
## Introduction
Wownero is a privacy-centric memecoin that was fairly launched on April 1, 2018 with no pre-mine, stealth-mine or ICO. Wownero has a maximum supply of around 184 million WOW with a slow and steady emission over 50 years. It is a fork of Monero, but with its own genesis block, so there is no degradation of privacy due to ring signatures using different participants for the same tx outputs on opposing forks.
@@ -40,7 +44,7 @@ Dates are provided in the format YYYY-MM-DD.
| 53666 | 2018-10-06 | Cool Cage | v0.3.0.0 | v0.3.1.3 | Cryptonight variant 2, LWMA v2, ringsize = 22, MMS
| 63469 | 2018-11-11 | Dank Doge | v0.4.0.0 | v0.4.0.0 | LWMA v4
| 81769 | 2019-02-19 | Erotic EggplantEmoji | v0.5.0.0 | v0.5.0.2 | Cryptonight/wow, LWMA v1 with N=144, Updated Bulletproofs, Fee Per Byte, Auto-churn
| 114969 | 2019-06-14 | F For Fappening | v0.6.0.0 | v0.6.0.0 | RandomWOW, new block weight algorithm, slightly more efficient RingCT format
| 114969 | 2019-06-14 | F For Fappening | v0.6.1.0 | v0.6.1.0 | RandomWOW, new block weight algorithm, slightly more efficient RingCT format
X's indicate that these details have not been determined as of commit date.
@@ -123,13 +127,29 @@ Once node is synced to network, run the CLI wallet by entering:
Type `help` in CLI wallet to see standard commands (for advanced options, type `help_advanced`).
## Tor Anonymity Network
* Install [Tor Browser](https://www.torproject.org/download/)
* Open `torrc` file in a text editor ([installation directory]/Browser/TorBrowser/Data/Tor/torrc) and add hidden service information as follows:
```
HiddenServiceDir [installation directory]/Browser/TorBrowser/Data/Tor/wow_node
HiddenServiceVersion 3
HiddenServicePort 44469 127.0.0.1:44469
```
* Save `torrc` file and restart Tor Browser (keep open)
* Change directory to the `wow_node` folder, open `hostname` file, and copy your node's ".onion" address
* Start wownerod with the following parameters:
```
./wownerod --proxy tor,127.0.0.1:9150,25 --anonymous-inbound YOUR_NODE_ADDRESS.onion,127.0.0.1:44469,25 --add-peer wo5dkrgua62whkitjqmj6wzlp3hnth2w3lau2oj675rmaeexzy2q6cid.onion:44469
```
For more information, check out [ANONYMITY_NETWORKS](https://github.com/wownero/wownero/blob/master/ANONYMITY_NETWORKS.md).
## Wownero Graphical Wallets
* [Wownero-Light-Wallet](https://github.com/wownero/Wownero-Light-Wallet)
![](https://light.wownero.com/wowlight.png)
* [Wownerujo Android Wallet](https://github.com/wownero/wownerujo)
![](https://fossdroid.com/images/screenshots/com.wownero.wownerujo/wownerujo-1.png)
@@ -137,7 +157,7 @@ Type `help` in CLI wallet to see standard commands (for advanced options, type `
## Donating to Wownero Project
Developers are volunteers doing this mostly for shits and giggles. If you would like to support our shenanigans and stimulant addictions, please consider donating to [WFS proposals](https://funding.wownero.com/proposals) or the [dev slush fund](https://funding.wownero.com/donate).
Developers are volunteers doing this mostly for shits and giggles. If you would like to support our shenanigans and stimulant addictions, please consider donating to [WFS proposals](https://funding.wownero.com/proposals) or the [dev slush fund](https://dev-funding.webui.wowkira.com).
Donations may also be sent to:

View File

@@ -88,7 +88,7 @@ void hash_extra_skein(const void *data, size_t length, char *hash);
void tree_hash(const char (*hashes)[HASH_SIZE], size_t count, char *root_hash);
#define RX_BLOCK_VERSION 12
#define RX_BLOCK_VERSION 13
void rx_slow_hash_allocate_state(void);
void rx_slow_hash_free_state(void);
uint64_t rx_seedheight(const uint64_t height);

View File

@@ -146,7 +146,7 @@ namespace cryptonote
if (!base_only)
{
const bool bulletproof = rct::is_rct_bulletproof(rv.type);
if (bulletproof && rv.type == rct::RCTTypeBulletproof)
if (rct::is_rct_new_bulletproof(rv.type))
{
if (rv.p.bulletproofs.size() != 1)
{
@@ -415,7 +415,7 @@ namespace cryptonote
const size_t n_outputs = tx.vout.size();
if (n_outputs <= 2)
return blob_size;
if (rv.type != rct::RCTTypeBulletproof)
if (rct::is_rct_old_bulletproof(rv.type))
return blob_size;
const uint64_t bp_base = 368;
const size_t n_padded_outputs = rct::n_bulletproof_max_amounts(rv.p.bulletproofs);

View File

@@ -808,7 +808,7 @@ namespace cryptonote
if (tx.version >= 2)
{
rct::rctSig &rv = tx.rct_signatures;
if (rv.type != rct::RCTTypeBulletproof){
if (!rct::is_rct_new_bulletproof(rv.type)){
if (rv.outPk.size() != tx.vout.size())
{
LOG_PRINT_L1("WRONG TRANSACTION BLOB, Bad outPk size in tx " << tx_hash << ", rejected");

View File

@@ -1099,7 +1099,7 @@ namespace rct {
tools::threadpool::waiter waiter;
std::deque<bool> results(bulletproof ? rv.p.bulletproofs.size() : rv.outPk.size(), false);
DP("range proofs verified?");
if (bulletproof && rv.type == RCTTypeBulletproof)
if (rct::is_rct_new_bulletproof(rv.type))
{
for (size_t i = 0; i < rv.p.bulletproofs.size(); i++)
tpool.submit(&waiter, [&, i] { results[i] = verBulletproof(rv.p.bulletproofs[i]); });
@@ -1232,7 +1232,7 @@ namespace rct {
for (const rctSig *rvp: rvv)
{
const rctSig &rv = *rvp;
if (rv.type != RCTTypeBulletproof){
if (!rct::is_rct_new_bulletproof(rv.type)){
if (!proofs.empty() && !verBulletproof_old(proofs))
{
LOG_PRINT_L1("Aggregate range proof verified failed");

View File

@@ -251,6 +251,11 @@ namespace rct {
}
}
bool is_rct_new_bulletproof(int type)
{
return is_rct_bulletproof(type) && !is_rct_old_bulletproof(type);
}
bool is_rct_borromean(int type)
{
switch (type)

View File

@@ -574,6 +574,7 @@ namespace rct {
bool is_rct_simple(int type);
bool is_rct_bulletproof(int type);
bool is_rct_old_bulletproof(int type);
bool is_rct_new_bulletproof(int type);
bool is_rct_borromean(int type);
static inline const rct::key &pk2rct(const crypto::public_key &pk) { return (const rct::key&)pk; }

View File

@@ -1,5 +1,5 @@
#define DEF_MONERO_VERSION_TAG "@VERSIONTAG@"
#define DEF_MONERO_VERSION "0.6.0.0"
#define DEF_MONERO_VERSION "0.6.1.0"
#define DEF_MONERO_RELEASE_NAME "F For Fappening"
#define DEF_MONERO_VERSION_FULL DEF_MONERO_VERSION "-" DEF_MONERO_VERSION_TAG

View File

@@ -9177,7 +9177,7 @@ std::vector<wallet2::pending_tx> wallet2::create_transactions_2(std::vector<cryp
const bool bulletproof = use_fork_rules(get_bulletproof_fork(), 0);
const rct::RCTConfig rct_config {
bulletproof ? rct::RangeProofPaddedBulletproof : rct::RangeProofBorromean,
bulletproof ? (use_fork_rules(12, 0) ? 1 : 2) : 0
bulletproof ? (use_fork_rules(HF_VERSION_SMALLER_BP, -10) ? 2 : 1) : 0
};
const uint64_t base_fee = get_base_fee();
@@ -9826,7 +9826,7 @@ std::vector<wallet2::pending_tx> wallet2::create_transactions_from(const crypton
const bool bulletproof = use_fork_rules(get_bulletproof_fork(), 0);
const rct::RCTConfig rct_config {
bulletproof ? rct::RangeProofPaddedBulletproof : rct::RangeProofBorromean,
bulletproof ? (use_fork_rules(12, 0) ? 1 : 2) : 0,
bulletproof ? (use_fork_rules(HF_VERSION_SMALLER_BP, -10) ? 2 : 1) : 0
};
const uint64_t base_fee = get_base_fee();
const uint64_t fee_multiplier = get_fee_multiplier(priority, get_fee_algorithm());