Tezos Blockchain Time dans Smartpy
2 réponses
- votes
-
- 2019-12-04
Comme vous avez déjà découvert,l'attribut
sp.now
doit vous donner accès à l'horodatage actuel.Vouspouvez voir unexemple de cetteméthode dans l'exemple "mini-kitties" que vouspouvez charger dans le SmartPy.io Ide (fichier
>modèle de chargement
>mini-kitties
).Spécifiquement dans lepoint d'entréeacheter
,voustrouverez:@ sp.Entrypoint Def Acheter (auto,paramètres): Kitty=Self.Data.kitties [Params.kittyid] sp.verify (sp.mutez (0) & lt; kitty.price) sp.verify (kitty.price & lt;=param .price) sp.verify (sp.amount==param.price) sp.Send (Kitty.owner,Params.Price) kitty.owner=sp.Sverver SP.IF Kitty.isnew: kitty.isnew=faux Kitty.auduction=SP.NOW.Addseconds (Self.NewAuctionDuration) sp.verify (sp.Now & lt;=kitty.auduction) SP.IF SP.NOW & LT;=Kitty.auduction: kitty.price=param.price + sp.MuteZ (1)
As you have already discovered, the
sp.now
attribute should give you access to the current timestamp. You can see an example of this method in the "Mini-kitties" example that you can load in the SmartPy.io IDE (File
>Load Template
>Mini Kitties
). Specifically in the entry pointbuy
, you'll find:@sp.entryPoint def buy(self, params): kitty = self.data.kitties[params.kittyId] sp.verify(sp.mutez(0) < kitty.price) sp.verify(kitty.price <= params.price) sp.verify(sp.amount == params.price) sp.send(kitty.owner, params.price) kitty.owner = sp.sender sp.if kitty.isNew: kitty.isNew = False kitty.auction = sp.now.addSeconds(self.newAuctionDuration) sp.verify(sp.now <= kitty.auction) sp.if sp.now <= kitty.auction: kitty.price = params.price + sp.mutez(1)
-
Je suisnouveau à Tezos Block Chainet j'écris un contratintelligentpour lefinancement de crowdfunding à l'aide de SmartPy. Pour cela,j'aibesoin de la date actuelle de la chaîne deblocs Tezos.Alors,quelqu'unpeut-ilm'aider,comment découvrir cela? J'avaisessayé sp.now méthodemaisje ne suispas capable de lemettreen œuvre.
Toute aide serait appréciée.
Merci