How does NOW work?What does the DIP opcode in Michelson do?How can I deploy a Michelson smart contract?How SET_CAR/SET_CDR macros should be expanded?What is the BigMap container and why does it matter?

How to use of "the" before known matrices

Co-worker team leader wants to inject his friend's awful software into our development. What should I say to our common boss?

How to create the Curved texte?

Official degrees of earth’s rotation per day

Min function accepting varying number of arguments in C++17

How to write cleanly even if my character uses expletive language?

How to explain that I do not want to visit a country due to personal safety concern?

Can a druid choose the size of its wild shape beast?

Should we release the security issues we found in our product as CVE or we can just update those on weekly release notes?

how to draw discrete time diagram in tikz

How to change two letters closest to a string and one letter immediately after a string using notepad++

Is a party consisting of only a bard, a cleric, and a warlock functional long-term?

How difficult is it to simply disable/disengage the MCAS on Boeing 737 Max 8 & 9 Aircraft?

Recruiter wants very extensive technical details about all of my previous work

Who is flying the vertibirds?

Use void Apex method in Lightning Web Component

How to deal with taxi scam when on vacation?

How to read the value of this capacitor?

Instead of Universal Basic Income, why not Universal Basic NEEDS?

What did Alexander Pope mean by "Expletives their feeble Aid do join"?

Opacity of an object in 2.8

Are ETF trackers fundamentally better than individual stocks?

Happy pi day, everyone!

PTIJ: Who should I vote for? (21st Knesset Edition)



How does NOW work?


What does the DIP opcode in Michelson do?How can I deploy a Michelson smart contract?How SET_CAR/SET_CDR macros should be expanded?What is the BigMap container and why does it matter?













8















Say a contract has a condition based on NOW being after a time. Is NOW UTC, and is this validated by each node before being added to the chain? Let's say you want ensure a function is called during a 1 hour window, will this be possible to enforce?



For example:



current stack state: NOW - 15 minutes :: NOW + 45 minutes //pseudocode
code: NOW; SUB; GT; SWAP;
NOW; SWAP; SUB;
AND;
IF send transaction... FAIL; ;


This should check that it's greater than NOW - 15 minutes and less than NOW + 45 minutes, which are both true so it can execute the transaction.



It might also be important to understand how the network gets consensus on a block time across the network?










