ghostlander (OP)
Legendary
Offline
Activity: 1242
Merit: 1020
No surrender, no retreat, no regret.
|
|
May 16, 2014, 09:48:45 PM |
|
The current code tries to combine inputs only if generating input is above split age (nStakeMinAge + nStakeMaxAge). It is the only condition when txNew.vout.size() == 2. The 1st vout is reserved always. vout.size() == 2 means one actual output. vout.size() == 3 means two actual outputs, i.e. stake split. This patch fixes this issue as well as stake splits to amounts below the combining threshold. This kind of fragmentation isn't necessary. Inputs less than 50 ORB won't be halved. Works fine. So i not understand why we need this check about 2 outputs?
This requirement comes from PPC. The reasons behind it are unclear, so you may want to ask Sunny King. Maybe he didn't want input combining to work our way, though PPC uses this feature very occasionally as there is no generation threshold. Even if a generating input is very small and there is nothing available to combine it with, a PoS block is produced still.
|
|
|
|
Mad_Max
|
|
May 17, 2014, 03:04:03 PM Last edit: May 17, 2014, 04:25:30 PM by Mad_Max |
|
If 1st vout is reserved then it is clear this check (txNew.vout.size() == 2) is a reason for small (<20) inputs not staking at all (at least until >20 days old). if PPC not have any minimum stake requirements(and PoS reward is % of coins-days, not fixed), then I understand why Sunny King made such a check. It allow to "glue" only very small inputs. And "small" is dynamic criteria (based on current PoS difficulty and mining activity) not static limit. If input manages to generate PoS blocks before reaching max weight then it mean it is NOT very small. And if it exceed max coin age before generating PoS - then it is probable too small for current diff and better to combine few small inputs into larger one. I thinks on ORB with fixed minimum stake amount and fixed PoS reward we not need this: because if program running this part of code then it mean we already know that input is too small (<20 ORBs) and it needed to combine them. Otherwise it can not create PoS block in principle - no matter how long it tries, and will only waste CPU resources in futile attempts (generating PoS kernels but always fails at full blocks). But your last patch should fix this too. (because all small input < 50 will have txNew.vout.size() == 2 not matter input coin age) Can you upload recompiled binaries with this last patch? Or may be better if someone tell what could be the cause of the error in my own compiled version: I compile 1.4.1 myself and it work fine(and prev 1.3.0 and 1.3.2 OK too), but with 1.4.2 i am getting errors for some unknown reason (i use exactly same compiler and external libs only replace ORB source and libs included with it like levelDB). It compile OK but right after start and loading block database and wallet client produce such error: Funny thing: despite this error message application in the background actually works just fine - responding to the network requests, downloads the new blocks, receives transaction, mining also works, etc. But until clicking on the OK button - then immediately aborts/crash.
|
He знaя пoкoя и oтдыxa, Пpи лyннoм и coлнeчнoм cвeтe, Mы дeлaeм дeньги из вoздyxa, Чтoб cнoвa cпycтить иx нa вeтep!
|
|
|
ghostlander (OP)
Legendary
Offline
Activity: 1242
Merit: 1020
No surrender, no retreat, no regret.
|
|
May 17, 2014, 05:02:09 PM |
|
Can you upload recompiled binaries with this last patch? Or may be better if someone tell what could be the cause of the error in my own compiled version: I compile 1.4.1 myself and it work fine(and prev 1.3.0 and 1.3.2 OK too), but with 1.4.2 i am getting errors for some unknown reason (i use exactly same compiler and external libs only replace ORB source and libs included with it like levelDB).
I'll make one or two additional patches before releasing an update. Have you re-built the transaction data base after switching to v1.4.2.0 by bootstrapping or re-downloading? The old one lacks metadata needed by the new code, so it throws exceptions and crashes.
|
|
|
|
Mad_Max
|
|
May 17, 2014, 05:37:14 PM |
|
Yes, i re-download entire database from scratch after upgrading from 1.4.1 to 1.4.2. (BTW this time it was significantly faster ~ 8-9 hours instead of ~ 20 hours with 1.4.1 and i notice what it use second CPU core from time to time, not strict 1 core as was with 1.4.1. You already add partial multi-threading support?)
And your precompiled binary work fine on same computer (with same datafolder). This problem only if i compile myself from source... Probable it somehow affected by fact what you configure 1.4.2 for static linking(just one .exe) while 1.4.1 was dynamically linked (with use of external .dll's) I will try recompile 1.4.2 with dynamic linking to check if it change anything...
|
He знaя пoкoя и oтдыxa, Пpи лyннoм и coлнeчнoм cвeтe, Mы дeлaeм дeньги из вoздyxa, Чтoб cнoвa cпycтить иx нa вeтep!
|
|
|
ghostlander (OP)
Legendary
Offline
Activity: 1242
Merit: 1020
No surrender, no retreat, no regret.
|
|
May 18, 2014, 07:01:38 AM |
|
Yes, i re-download entire database from scratch after upgrading from 1.4.1 to 1.4.2. (BTW this time it was significantly faster ~ 8-9 hours instead of ~ 20 hours with 1.4.1 and i notice what it use second CPU core from time to time, not strict 1 core as was with 1.4.1. You already add partial multi-threading support?)
I have reduced message polling latency from conservative 100ms to fast 20ms and disabled the ACP checks during initial block chain downloads. Now orb-msghand thread processes data fast enough to keep up with orb-net thread supplying it.
|
|
|
|
dearbesz
|
|
May 18, 2014, 07:12:29 AM |
|
wow!!!orbitcoins is funtastic by collecting any coin,this is really impressive...
|
|
|
|
Mad_Max
|
|
May 18, 2014, 01:01:39 PM Last edit: May 18, 2014, 01:36:03 PM by Mad_Max |
|
I recompile 1.4.2 with dynamic link dll's. Do not know why - but it works: application run fine without previous errors, while statically linked throw errors right after startup. Patch for staking and combining for small inputs begins working too.
Although with the current increase of PoS difficulty the probability of finding blocks for small input becoming low - after ~12 hours wallet could only create 2 PoS blocks by staking 35 small inputs (all with coin ages between 10 and 15 days, ~2500 weight total).
|
He знaя пoкoя и oтдыxa, Пpи лyннoм и coлнeчнoм cвeтe, Mы дeлaeм дeньги из вoздyxa, Чтoб cнoвa cпycтить иx нa вeтep!
|
|
|
Cor2
|
|
May 19, 2014, 05:49:11 PM |
|
....But ALL of my ~80 PoS blocks was generated by inputs >= 20 ORBs only. And no single PoS block for inputs < 20 ORBs.
I believe that I finally got one PoS block from a series of just over 10 ORB inputs, all around 20 days old (just over 150 weight). I saw that with the current diff (0.003) that inputs around that weight start to stake, earlier diff was over 0.005 and I saw even 20 ORB inputs with weight of 190 still had not staked yet. Initially diff was 0.0002 and inputs around 80-90 weight were staking reliably as soon as they got 9 days old. Ghostlander, are inputs now able to stake after 5 days?
|
|
|
|
Mad_Max
|
|
May 19, 2014, 08:02:16 PM |
|
I believe that I finally got one PoS block from a series of just over 10 ORB inputs, all around 20 days old (just over 150 weight).
Yes it was expected. if you read carefully my discussion with the ghostlander above, then there we found out the reason why small inputs(<20 ORBs) could not combine and generates PoS blocks now: because combining was allowed only for blocks with 2 outputs (1 real + 1 output always reversed). So if input age < maximum coins age (=20 days now) then wallet try to split block, this leads to 3 outputs = 2 reals(block split into 2 halves) + 1 reversed and rejected by this criteria. But if small input reach maximum coin age then wallet NOT try to split them = only 2 outputs = small inputs combining works for such inputs. This is your case. Latest patch (will be included in next version) fix this and allow combining for any small inputs (> minimum coin age) by preventing splitting for inputs <50 ORBs.
|
He знaя пoкoя и oтдыxa, Пpи лyннoм и coлнeчнoм cвeтe, Mы дeлaeм дeньги из вoздyxa, Чтoб cнoвa cпycтить иx нa вeтep!
|
|
|
ghostlander (OP)
Legendary
Offline
Activity: 1242
Merit: 1020
No surrender, no retreat, no regret.
|
|
May 20, 2014, 02:04:26 AM |
|
Initially diff was 0.0002 and inputs around 80-90 weight were staking reliably as soon as they got 9 days old. Ghostlander, are inputs now able to stake after 5 days?
Inputs produced after block #650K stake after 5 days. Older inputs stake after 9 days.
|
|
|
|
ghostlander (OP)
Legendary
Offline
Activity: 1242
Merit: 1020
No surrender, no retreat, no regret.
|
|
May 20, 2014, 09:44:43 PM |
|
v1.4.2.1 uploaded. Optimised staking for small inputs, addnode and getaddednodeinfo RPC commands implemented, byte counters for getpeerinfo added. This is an optional upgrade.
|
|
|
|
jjj0923
|
|
May 20, 2014, 09:58:51 PM |
|
does anyone have a .conf file?
my wallet won't synch - no connections.
|
|
|
|
WyattDerp
|
|
May 20, 2014, 10:02:01 PM |
|
does anyone have a .conf file?
my wallet won't synch - no connections.
listen=1 maxconnections=100 server=1 daemon=1 rpcuser=wyatt rpcpassword=derp port=15298 rpcport=15299 That's all mine has..synced fine
|
|
|
|
jjj0923
|
|
May 20, 2014, 10:05:05 PM |
|
does anyone have a .conf file?
my wallet won't synch - no connections.
listen=1 maxconnections=100 server=1 daemon=1 rpcuser=wyatt rpcpassword=derp port=15298 rpcport=15299 That's all mine has..synced fine don;t you need nodes to synch?
|
|
|
|
bbr
|
|
May 20, 2014, 10:20:48 PM |
|
I have 43 credits of 2 ORB each and all on 11/05/14 with the last one at 12:19. It is now past 9 days and I have now POS reward.
When I hover of the staking symbol it says:
Staking enabled for 43 inputs weighing 382 coin days.
Do i have to wait until 387 coin days (43*9=387) for a POS reward?
|
|
|
|
jjj0923
|
|
May 20, 2014, 10:26:13 PM |
|
no nodes?
I'm running the new wallet on windoze 8
|
|
|
|
bbr
|
|
May 20, 2014, 10:29:56 PM |
|
no nodes?
I'm running the new wallet on windoze 8
I didn't need nodes but here you go: addnode=209.173.81.165 addnode=94.67.111.203 addnode=95.85.50.11 addnode=86.174.49.224 addnode=212.116.78.90 addnode=198.50.239.178 addnode=94.23.1.224 addnode=90.6.103.84 addnode=31.220.27.140 addnode=92.243.26.148 addnode=31.200.201.218 addnode=107.206.228.217
|
|
|
|
jjj0923
|
|
May 20, 2014, 10:35:49 PM |
|
no nodes?
I'm running the new wallet on windoze 8
I didn't need nodes but here you go: addnode=209.173.81.165 addnode=94.67.111.203 addnode=95.85.50.11 addnode=86.174.49.224 addnode=212.116.78.90 addnode=198.50.239.178 addnode=94.23.1.224 addnode=90.6.103.84 addnode=31.220.27.140 addnode=92.243.26.148 addnode=31.200.201.218 addnode=107.206.228.217 where should it go and what should it be named.
|
|
|
|
jjj0923
|
|
May 20, 2014, 10:43:19 PM |
|
I named to copies - coin.conf and orbitcoin.conf and put copies in the folder along with -qt.exe and also in the data folder...
alas - to no avail.
no synching
|
|
|
|
ghostlander (OP)
Legendary
Offline
Activity: 1242
Merit: 1020
No surrender, no retreat, no regret.
|
|
May 20, 2014, 11:16:34 PM |
|
does anyone have a .conf file?
my wallet won't synch - no connections.
You get addresses from DNS seeds + IRC. That's enough to get started.
|
|
|
|
|