Como obter um valor de grande mapa na Babilônia
2 respostas
- votos
-
- 2019-10-16
onovo cli e RPC para omapagrandeespera hash de umaexpressão de script,em vez daexpressão crua. Para obter o hash,vocêpode,porexemplo,
Dados do Hash de Tezos-Cliente "& quot; TZ1BWSeWCWSEXDRVNJXVGQZex5DJ6OKEYS" dotipoendereço
Issoimprimirá hashesnomonte deformatos diferentes - você deseja aquele com o rótulo
script-expression-id-hash
,e.exprv6usc1sn3fk2xfgccjcl8ncerp5rcgy1preszaqr7l2jdzx55en
.Então vocêpode usarisso com o CLI:
Tezos-Cliente Obtenhaelementoexprv6usc1sn3fk2xfgcjcl8ncerp5rcgy1preszaqr7l2jdzx55en domapagrande 22
e rpcem:
Edit:
Umnovo comando CLIfoi adicionadopara acessomais simples demapa:
Tezos-Cliente Obtenha o Big Map Valuepara '& quot;tz1bwsewcwsexdrvnjxvegqzkex5dj6ookeys & quot;' doendereço dotipo IN & LT; SRC & GT;
Onde
& lt;
pode ser um alias,uma chave ou um literal (no seu casokt1dt9ywhdsbzuvuzdjd1smucfxm57r5be9v
).The new CLI and RPC for big map expect hash of a script expression, instead of the raw expression. To obtain the hash you can e.g.:
tezos-client hash data '"tz1bwsEWCwSEXdRvnJxvegQZKeX5dj6oKEys"' of type address
This will print hashes in bunch of different formats - you want the one with the label
Script-expression-ID-Hash
, e.g.exprv6UsC1sN3Fk2XfgcJCL8NCerP5rCGy1PRESZAqr7L2JdzX55EN
.Then you can use this with the CLI:
tezos-client get element exprv6UsC1sN3Fk2XfgcJCL8NCerP5rCGy1PRESZAqr7L2JdzX55EN of big map 22
and RPC at:
/chains/main/blocks/head/context/big_maps/22/exprv6UsC1sN3Fk2XfgcJCL8NCerP5rCGy1PRESZAqr7L2JdzX55EN
Edit:
A new CLI command has been added for simpler big map access:
tezos-client get big map value for '"tz1bwsEWCwSEXdRvnJxvegQZKeX5dj6oKEys"' of type address in <src>
where
<src>
can be an alias, a key, or a literal (in your caseKT1DT9YwHdSbZuVuZDjd1SMUcfXm57R5bE9v
).-
Pode valer apenamencionarpor queissomudou.1) Usando obterem vez depostarparaesta consulta é semanticamentemais som,esta consulta solicita apenas dadose não alteranadanobackend.2) Antes do Carthagem,um contrato sópoderiater umgrandemapa,agorapodeter váriosmapasgrandes.Cada um dessesgrandesmapastem uma chave deidentificação única.It might be worth mention why this has changed. 1) Using GET instead of POST for this query is semantically more sound, this query only requests data and does not change anything on the backend. 2) Before Carthagenet, a contract could only have one big map, now it can have multiple big maps. Each of those big maps have a unique identifying key.
- 0
- 2020-06-18
- MCH
-
- 2019-10-15
O comando CLI é
.Tezos-Cliente Obter Big Map Valuefor & lt; key >dotipo & lt;tipo de chave >In & Lt; Contrato & GT;
.Ao adicionar a opção-l
,também obtemos o RPC:/Correntes/Principais/Blocos/Cabeça/Contexto/Contratos/& Lt; Contrato Endereço & GT;/big_map_get . Na verdade,vocênãoprecisa saber o índice degrandemapa,se váriosbig_maps com omesmotipo deteclas serão armazenados,todos serãopesquisadospara a chave.
The cli command is
tezos-client get big map value for <key> of type <type of the key> in <contract>
. By adding the-l
option, we also get the RPC:/chains/main/blocks/head/context/contracts/<contract address>/big_map_get
.Actually, you do not need to know the big map index, if several big_maps with the same type of keys are stored, they will all be searched for the key.
-
`Get Big Map Value 'está listado como depreciado agora=(`get big map value` is listed as deprecated now =(
- 0
- 2020-03-02
- Justin
-
Eu vou dizer "obter valor degrandemapa" émuitomaisfácilpara oprocesso de desenvolvimento.Eu ainda vejomuitos contratosprojetados deforma queelespossam continuar usandoesse comando,mesmo queesteja listado como descontinuado.Claro,funciona apenaspara umgrandemapa queestáno ladoesquerdo de umparnotopo de um armazenamento de contratos.I will say `get big map value` is much easier for the development process. I still see a lot of contracts designed such that they can continue using this command even though it is listed as deprecated. Of course, it only works for a big map that is in the left side of a pair at the top of a contracts storage.
- 0
- 2020-06-18
- MCH
Babylonterá umnovo RPCpara consultar o valor degrandemapa de acordo comeste link http://tezos.gitlab.io/babylonnet/api/rpc.html#get-big-id-context-big-maps-big -Map-ID-script-expr
Eutentei usá-lo com umnovo contrato. Euimplanteieste contrato https://babylonnet.tzscan.Io/kt1dt9ywhdsbzuvuzdjd1smucfxm57r5be9v
Seeuentendi corretamente,o ID domeugrandemapa deve ser
22
Saber quemeumapagrandefoiinicializado com uma chave
tz1bwsEWCwSEXdRvnJxvegQZKeX5dj6oKEys
Qual é amaneira correta de obter o valor usando o CLI ou RPC?
Eutentei:
tezos get element tz1bwsEWCwSEXdRvnJxvegQZKeX5dj6oKEys of big map 22
http://babylonnet-node.tzscan.io/chains/main/blocks/head/context/big_maps/22/tz1bwsEWCwSEXdRvnJxvegQZKeX5dj6oKEys
ambosnãofuncionam. Seeuentender corretamente,provavelmenteprecisarei codificarminha chave. Nãotenho certeza sobre o que é a codificaçãonecessáriae pareceencontrar umexemplo quefunciona.