share|improve this question


























    8















    Say a contract has a condition based on NOW being after a time. Is NOW UTC, and is this validated by each node before being added to the chain? Let's say you want ensure a function is called during a 1 hour window, will this be possible to enforce?



    For example:



    current stack state: NOW - 15 minutes :: NOW + 45 minutes //pseudocode
    code: NOW; SUB; GT; SWAP;
    NOW; SWAP; SUB;
    AND;
    IF send transaction... FAIL; ;


    This should check that it's greater than NOW - 15 minutes and less than NOW + 45 minutes, which are both true so it can execute the transaction.



    It might also be important to understand how the network gets consensus on a block time across the network?










    share|improve this question
























      8












      8








      8


      1






      Say a contract has a condition based on NOW being after a time. Is NOW UTC, and is this validated by each node before being added to the chain? Let's say you want ensure a function is called during a 1 hour window, will this be possible to enforce?



      For example:



      current stack state: NOW - 15 minutes :: NOW + 45 minutes //pseudocode
      code: NOW; SUB; GT; SWAP;
      NOW; SWAP; SUB;
      AND;
      IF send transaction... FAIL; ;


      This should check that it's greater than NOW - 15 minutes and less than NOW + 45 minutes, which are both true so it can execute the transaction.



      It might also be important to understand how the network gets consensus on a block time across the network?










      share|improve this question














      Say a contract has a condition based on NOW being after a time. Is NOW UTC, and is this validated by each node before being added to the chain? Let's say you want ensure a function is called during a 1 hour window, will this be possible to enforce?



      For example:



      current stack state: NOW - 15 minutes :: NOW + 45 minutes //pseudocode
      code: NOW; SUB; GT; SWAP;
      NOW; SWAP; SUB;
      AND;
      IF send transaction... FAIL; ;


      This should check that it's greater than NOW - 15 minutes and less than NOW + 45 minutes, which are both true so it can execute the transaction.



      It might also be important to understand how the network gets consensus on a block time across the network?







      michelson






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Mar 11 at 7:27









      RobRob

      3307




      3307




















          3 Answers
          3






          active

          oldest

          votes


















          5














          There is an assumption that all Tezos nodes are synchronized, otherwise the consensus with 1-minute slots would not work. Of course, some delay is ok, but more than a few seconds might prevent a baker from baking.



          NOW is the time at which the block, containing the transaction, should be baked. So, the baker knows the last block time, he knows his slot, so he can compute the time at which he should bake the block. It then uses that time to execute the transactions.






          share|improve this answer






























            2














            Nodes time being synchronized is only part of the picture: bakers can always be offline for their own reasons, the network can be stalled, many other transactions could be competing to get selected by bakers, etc. so people need to be very cautious and give plenty of time for an event to occur.



            I would say that a few minutes or even hours is not enough today.
            Is one day enough ? I would tend to think so but I'm not even certain.






            share|improve this answer























            • If I'm experimenting with building something that can hit milestones during smaller ranges. Kind of curious how close those milestones can be.

              – Rob
              Mar 11 at 17:10






            • 2





              Understood but let's all remember Fomo3d medium.com/coinmonks/… on Ethereum before requiring milestones too fast.

              – FFF
              Mar 11 at 17:31


















            2














            The baker chooses the value of NOW. I am aware of these two constraints:



            The protocol enforces that the timestamp is at least the minimal timestamp at which the baker was supposed to bake (some delay after the previous block's timestamp): baking.ml.



            The shell will also ignore a block whose timestamp is too far in the future (more than 15s) relative to the system clock: distributed_db.ml.






            share|improve this answer






















              Your Answer








              StackExchange.ready(function()
              var channelOptions =
              tags: "".split(" "),
              id: "698"
              ;
              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
              ,
              noCode: true, onDemand: true,
              discardSelector: ".discard-answer"
              ,immediatelyShowMarkdownHelp:true
              );



              );













              draft saved

              draft discarded


















              StackExchange.ready(
              function ()
              StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2ftezos.stackexchange.com%2fquestions%2f735%2fhow-does-now-work%23new-answer', 'question_page');

              );

              Post as a guest















              Required, but never shown

























              3 Answers
              3






              active

              oldest

              votes








              3 Answers
              3






              active

              oldest

              votes









              active

              oldest

              votes






              active

              oldest

              votes









              5














              There is an assumption that all Tezos nodes are synchronized, otherwise the consensus with 1-minute slots would not work. Of course, some delay is ok, but more than a few seconds might prevent a baker from baking.



              NOW is the time at which the block, containing the transaction, should be baked. So, the baker knows the last block time, he knows his slot, so he can compute the time at which he should bake the block. It then uses that time to execute the transactions.






              share|improve this answer



























                5














                There is an assumption that all Tezos nodes are synchronized, otherwise the consensus with 1-minute slots would not work. Of course, some delay is ok, but more than a few seconds might prevent a baker from baking.



                NOW is the time at which the block, containing the transaction, should be baked. So, the baker knows the last block time, he knows his slot, so he can compute the time at which he should bake the block. It then uses that time to execute the transactions.






                share|improve this answer

























                  5












                  5








                  5







                  There is an assumption that all Tezos nodes are synchronized, otherwise the consensus with 1-minute slots would not work. Of course, some delay is ok, but more than a few seconds might prevent a baker from baking.



                  NOW is the time at which the block, containing the transaction, should be baked. So, the baker knows the last block time, he knows his slot, so he can compute the time at which he should bake the block. It then uses that time to execute the transactions.






                  share|improve this answer













                  There is an assumption that all Tezos nodes are synchronized, otherwise the consensus with 1-minute slots would not work. Of course, some delay is ok, but more than a few seconds might prevent a baker from baking.



                  NOW is the time at which the block, containing the transaction, should be baked. So, the baker knows the last block time, he knows his slot, so he can compute the time at which he should bake the block. It then uses that time to execute the transactions.







                  share|improve this answer












                  share|improve this answer



                  share|improve this answer










                  answered Mar 11 at 13:13









                  lefessanlefessan

                  2,882522




                  2,882522





















                      2














                      Nodes time being synchronized is only part of the picture: bakers can always be offline for their own reasons, the network can be stalled, many other transactions could be competing to get selected by bakers, etc. so people need to be very cautious and give plenty of time for an event to occur.



                      I would say that a few minutes or even hours is not enough today.
                      Is one day enough ? I would tend to think so but I'm not even certain.






                      share|improve this answer























                      • If I'm experimenting with building something that can hit milestones during smaller ranges. Kind of curious how close those milestones can be.

                        – Rob
                        Mar 11 at 17:10






                      • 2





                        Understood but let's all remember Fomo3d medium.com/coinmonks/… on Ethereum before requiring milestones too fast.

                        – FFF
                        Mar 11 at 17:31















                      2














                      Nodes time being synchronized is only part of the picture: bakers can always be offline for their own reasons, the network can be stalled, many other transactions could be competing to get selected by bakers, etc. so people need to be very cautious and give plenty of time for an event to occur.



                      I would say that a few minutes or even hours is not enough today.
                      Is one day enough ? I would tend to think so but I'm not even certain.






                      share|improve this answer























                      • If I'm experimenting with building something that can hit milestones during smaller ranges. Kind of curious how close those milestones can be.

                        – Rob
                        Mar 11 at 17:10






                      • 2





                        Understood but let's all remember Fomo3d medium.com/coinmonks/… on Ethereum before requiring milestones too fast.

                        – FFF
                        Mar 11 at 17:31













                      2












                      2








                      2







                      Nodes time being synchronized is only part of the picture: bakers can always be offline for their own reasons, the network can be stalled, many other transactions could be competing to get selected by bakers, etc. so people need to be very cautious and give plenty of time for an event to occur.



                      I would say that a few minutes or even hours is not enough today.
                      Is one day enough ? I would tend to think so but I'm not even certain.






                      share|improve this answer













                      Nodes time being synchronized is only part of the picture: bakers can always be offline for their own reasons, the network can be stalled, many other transactions could be competing to get selected by bakers, etc. so people need to be very cautious and give plenty of time for an event to occur.



                      I would say that a few minutes or even hours is not enough today.
                      Is one day enough ? I would tend to think so but I'm not even certain.







                      share|improve this answer












                      share|improve this answer



                      share|improve this answer










                      answered Mar 11 at 15:10









                      FFFFFF

                      651212




                      651212












                      • If I'm experimenting with building something that can hit milestones during smaller ranges. Kind of curious how close those milestones can be.

                        – Rob
                        Mar 11 at 17:10






                      • 2





                        Understood but let's all remember Fomo3d medium.com/coinmonks/… on Ethereum before requiring milestones too fast.

                        – FFF
                        Mar 11 at 17:31

















                      • If I'm experimenting with building something that can hit milestones during smaller ranges. Kind of curious how close those milestones can be.

                        – Rob
                        Mar 11 at 17:10






                      • 2





                        Understood but let's all remember Fomo3d medium.com/coinmonks/… on Ethereum before requiring milestones too fast.

                        – FFF
                        Mar 11 at 17:31
















                      If I'm experimenting with building something that can hit milestones during smaller ranges. Kind of curious how close those milestones can be.

                      – Rob
                      Mar 11 at 17:10





                      If I'm experimenting with building something that can hit milestones during smaller ranges. Kind of curious how close those milestones can be.

                      – Rob
                      Mar 11 at 17:10




                      2




                      2





                      Understood but let's all remember Fomo3d medium.com/coinmonks/… on Ethereum before requiring milestones too fast.

                      – FFF
                      Mar 11 at 17:31





                      Understood but let's all remember Fomo3d medium.com/coinmonks/… on Ethereum before requiring milestones too fast.

                      – FFF
                      Mar 11 at 17:31











                      2














                      The baker chooses the value of NOW. I am aware of these two constraints:



                      The protocol enforces that the timestamp is at least the minimal timestamp at which the baker was supposed to bake (some delay after the previous block's timestamp): baking.ml.



                      The shell will also ignore a block whose timestamp is too far in the future (more than 15s) relative to the system clock: distributed_db.ml.






                      share|improve this answer



























                        2














                        The baker chooses the value of NOW. I am aware of these two constraints:



                        The protocol enforces that the timestamp is at least the minimal timestamp at which the baker was supposed to bake (some delay after the previous block's timestamp): baking.ml.



                        The shell will also ignore a block whose timestamp is too far in the future (more than 15s) relative to the system clock: distributed_db.ml.






                        share|improve this answer

























                          2












                          2








                          2







                          The baker chooses the value of NOW. I am aware of these two constraints:



                          The protocol enforces that the timestamp is at least the minimal timestamp at which the baker was supposed to bake (some delay after the previous block's timestamp): baking.ml.



                          The shell will also ignore a block whose timestamp is too far in the future (more than 15s) relative to the system clock: distributed_db.ml.






                          share|improve this answer













                          The baker chooses the value of NOW. I am aware of these two constraints:



                          The protocol enforces that the timestamp is at least the minimal timestamp at which the baker was supposed to bake (some delay after the previous block's timestamp): baking.ml.



                          The shell will also ignore a block whose timestamp is too far in the future (more than 15s) relative to the system clock: distributed_db.ml.







                          share|improve this answer












                          share|improve this answer



                          share|improve this answer










                          answered Mar 11 at 18:48









                          TomTom

                          92327




                          92327



























                              draft saved

                              draft discarded
















































                              Thanks for contributing an answer to Tezos 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%2ftezos.stackexchange.com%2fquestions%2f735%2fhow-does-now-work%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

                              Solar Wings Breeze Design and development Specifications (Breeze) References Navigation menu1368-485X"Hang glider: Breeze (Solar Wings)"e

                              Kathakali Contents Etymology and nomenclature History Repertoire Songs and musical instruments Traditional plays Styles: Sampradayam Training centers and awards Relationship to other dance forms See also Notes References External links Navigation menueThe Illustrated Encyclopedia of Hinduism: A-MSouth Asian Folklore: An EncyclopediaRoutledge International Encyclopedia of Women: Global Women's Issues and KnowledgeKathakali Dance-drama: Where Gods and Demons Come to PlayKathakali Dance-drama: Where Gods and Demons Come to PlayKathakali Dance-drama: Where Gods and Demons Come to Play10.1353/atj.2005.0004The Illustrated Encyclopedia of Hinduism: A-MEncyclopedia of HinduismKathakali Dance-drama: Where Gods and Demons Come to PlaySonic Liturgy: Ritual and Music in Hindu Tradition"The Mirror of Gesture"Kathakali Dance-drama: Where Gods and Demons Come to Play"Kathakali"Indian Theatre: Traditions of PerformanceIndian Theatre: Traditions of PerformanceIndian Theatre: Traditions of PerformanceIndian Theatre: Traditions of PerformanceMedieval Indian Literature: An AnthologyThe Oxford Companion to Indian TheatreSouth Asian Folklore: An Encyclopedia : Afghanistan, Bangladesh, India, Nepal, Pakistan, Sri LankaThe Rise of Performance Studies: Rethinking Richard Schechner's Broad SpectrumIndian Theatre: Traditions of PerformanceModern Asian Theatre and Performance 1900-2000Critical Theory and PerformanceBetween Theater and AnthropologyKathakali603847011Indian Theatre: Traditions of PerformanceIndian Theatre: Traditions of PerformanceIndian Theatre: Traditions of PerformanceBetween Theater and AnthropologyBetween Theater and AnthropologyNambeesan Smaraka AwardsArchivedThe Cambridge Guide to TheatreRoutledge International Encyclopedia of Women: Global Women's Issues and KnowledgeThe Garland Encyclopedia of World Music: South Asia : the Indian subcontinentThe Ethos of Noh: Actors and Their Art10.2307/1145740By Means of Performance: Intercultural Studies of Theatre and Ritual10.1017/s204912550000100xReconceiving the Renaissance: A Critical ReaderPerformance TheoryListening to Theatre: The Aural Dimension of Beijing Opera10.2307/1146013Kathakali: The Art of the Non-WorldlyOn KathakaliKathakali, the dance theatreThe Kathakali Complex: Performance & StructureKathakali Dance-Drama: Where Gods and Demons Come to Play10.1093/obo/9780195399318-0071Drama and Ritual of Early Hinduism"In the Shadow of Hollywood Orientalism: Authentic East Indian Dancing"10.1080/08949460490274013Sanskrit Play Production in Ancient IndiaIndian Music: History and StructureBharata, the Nāṭyaśāstra233639306Table of Contents2238067286469807Dance In Indian Painting10.2307/32047833204783Kathakali Dance-Theatre: A Visual Narrative of Sacred Indian MimeIndian Classical Dance: The Renaissance and BeyondKathakali: an indigenous art-form of Keralaeee

                              Method to test if a number is a perfect power? Announcing the arrival of Valued Associate #679: Cesar Manara Planned maintenance scheduled April 23, 2019 at 00:00UTC (8:00pm US/Eastern)Detecting perfect squares faster than by extracting square rooteffective way to get the integer sequence A181392 from oeisA rarely mentioned fact about perfect powersHow many numbers such $n$ are there that $n<100,lfloorsqrtn rfloor mid n$Check perfect squareness by modulo division against multiple basesFor what pair of integers $(a,b)$ is $3^a + 7^b$ a perfect square.Do there exist any positive integers $n$ such that $lfloore^nrfloor$ is a perfect power? What is the probability that one exists?finding perfect power factors of an integerProve that the sequence contains a perfect square for any natural number $m $ in the domain of $f$ .Counting Perfect Powers