2

I'm writing a mobile app with Tezos and I'm struggling to understand how to fetch information, so that I can let the user know that the operation should be considered confirmed.

I got my operation hash from Tezos RPC and I've used Conseil to get the blockId. I've read another answer on this stackexchange that said "a fitness score of 900 or more is equal to 30 endorsements" which I've heard is considered "confirmed". So I fetched the block details from conseil and I got back:

"fitness": "01,0000000000037f4f"

What format is this in and how do I convert it to decimal?

Will 900 always equal 30 endorsements? Is it safe to hardcode that logic or do I need to compute that from some metrics from the network etc.

2

In 005-Babylon, fitness became a monotonically increasing number, simply representing the height of the block. Fitness is no longer calculated based on the number of endorsements within the block.

"confirmations" is simply the level of the current head block minus the level of the block with your transaction.

If you want to mess with fitness still, treat the second part (after the comma) as hex and convert to decimal. (37f4f = 229199)

2
  • Ok so just get my blocks level, and then check for the latest block level every so often. If the difference is >= 30, I can let the user know its done. Great thanks for the help! Jan 23 '20 at 17:23
  • 1
    Sounds good to me. In theory, that would be at least 30m later as the minimum time between blocks in Tezos is 60s. Someone with more chain internals experience could tell you at what point on-chain reorganizations are no longer possible if you want to be absolutely sure the op is solidified on the chain.
    – utdrmac
    Jan 23 '20 at 17:26

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.