If I read correctly, Calls which are read only operations do not cost any gas. Calls can have computing operations. Like currency conversion, loops, etc.

I could for example host a contract with a call that attempts to find number of primes between 1 and 1^100. Any node making a call to this contract would be doing it for free, and spending an awful amount of CPU.

What is the safe guard that Ethereum has put in place to prevent such abuse?


Looks like I over-looked an important piece of information. All calls are locally invoked. What is the difference between a transaction and a call?

Any node making the call will have to spend its own CPU. This does mean that Dapps that are generic or create a Web API proxy for calls to Ethereum must handle this at their end.

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.