I have some mathematical algorithm I have reason to run as an on-chain function in a smart contract. After unrolling for-loops I’m looking at I’m guessing 10000 lines of code where each line is doing simple arithmetic (adding or multiplying floating point numbers in small arrays).

I know for a fact the function can be computed 3000-5000 times per second on a 2.3 GHz Intel i5, when written in C depending on parameter tweaks.

Before writing the code my ‘gut feel’ is I’m looking at 1,000,000 gas for something like this, based on some simple hardhat tests with large for-loops.

Running this on a main chain looks like a joke, but running this on Polygon or some kind of roll-up looks like it might not be ridiculously expensive?

I estimate users will need to call the function/transaction maybe 5 or 10 times total. I also estimate that the on-chain data will be around 5 kilobytes per transaction (or 2kb with on-chain decompression). The majority of participants to the smart contract would likely be willing to spend $120 total on those 5 or 10 transactions but $10000 might not be out of the question for certain corporate use-cases.

Ballpark, does this sound like it adds up or have I vastly underestimated the cost of gas or on-chain data?

  • djlywtfB
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 year ago

    you can check how much your smart contracts consume right when you execute them in remix

    yeah, execution is expensive and much cheaper in rollups, but data costs the same. in centralised networks such as polygon it’s all cheap