AvianNetwork / Avian

Avian Network is a proof-of-work secured blockchain designed for efficient and interoperable asset management.
https://avn.network
MIT License
54 stars 25 forks source link

Avian 4.1 release plan #169

Closed alamshafil closed 1 year ago

alamshafil commented 1 year ago

This issue tracks the work that needs to be done to release Avian 4.1. Nothing here is final and is subject to CHANGE!

Tentative deadlines

MUST HAVE (delay without these having been merged)

COULD HAVE (non-critical for release)

Maintainer tasks for release

alamshafil commented 1 year ago

4.1 is ready for release, building binaries now.

alamshafil commented 1 year ago

4.1 has been released!

crackfoo commented 1 year ago

Why does getblocktemplate complain:

error -1: createnewblock: testblockvalidity failed: bad-cb-amount (code 16)

wallet debug says

2022-10-05 22:38:26 ERROR: ConnectBlock(): coinbase pays too much (actual=262500000000 vs limit=250000000000) 2022-10-05 22:38:26 ERROR: TestBlockValidity: Consensus::ConnectBlock: bad-cb-amount (code 16)

but I'm not even submitting a block... just asking for the template....

alamshafil commented 1 year ago

To properly assist you, make sure you running Avian 4.1 on commit https://github.com/AvianNetwork/Avian/commit/53947c4d7aeeb4bbd0fd421517f15dd0827e3979.

On my local node I was able to run the below without any issues:

Keep in mind that dev fee is already subtracted from coinbasevalue, ex: 237500000000.

From the value 262500000000, it looks like 5% of 2500 (125) was added to coinbase subsidy of 2500 (2625).

It is odd that your gbt is adding to coinbase. This is the code that checks coinbase: (AreEnforcedValuesDeployed() is always true) https://github.com/AvianNetwork/Avian/blob/53947c4d7aeeb4bbd0fd421517f15dd0827e3979/src/validation.cpp#L2805-L2811

I know this is not related to getting a block template but make sure your pool is properly configured to support the dev fee. (Keep in mind that the founder address is a P2SH multi-sig addr and do not subtract from coinbase.) Yiimp example: https://github.com/mivanoski/yiimp/commit/9cff8299921611c83f7787632e7aa76519b97077

If you are still experiencing this problem, make a new issue with additional information (if possible). I apologize for the inconvenience.

alamshafil commented 1 year ago

To my understanding, getblocktemplate only performs TestBlockValidity() if the mode in the template request is set to proposal to check a block.