Как извлечь хранилище смарт-контракта?
2 ответ
- голосов
-
- 2019-06-21
В командной строке
./tezos-client get contract storage for KT1BRudFZEXLYANgmZTka1xCDN5nWTMWY7SZ
Вы также можете просто вызвать RPC
curl http://localhost:8732/chains/main/blocks/head/context/contracts/KT1BRudFZEXLYANgmZTka1xCDN5nWTMWY7SZ/storage
In the command line
./tezos-client get contract storage for KT1BRudFZEXLYANgmZTka1xCDN5nWTMWY7SZ
You could also just call the RPC
curl http://localhost:8732/chains/main/blocks/head/context/contracts/KT1BRudFZEXLYANgmZTka1xCDN5nWTMWY7SZ/storage
-
Это,конечно,при условии,что вы запускаете узел самостоятельно.Но это то,что я искал.СпасибоThis is of course assuming you are running a node by yourself. But this is what I was looking for. Thx
- 0
- 2019-06-24
- XTZST2O
-
- 2019-06-21
<Р>Давайтенайтиконтракт наArronax и посмотрите его код ... storage unit; code { CDR ; NIL operation ; AMOUNT ; PUSH mutez 0 ; { COMPARE ; EQ ; IF {} { SOURCE ; CONTRACT unit ; { IF_NONE { { UNIT ; FAILWITH } } {} } ; AMOUNT ; UNIT ; TRANSFER_TOKENS ; CONS } } ; PAIR }
... вы увидите,что в контракте фактически ничего не хранится,поэтому вы просто получаете
Unit
.Let's find the contract on Arronax and look at its code...
storage unit; code { CDR ; NIL operation ; AMOUNT ; PUSH mutez 0 ; { COMPARE ; EQ ; IF {} { SOURCE ; CONTRACT unit ; { IF_NONE { { UNIT ; FAILWITH } } {} } ; AMOUNT ; UNIT ; TRANSFER_TOKENS ; CONS } } ; PAIR }
..you will see that nothing is effectively being stored in the contract, which is why you're just getting
Unit
.
Как извлечь данные из хранилища развернутого смарт-контракта?Я пытаюсь прочитать данные хранилища из контракта «бесплатный Ledger Nano S»
KT1BRudFZEXLYANgmZTka1xCDN5nWTMWY7SZ
от Tezos Foundation,потому что мне интересно,как это работает.Код контракта довольно прост.TzScan,например,не показывает данные хранилища,он показывает толькоUnit
,что в данном случае бесполезно.Решение из старого вопроса Как получить данные хранилища смарт-контрактов? больше не работает.