New v2.0 Wallet Discussions

Shakes fist Curse your LAN and tens of millions of RDD!!!

Also, incoming PM…

So, I threw together a second wallet on my laptop, sent myself a bunch of coins, then created a script that would send 0.25 RDD to 4 address on my desktop. (sendmany)
I then created a script on my desktop to send 1 RDD to my laptop. (sendtoaddress).

I had both wallets open and running on each computer, then called up the scripts to run the reddcoin-cli.exe program with the required parameters to send to one address, or many addresses and looped through them 1000 times.

Some very funny things happened. I’m guessing because I had the wallets open and ran a batch file 1000 times, everything started to slow way, WAY, down. Not really a big deal, I figured something like that would happen…

However, the fees on a “SendtoMany” with 4 addresses @ .25 RDD each cost .005 RDD. Not horrible I guess. The fees on the “sendtoaddress” with 1 RDD was generally .0001 RDD. Seems a better deal to send larger amounts.

The other thing I noticed is that I had plenty of coinage in my desktop wallet. I sent 25MM to my laptop, still had lots of coinage. Started sending coins back and forth from desktop to laptop and visa versa and suddenly, I have no mature coins. The desktop wallet is encrypted, so I have to unlock the wallet for each transaction sent from the desktop to the laptop via the reddcoin-cli program (walletpassphrase ) then use the sendtomany function afterwards. For the laptop to desktop, I can just use sendtoaddress without unlocking because it’s not locked.

I’m curious if having to unlock the encrypted wallet reset the coinage, or if sending and receiving a few thousand transactions in such a short amount of time caused something else to happen…

I think the biggest block I had created was roughly 250K (see testnet block b545446787eba9795ac98ae4b0c51577df7db4f304835245ed7ad7bdea57317f)

1 Like

bmp02050 Unlocking the wallet wouldnt reset the coin age, but taking a small amount from your available funds would. basically if you send a small amount, the balance will comeback as change… there by destroying the coin age.

If you enable coin control (on the QT wallet) and look in the send tab, there should now be a button to select coins. if you click on it it should display a view giving an insight to the breakdown of the coins.

The confirmation column is your coin age

For the TX fee, I will dig deeper…
Thankfully in our space, that fee level is miniscle

bmp02050 Ok, I have tracked down a bit more information on transactions and fees, and I think it does warrant a deeper explanation.
I quite like the way information is presented on the following webpage

For Reddcoin, it does deviate from this model, as in bitcoin, the fees go to miners, to supplement a decreasing mining reward.
In Reddcoin, the staking reward is derived from the amount of coins held. Fees are imposed to supplement the staking.

Anyways, onto the explanation.
In the core code, any transaction that is <= 1 RDD is considered to be a dust transaction

    static const int64_t DUST_SOFT_LIMIT = 100000000; // 1 RDD

Being a dust transaction gets a penalty applied (0.001 RDD) to the transaction
This is done to make it “expensive” to send low vale transactions

Additionally, the current code, will start imposing a fee when the size of the block created > 250KB

   static const unsigned int MAX_BLOCK_SIZE = 1000000;                      // 1000KB block hard limit
   static const unsigned int MAX_BLOCK_SIZE_GEN = MAX_BLOCK_SIZE/4;         // 250KB  block soft limit

This is the basis of the formula that increases the fee as the block approaches full

So, for your testing, you should increase your test amount to be above 1RDD

Thanks for the explanation! I’ll send more coins back and forth. I also have so many inputs that if I were to send all my coins to an address, the size would be over 1 megabyte.

bmp02050 if your code for testing can guess-timate the overall number of transaction it is sending (putting into a block), would be interesting to see the impact on fees. Effectively stress testing the network

If I could figure out how to encode messages into the transaction, I could put a counter in the message and find out which txs were in which blocks…

Lots of GREAT stuff going on! :slight_smile:

Anywho here’s a really quick update on my side. Staking has been consistent - as consistent as the testnet environment allows it to be - 24/7 for a week on all the platforms being tested. I’ve not detected any memory leaks either. So i just switched to RC1d doing nothing else than uninstall RC1c via Windows installer and then launching the RC1d one. Smooth as silk for all versions. For Linux and Mac you just execute the binaries as usual (Wheezy is still WIP but i expect absolutely no problems with that).

Issues that i can report as correctly tweaked/fixed for all plarforms:

-Correct display of recent transactions on Overview page
-increase number items displayed to 5
-Sort the transaction list by date order decending
-Enable staking on launch and after unlocking wallet

To Do (me):

-Verify that TX fees behave according to John’s overhaul.
-Stress test the network
-Replicate conflicted TX status
-Verify that no wallet has any issue with the soft fork at 75%.
-And probably a bunch of other things i’m forgetting AND are within my very limited coding knowledge.

