Infinite loop in a viewError: “message”:“function ”Ballot“ arguments must include ”proposalNames“”}Solidity: How could I decrease gas usage of complex structs?Calling a function on an existing contractThis contract does not implement all functions and thus cannot be createdWarning Message Relating To Gas and Infinite Loopstruct with mapping member in solidityParse string into multiple variablesHow is gas adjusted for a transfer in solidity?How to handle dynamic size string array in solidity?remix ERC223: This contract does not implement all functions and thus cannot be created

Increase performance creating Mandelbrot set in python

Efficient way to transport a Stargate

Why are there no referendums in the US?

Escape a backup date in a file name

How long to clear the 'suck zone' of a turbofan after start is initiated?

Unreliable Magic - Is it worth it?

How do I rename a Linux host without needing to reboot for the rename to take effect?

Customer Requests (Sometimes) Drive Me Bonkers!

Trouble understanding the speech of overseas colleagues

Short story about space worker geeks who zone out by 'listening' to radiation from stars

Avoiding estate tax by giving multiple gifts

How to be diplomatic in refusing to write code that breaches the privacy of our users

Method to test if a number is a perfect power?

Energy of the particles in the particle accelerator

Anatomically Correct Strange Women In Ponds Distributing Swords

Implement the Thanos sorting algorithm

Would this custom Sorcerer variant that can only learn any verbal-component-only spell be unbalanced?

What can we do to stop prior company from asking us questions?

Sequence of Tenses: Translating the subjunctive

Why does indent disappear in lists?

System.debug(JSON.Serialize(o)) Not longer shows full string

Roman Numeral Treatment of Suspensions

What grammatical function is や performing here?

Where does the Z80 processor start executing from?



Infinite loop in a view


Error: “message”:“function ”Ballot“ arguments must include ”proposalNames“”}Solidity: How could I decrease gas usage of complex structs?Calling a function on an existing contractThis contract does not implement all functions and thus cannot be createdWarning Message Relating To Gas and Infinite Loopstruct with mapping member in solidityParse string into multiple variablesHow is gas adjusted for a transfer in solidity?How to handle dynamic size string array in solidity?remix ERC223: This contract does not implement all functions and thus cannot be created













3















How is ethereum network protected against infinite loops in views? In normal transaction you have to pay a gass, so it would be too expensive for you, but calls to views are for free.



For example this:



contract Tester 

function loo() public pure returns(string memory)
uint i = 1;
uint c = 0;
while(i == 1)
c = c + 1;

return "good";




I tried to call this in Remix and it crashed.










