ETH/ETC - Some found blocks flagged as Uncle
are actually Orphaned
and this scenario breaks the payment system
#1600
Replies: 13 comments 1 reply
-
I managed to solve half of my issue, which are indeed blocks recorded in my database, which are indeed However, the error I have a suspicion that it is a RAM space issue, since i am running everything on a laptop with only 8GB shared with the APU. When everything run, i have barely 1GB left. I will continue to test and report my findings. |
Beta Was this translation helpful? Give feedback.
-
After further investigation and testing, i can confirm that the suggestion in PR #1501 from @jon4hz to increase There is one last case scenario which is very annoying on the ETC And they are also logically inserted in the database: In this case scenario, the payout will be totally broken: Lastly, RAM space left is not the issue at all here, i was able to run the pool and sending payouts with less than 1Go RAM left. |
Beta Was this translation helpful? Give feedback.
-
Your last issue was probably caused because a block mined by your pool included an orphan, which was also mined by you. At least this is what it looks like to me from what I see in the screenshot of the explorer. As it seems this use case is not supported at the moment. You probably have to tune the |
Beta Was this translation helpful? Give feedback.
-
Thanks for the reply @jon4hz, i know you are a busy man :) According to the ETC Here the link to my pool wallet https://blockscout.com/etc/mordor/address/0x421Afb2ce225D3A2d3DD6e63Fe57E124B40e20Af/validations#address-tabs, just search for block The first one, declared as type The second one, declared as type According to the ETC |
Beta Was this translation helpful? Give feedback.
-
It might be a rare case but as you can see, it is possible that a block mined by you includes an uncle block which was also mined by you. Miningcore just doesn't seem to handle that scenario correctly. |
Beta Was this translation helpful? Give feedback.
-
Yes, definitely, but your method
You decided that a block is
|
Beta Was this translation helpful? Give feedback.
-
It does not. My PR simply aimed to fix another bug for which it wasn't necessary to check for a specific block type in the db request. Just changing that method most likely wont fix your issue, however it might be necessary to cover your use-case. |
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
-
I see, I wasn't aware that So was specifying the |
Beta Was this translation helpful? Give feedback.
-
Nevermind, saw the commits in #1514, amazing work :D |
Beta Was this translation helpful? Give feedback.
-
Hey no worry, i understood you were not aware, i actually found out about that SQL function kinda luckily when i was looking to make my patch. I thought you knew since you seem to be a real MVP when it comes to And thanks for the kind words! Have a great weekend ahead :) |
Beta Was this translation helpful? Give feedback.
-
Please consider using the repository's discussion feature instead of issues folks 😄 |
Beta Was this translation helpful? Give feedback.
-
did u fix the problem @blackmennewstyle i just now having this problem when mining on other coins using ethash algo, my pool paying reward when someone else found the block in the network |
Beta Was this translation helpful? Give feedback.
-
Hi everyone,
I'm in the process of implementing
ETC
, i have it hashing away, finding blocks and sending payments on ETCtestnet
akaMordor
. However, i found myself facing a case where a found block is flagged by the software asUncle
but it is actually anOrphaned
(Someone else on the network beat me to it). And it totally breaks thepayment
process:The faulty block in the log is
7973153
, it is declared in the database asUncle
but it is actually anOrphaned
:Database
ETC testnet MORDOR block explorer
- https://blockscout.com/etc/mordor/block/7973153As you can see, it's not an
Uncle
but anOrphaned
, someone else beat me to it, my pool wallet address is0x421Afb2ce225D3A2d3DD6e63Fe57E124B40e20Af
, which is not the address which found that block :)Beta Was this translation helpful? Give feedback.
All reactions