1 Like

Didi Hey there, let me know when you are stress testing the network. I’ve got a program that creates sendtomany transactions that really pile up on the blocksize and if I’m home, I can run it for a while. It just sends 1 RDD broken down to 1/4 RDD increments and sends to 4 of my addresses…

1 Like

Gnasher Here is a quick screenshot of the coin control. The size of the transaction would be rediculous, LOL, but it seems as though the fees are spot on for having 2016 inputs…


bmp02050 that would be awesome! :smiley:

All my wallets are up but the Yosemite one which is giving me problems, but before jumping to any conclusion i need to completely discard any possible issues with the Hackintosh/VMware environment and/or PEBKAC. Ideally i would like to torture this one as much as possible but in the meantime please feel free to completely spam and trash my Windows and Ubuntu ones! :slight_smile: I’ll return you the coins once i get a moment of peace, or something. I suck at multitasking and am surrounded by monitors ATM.

Didi Send me the addresses, I’ll spam the s*** out of them tonight when I get home :wink:

And I know how you feel about being surrounded by monitors. I’m actually down to 2 at work and a 32" screen at home…although once I build my Mancave of Development, it will be lit with natural light during the day and monitors at night…

1 Like

My bad, they were at the other thread.

  • Windows XP Pro SP3 32bit: n2WV5PbbAcVCjNL3Dk67ac3YZn46oCGjKN
  • Windows Vista Home Basic 32bit: n4JNHfhaYLZ1VBQi8qdiJrQGX6kdUTTyCA
  • Windows 7 Home Premium 32bit: mjSvaVoByx7qdCxreQ9iJuQ3HMT1C8cTNN
  • Windows 7 Ultimate 64bit: n3hNoW7snywYz5MNUPaT2EUYJzWzwsEjzc
  • Windows 8.1 Home 64bit: mo42boEmgBsiw8obtvPrUHTfbTHk6Fe5MX
  • Windows 10 Home 64bit: mh3W3pa7Hui792WpHJNyPNKjvz5En17tzq
  • Ubuntu 14.04 LTS 64bit: mxohWM9aRWxVvADAv8Mk4s6i8Zz5hscRB5
  • MacOS X Yosemite 10.10.1: mt689Y5nhqouc6X2KceReYvP5NZS9SKHSB

I’ll also be running a RC1d instance on mainnet soon; i’ll post the addy ASAP.

Thanks in advance for the spam! :smiley:

Didi I have yet to do anything with the main-net using the new wallet…not sure how that works. If I switch to mainnet after running on testnet, the wallet.dat file gets changed? I’m not sure how it works…probably a good question for Gnasher …

bmp02050 As far as i can tell and as long as you use the default install settings, a new folder (“testnet3” or the likes) will be created inside your RDD data folder, containing the testnet wallet, DB and blockchain. So it really boils down to just using the -testnet argument or not; the correct BC and wallet will be loaded.

Didi i did see that testnet3 folder…perfect. I’ll have to take a look at the new wallet on mainnet…must transfer my few RDD from poloniex over…

bmp02050 (and all testers): RobZJw6SNVRnu7qnfBhbisJ25UaNmi734E <- RC1d staking on mainnet; please feel free to stress that one too - CAUTION ADVISED: THESE ARE NOT TESTNET COINS BUT “REAL” ONES.

Please take that disclaimer with a grain of salt but this is still beta software (or Release Candidate if you will) so i strongly advise to NOT put all of your stash there.

1 Like

Block Size Limit Debate: valid for Reddcoin too? I just tried to create a transaction to send all my coins from my wallet to a new wallet to relieve the inputs and make things happy again, however, this:

1 Like

Replicated. Weeee… :confused:


Please note that the CPU keeps on trashing (first icon in the notification area).

EDIT: Disabling staking kills the trashing instantly so i’m suspecting that it’s just too many UTXOs staking at once. You can DoS someone with this, even endanger their funds. Glad we caught it tbh…

1 Like

Didi bmp02050
Great effort guys…power users :slight_smile:

For the block size discussion, I am very open to it. And we should have discussion

I would like to start introducing this for the next release (by then maybe we have seen some direction).
And it would also be better to be proactive and not waiting to we were at capacity

The easiest change would be to just bump the size.
What I would like to be able to test is the impact of increasing the size of the block over a range from 2MB, to 8MB and at each step filling those with transactions (just as you have been).

We can then look at the impact to the wallet, the behaviour, CPU load memory, etc.

What makes us different is that we dont rely on miners making creating block.

I would like to start introducing once we are clear of this build.

1 Like