Wie bekomme ich einen großen Kartenwert auf Babylon
2 Antworten
- Stimmen
-
- 2019-10-16
dasneue cli und RPC fürgroße Karte Hasheines Skriptausdrucks anstelle des rohen Ausdrucks. Um den Hash zuerhalten,können Sie z.:
Tezos-Client-Hash-Daten '& quot; TZ1BWSEWCWSEXdrvnjxvegqzkex5DJ6OKEYS & quot;' der Typadresse
Hiermit wird Hashesin Bündel verschiedener Formate drucken - Siemöchten,dass derjenigemit dem Etikett
Skript-Expression-ID-Hash
,z.B.EXPRV6USC1SN3FK2XFGCJCL8NCERP5RCGY1PRESZAQR7L2JDZX55DE
.Sie können dies dannmit dem Cli:
verwendenTezos-Clienterhalten Element Exprv6usc1sn3fk2xfgcjcl8Ncerp5rcgy1preszaqr7l2jdzx55de dergroßen Karte 22
und rpcbei:
/Ketten/Haupt-/Blöcke/Kopf/Kontext/Big_maps/22/exprv6usc1sn3fk2xfgcjcl8Ncerp5rcgy1preszaqr7l2jdzx55de
EDIT:
Einneuer CLI-Befehl wurdefüreinen einfacherengroßen Kartenzugriff hinzugefügt:
Tezos-Client Erhalten Sieeinen großen Kartenwertfür '& quot; TZ1BWSEWSEXDEXdrvnjxVegdkkex5DJ6OKEYS & quot;' der Typadressein & lt; src >
wo
& lt; src >
ein Alias,ein Schlüssel oderein Literal sein kann (in Ihrem Fallkt1dt9ywhdsbzbzuvuzdjd1smucfxm57r5be9v
).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
).-
Es könnteerwähnenswert sein,warum das sichgeändert hat.1) Verwenden von Get Anstelle des Beitragsfür diese Abfrageist semantischmehr Ton,diese Abfragefordertnur Daten an und ändertnichts auf dem Backend.2) Vor Carthagenet könnteein Vertragnureine große Karte haben,jetzt kannesjetztmehreregroße Karten haben.Jede diesergroßen Karten hateinen eindeutigenidentifizierenden Schlüssel.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
Der CLI-Befehlist
Tezos-Client Erhalten Sieeinen großen Kartenwertfür & lt; Key & GT;vom Typ & lt; Art des Schlüssels & GT;in & lt; contract >
.Wenn Sie die Option-l
hinzufügen,erhalten wir auch den RPC:/Ketten/Haupt-/Blöcke/Kopf/Kontext/Verträge/& lt; Vertragsadresse >/big_map_get
.eigentlichmüssen Sie dengroßen Kartenindexnicht kennen,wennmehrere Big_Mapsmit demselben Tastentypgespeichert werden,werden sie allenach dem Schlüsselgesucht.
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.
-
`Holen Sie sicheinen großen Kartenwerteint,wirdjetzt als veraltet aufgelistet=(`get big map value` is listed as deprecated now =(
- 0
- 2020-03-02
- Justin
-
Ich werde sagen: "Big Kartenwert abzurufen`istfür den Entwicklungsprozess vieleinfacher.Ich seheimmernoch viele Verträge,die so ausgelegt sind,dass sie diesen Befehl weiterhin verwenden können,obwohler als veraltet aufgeführtist.Natürlichfunktioniertesnurfüreine große Karte,die sich auf der linken Seiteeines Paares an der Spitzeeines Auftragsspeichersbefindet.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
babylon hatein neues rpc,um dengroßen Kartenwertgemäß diesem Link http://tezos.gitlab.io/babylonnet/api/rpc.html#get-block-id-context-Big-Maps-Big -Map-ID-script-expr
Ich habe versucht,esmit einemneuen Vertrag zu verwenden. Ich habe diesen Vertrageingesetzt https://babylonnet.tzscan.io/kt1d9ywhdsbzuvuzdjd1smucfxm57r5be9v
Wennich richtig verstanden habe,sollte die IDmeinergroßen Karte
sein22
zu wissen,dassmeine große Kartemit einem Schlüsselinitialisiert wurde
tz1bwsewcwsexdrvnjxvegqzkex5dj6okeys
Wasist der richtige Weg,um den Wertmit dem Cli oder RPC zuerhalten?
Ich habees versucht:
Tezos Holen Sie sich Element TZ1BWSEWSEWSEXDRVNJXVEGQZKEX5DJ6KOKEYS vongroßer Karte 22
http://babylonet-node.tzscan.io/chainylonnet-node.tzscan.io/chains/main/blocks/head/context/big_maps/22/tz1bwsewswsexdrvnjxvegqzkex5dj6okeys
Beidefunktionierennicht. Wennich richtig verstehe,mussichmich wahrscheinlichmeinen Schlüssel codieren. Ichbin nicht sicher,was dieerforderliche Kodierungist,und kannnichtein Beispielfinden,dasfunktioniert.