1

I was wondering how in that case the node would know when to kill the process? Would this increase my compute units and when it reaches the limit it stops? How would the system know about this? Maybe a timeout? Do you know any sources where I could read about this?

This is a bit not detailed enough: https://docs.solana.com/developing/programming-model/runtime

1 Answer 1

2

Currently transactions are limited to 1.4M compute units. Usage of compute units is tracked by the runtime. Once a transaction hits that maximum limit, it will simply fail. The signer will still pay a network fee though for submitting the transaction.

3
  • Thank you. But how does the runtime check these compute units? Im wondering about the technicals.
    – Jonas H.
    Commented Nov 23, 2022 at 16:28
  • 1
    This part of the codebase is actively being modified. If you want the under-the-hood details, you'll have to codedive: github.com/solana-labs/solana/blob/master/program-runtime/src/… Commented Nov 23, 2022 at 16:48
  • 2
    I wish I knew more about the runtime honestly, but my understanding is that transactions run in a virtual machine. Different logical operations maps to different compute unit values. As the transactions runs, the compute units are aggregated. If the limit is hit, the transaction is failed. Commented Nov 23, 2022 at 16:52

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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