To Mint OR Not To Mint


#21

Doing so would increase the chance of finding a block?


#22

Yes this UTXO will have 5 times the chance to find a block but you only 1 instead of 5. In the end the 10,000 split is most likely what you want.


#23

By default when you send NSR the amount is split in chunks of 10,000 NSR. Having NSR in chunks of 10,000 is the most optimal way to find blocks. So you just have to send as many NSR as possible.

But some people (like exchanges) may change that to reduce the fee. So if you received a large amount of NSR you may want to send it back to yourself to split it. You should examine the transaction first to see whether it’s been split or not.


#24

What happens if I have one wallet set splitshareoutputs=50000 and another wallet set splitshareoutputs=10000. When they receive fund they will split it into differently sized chunks? What if they both mint? Will the same coin mint different blocks because it is in different sized chunks in different wallets? for example 50000 nsr are received. the wallet with 10k sized chunks finds one pos block, will any coin in the other wallet be able to find pos blocks during “staked period”?


#25

They won’t split when the funds are received, but when they are minted or sent. i.e.: you can force a split by sending shares.

Having two clients both minting on the same set of addresses (technically, transaction outputs) is setting up for a problem, due to this functionality: https://www.peercointalk.org/index.php?topic=1956.55;wap2 … the TL;DR-- at best you will get a lot of stale blocks, tying up outputs unnecessarily.

I’ll assume the 50k NSR are received as one transaction output (i.e.: they are not split)

In this example, the wallet with 10k chunks will try to mint the one output. When it’s successful, it will create a transaction with 5 outputs of 10k NSR in size.

If at the same time the splitshareoutputs=50k wallet is minting (ignoring for a moment the problem from above), and it also scores, it will create one output of 50k.

If both blocks are found and sent on the network at the same time (very likely, based on how the stake algorithm works), at best only one will win.

So both clients would have thought they ‘minted’ the singluar non-split 50k input transaction (that you received), and the 50k NSR are tied up for the coinstake period.


#26

I know it. Please ignored it as you did for the sake of discussion.

Let’s go on. Suppose the 10k chunk wallet was chosen by the network as the block finder, the wallet splits the 50k coin in 5 10k chunks. Then the wallet with 50k chunk size will also see “its” coins sent to 5 utxos, right? That would all make sense.


#27

That’s right. In fact in the core of the code, when a block is “found”, it basically takes the same path as if it was received from a peer. The splitting was done upstream.

i.e.: find candidate ‘stakeable’ transactions from tx outputs (whether these tx’es were from others or myself) --> generate a block, splitting outputs per whatever the config and client rules are --> mint (which is a baby Proof-of-work) --> (win! [or go back to the start]) --> “receive” the block internally (kind of like a loopback) --> validate the block & discover ‘my’ transactions --> commit to database --> announce to peers.

Meaning if you have multiple clients with the same addresses (and therefore looking for the same transactions) they will be in-synch. The client that generated the block wins.

A side note (just to share generally, many people already know) that setting reservebalance=999999999 in your .conf would allow a second client with the same addresses (perhaps loaded by importprivkey or copying the wallet) to “watch” the first client that may be minting. Apart from stale blocks, the two would have the same information. Stale blocks could impact how many coins are available, so there may be some variance there, but if minting was stopped on both clients, eventually all balances would be the same once the coin stake age on the orphan blocks expires.


#28

if you want to only watch, just keep the watching wallet locked. no need to set reservebalance. no?