Block/tijd uit smart contract lezen

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

  • Saturnus
  • Registratie: Februari 2005
  • Niet online
Gisteren keek ik voor het eerst naar een ETH Smart Contract en kon daar de tijden uitlezen vanaf wanneer betalingen geaccepteerd werden.

Nu kijk ik naar dit contract en kan ik die gegevens er niet uithalen terwijl die functionaliteit van betalingen (hoger dan 0,2 ETH) pas na een bepaalde tijd toestaan wel van toepassing was. Misschien zijn die gegevens extern opgeslagen?

De informatie die ik zoek zou uit moeten komen rond 1 feb 18:00 NL tijd / block 5012529 / epoch ongeveer 1517504400.

Hoe kan ik die exacte informatie uit het smart contract halen?

Alle reacties


Acties:
  • 0 Henk 'm!

  • xos
  • Registratie: Januari 2002
  • Laatst online: 12-09 12:41

xos

Ik weet niet zeker of ik je vraag goed begrepen heb maar op regel 237 wordt een controle gedaan die mogelijk antwoord geeft op je vraag. Die is op regel 129 als public gedefinieerd waardoor de solidity compiler een standaard getter genereerd die je met de RPC method `eth_call` kan aanroepen.

Acties:
  • 0 Henk 'm!

  • Saturnus
  • Registratie: Februari 2005
  • Niet online
:) In dit geval ben ik letterlijk op zoek naar waar zij de epoch (van 1 feb 18:00 NL tijd) of het blocknummer (~5012529) hebben geplaatst wat het moment is dat de limiet van max. 0,2 ETH per persoon verwijderd wordt. Dus niet de functie waar die variabelen in gaan, maar de variabelen zelf.

Acties:
  • 0 Henk 'm!

  • The Redman
  • Registratie: Februari 2012
  • Laatst online: 27-09 23:07

Acties:
  • 0 Henk 'm!

  • Saturnus
  • Registratie: Februari 2005
  • Niet online
Die is bijna 40 minuten te laat. https://etherscan.io/block/5012678

Voor zover ik kan zien is het niet te vinden in de 'Contract Source' en 'Read Smart Contract' tabbladen van Etherscan. Dus de vraag is, waar is die 18:00 ingesteld?

Het is een feit dat ergens 18:00 moet zijn opgegeven, want 1) De contracteigenaar communiceerde deze tijd en 2) er is duidelijk te zien dat alle bedragen (hoger dan 0,2 ETH) voor 18:00 inderdaad geweigerd werden:
Eerste na 18:00: https://etherscan.io/tx/0...dfce941280bf27663274afe1e
Laatste voor 18:00 (die niet out of gas is): https://etherscan.io/tx/0...ef56c353c38b36476ea0f192d

Daar is de fout "[Cancelled], REVERT opcode." Dat is dus door die muur van 18:00.

[ Voor 20% gewijzigd door Saturnus op 06-02-2018 15:05 ]