share|improve this question


























    3















    How is ethereum network protected against infinite loops in views? In normal transaction you have to pay a gass, so it would be too expensive for you, but calls to views are for free.



    For example this:



    contract Tester 

    function loo() public pure returns(string memory)
    uint i = 1;
    uint c = 0;
    while(i == 1)
    c = c + 1;

    return "good";




    I tried to call this in Remix and it crashed.










    share|improve this question
























      3












      3








      3








      How is ethereum network protected against infinite loops in views? In normal transaction you have to pay a gass, so it would be too expensive for you, but calls to views are for free.



      For example this:



      contract Tester 

      function loo() public pure returns(string memory)
      uint i = 1;
      uint c = 0;
      while(i == 1)
      c = c + 1;

      return "good";




      I tried to call this in Remix and it crashed.










      share|improve this question














      How is ethereum network protected against infinite loops in views? In normal transaction you have to pay a gass, so it would be too expensive for you, but calls to views are for free.



      For example this:



      contract Tester 

      function loo() public pure returns(string memory)
      uint i = 1;
      uint c = 0;
      while(i == 1)
      c = c + 1;

      return "good";




      I tried to call this in Remix and it crashed.







      solidity transactions blockchain dapps






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked 18 hours ago









      Banana CakeBanana Cake

      423




      423




















          1 Answer
          1






          active

          oldest

          votes


















          5














          When view function is executed on-chain, i.e. within mined transaction, it consumes gas, and this protects node from infinite loop. When executed off-chain via Web3 API, caller is still able to specify gas limit for the execution, see documentation.



          If gas limit is not specified, it is up to particular implementation how to protect from such things, because they affect only the process that executes transaction off-chain, and do not affect other nodes. Some implementations may be unprotected, and it seems that REMIX is one of such unprotected implementations.






          share|improve this answer

























          • For example if none is specified geth will use the current block gas limit.

            – Ismael
            9 hours ago











          Your Answer








          StackExchange.ready(function()
          var channelOptions =
          tags: "".split(" "),
          id: "642"
          ;
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function()
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled)
          StackExchange.using("snippets", function()
          createEditor();
          );

          else
          createEditor();

          );

          function createEditor()
          StackExchange.prepareEditor(
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: false,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: null,
          bindNavPrevention: true,
          postfix: "",
          imageUploader:
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          ,
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          );



          );













          draft saved

          draft discarded


















          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fethereum.stackexchange.com%2fquestions%2f68914%2finfinite-loop-in-a-view%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown

























          1 Answer
          1






          active

          oldest

          votes








          1 Answer
          1






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes









          5














          When view function is executed on-chain, i.e. within mined transaction, it consumes gas, and this protects node from infinite loop. When executed off-chain via Web3 API, caller is still able to specify gas limit for the execution, see documentation.



          If gas limit is not specified, it is up to particular implementation how to protect from such things, because they affect only the process that executes transaction off-chain, and do not affect other nodes. Some implementations may be unprotected, and it seems that REMIX is one of such unprotected implementations.






          share|improve this answer

























          • For example if none is specified geth will use the current block gas limit.

            – Ismael
            9 hours ago
















          5














          When view function is executed on-chain, i.e. within mined transaction, it consumes gas, and this protects node from infinite loop. When executed off-chain via Web3 API, caller is still able to specify gas limit for the execution, see documentation.



          If gas limit is not specified, it is up to particular implementation how to protect from such things, because they affect only the process that executes transaction off-chain, and do not affect other nodes. Some implementations may be unprotected, and it seems that REMIX is one of such unprotected implementations.






          share|improve this answer

























          • For example if none is specified geth will use the current block gas limit.

            – Ismael
            9 hours ago














          5












          5








          5







          When view function is executed on-chain, i.e. within mined transaction, it consumes gas, and this protects node from infinite loop. When executed off-chain via Web3 API, caller is still able to specify gas limit for the execution, see documentation.



          If gas limit is not specified, it is up to particular implementation how to protect from such things, because they affect only the process that executes transaction off-chain, and do not affect other nodes. Some implementations may be unprotected, and it seems that REMIX is one of such unprotected implementations.






          share|improve this answer















          When view function is executed on-chain, i.e. within mined transaction, it consumes gas, and this protects node from infinite loop. When executed off-chain via Web3 API, caller is still able to specify gas limit for the execution, see documentation.



          If gas limit is not specified, it is up to particular implementation how to protect from such things, because they affect only the process that executes transaction off-chain, and do not affect other nodes. Some implementations may be unprotected, and it seems that REMIX is one of such unprotected implementations.







          share|improve this answer














          share|improve this answer



          share|improve this answer








          edited 9 hours ago

























          answered 18 hours ago









          Mikhail VladimirovMikhail Vladimirov

          914314




          914314












          • For example if none is specified geth will use the current block gas limit.

            – Ismael
            9 hours ago


















          • For example if none is specified geth will use the current block gas limit.

            – Ismael
            9 hours ago

















          For example if none is specified geth will use the current block gas limit.

          – Ismael
          9 hours ago






          For example if none is specified geth will use the current block gas limit.

          – Ismael
          9 hours ago


















          draft saved

          draft discarded
















































          Thanks for contributing an answer to Ethereum Stack Exchange!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid


          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.

          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fethereum.stackexchange.com%2fquestions%2f68914%2finfinite-loop-in-a-view%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          Log på Navigationsmenu

          Creating second map without labels using QGIS?How to lock map labels for inset map in Print Composer?How to Force the Showing of Labels of a Vector File in QGISQGIS Valmiera, Labels only show for part of polygonsRemoving duplicate point labels in QGISLabeling every feature using QGIS?Show labels for point features outside map canvasAbbreviate Road Labels in QGIS only when requiredExporting map from composer in QGIS - text labels have moved in output?How to make sure labels in qgis turn up in layout map?Writing label expression with ArcMap and If then Statement?

          Nuuk Indholdsfortegnelse Etyomologi | Historie | Geografi | Transport og infrastruktur | Politik og administration | Uddannelsesinstitutioner | Kultur | Venskabsbyer | Noter | Eksterne henvisninger | Se også | Navigationsmenuwww.sermersooq.gl64°10′N 51°45′V / 64.167°N 51.750°V / 64.167; -51.75064°10′N 51°45′V / 64.167°N 51.750°V / 64.167; -51.750DMI - KlimanormalerSalmonsen, s. 850Grønlands Naturinstitut undersøger rensdyr i Akia og Maniitsoq foråret 2008Grønlands NaturinstitutNy vej til Qinngorput indviet i dagAntallet af biler i Nuuk må begrænsesNy taxacentral mødt med demonstrationKøreplan. Rute 1, 2 og 3SnescootersporNuukNord er for storSkoler i Kommuneqarfik SermersooqAtuarfik Samuel KleinschmidtKangillinguit AtuarfiatNuussuup AtuarfiaNuuk Internationale FriskoleIlinniarfissuaq, Grønlands SeminariumLedelseÅrsberetning for 2008Kunst og arkitekturÅrsberetning for 2008Julie om naturenNuuk KunstmuseumSilamiutGrønlands Nationalmuseum og ArkivStatistisk ÅrbogGrønlands LandsbibliotekStore koncerter på stribeVandhund nummer 1.000.000Kommuneqarfik Sermersooq – MalikForsidenVenskabsbyerLyngby-Taarbæk i GrønlandArctic Business NetworkWinter Cities 2008 i NuukDagligt opdaterede satellitbilleder fra NuukområdetKommuneqarfik Sermersooqs hjemmesideTurist i NuukGrønlands Statistiks databankGrønlands Hjemmestyres valgresultaterrrWorldCat124325457671310-5