steemit / steem-python

The official Python (3) library for the Steem Blockchain.
https://steem.io
MIT License
153 stars 98 forks source link

Feature: Use current block - 3 reference for broadcast tx #13

Open Netherdrake opened 7 years ago

Netherdrake commented 7 years ago

todo: https://github.com/steemit/steem-js/pull/161/files

bitphage commented 7 years ago

Guys could you explain why this change was introduced? I'm often getting an errors while making transactions. I'm on golos blockchain and I'm using a forked version of steem-python.

Here is the my report to golos-python: https://github.com/GolosChain/golos-python/issues/3

I reverted this change and errors disappeared.

GwenNelson commented 7 years ago

This might explain a recent bug in yo too

On Nov 10, 2017 10:43 AM, "Vladimir Kamarzin" notifications@github.com wrote:

Guys could you explain why this change was introduced? I'm often getting an errors while making transactions. I'm on golos blockchain and I'm using a forked version of steem-python.

Here is the my report to golos-python: GolosChain#3 https://github.com/GolosChain/golos-python/issues/3

I reverted this change and errors disappeared.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/steemit/steem-python/issues/13#issuecomment-343439819, or mute the thread https://github.com/notifications/unsubscribe-auth/AAqWaJmNeDRZ2R77dWbk9pN9nXpy_FIZks5s1CjNgaJpZM4N1QXK .

cyon1c commented 6 years ago

@sneak @john-g-g

Is this issue still relevant?

steem-python does not currently implement this.

sneak commented 6 years ago

Yes, it is likely still relevant. If the change is introducing problems then it's likely a bug in the change, not the concept.

Each tx needs to refer to the block hash of a recent block. A block from a few blocks ago should be used, instead of the absolute tip of the chain, in the event of a microfork that invalidates the tip block which then renders the transactions that referenced it invalid.

bitphage commented 6 years ago

@sneak I think reasonable default is use last_irreversible_block as a reference. This will prevent transactions loosing at chain forks.

sneak commented 6 years ago

That’s fine too.