So erstellen Sie eine Transaktion
3 Antworten
- Stimmen
-
- 2019-02-07
Esgibt mehrere Referenzen online,die Materialbereitstellen,um die darinbeteiligten Schritte zu verstehen. Sie können dies Oder das . Einige Elemente sindebenfallsin diesem anderen vorgesehen Frage
Grundsätzlich sind die Schritte
- .
- Holen Sie sich Abhängigkeiten
- Branch Hash:
/Ketten/Haupt-/Blöcke/Kopf/Hash
- Zähler:
/Ketten/Haupt-/Blöcke/Kopf/Kontext/Verträge/& lt; source_pkh >/counter
- Protocol Hash:
/Protokolle
- Branch Hash:
- Forge-Betrieb (
/Ketten/Haupt-/Blöcke/Kopf/Helfer/Forge/Operations
) Stellen Sie sicher,obeseinfachist,diese Logik außerhalb desnativen Clients zu replizieren,obwohl - signbytes (
Tezos-Client-Zeichen-Bytes
) - SPEAPLY Operation (
/Ketten/Haupt-/Blöcke/Kopf/Helfer/Vorabschnitt/Betrieb/)
- Decodieren Sie Unterschrift zum Hexadezimalformat
- Injizieren Sie den Betrieb (
/inject/operation
)
There are multiple references online which provide material to understand the steps involved in this. You can check this or that. Some elements are also provided in this other question
Basically the steps are
- get dependencies
- branch hash:
/chains/main/blocks/head/hash
- counter:
/chains/main/blocks/head/context/contracts/<source_pkh>/counter
- protocol hash:
/protocols
- branch hash:
- forge operation (
/chains/main/blocks/head/helpers/forge/operations
) Note sure if it's easy to replicate this logic outside from the native client though - sign bytes (
tezos-client sign bytes
) - preapply operation (
/chains/main/blocks/head/helpers/preapply/operations/)
- decode signature to hexadecimal format
- inject operation (
/inject/operation
)
-
- 2019-02-07
helfs/skripts/run_operation
istnützlich,umeinen Vorgang zu simulieren,ohnees zu unterschreiben (Sie könnennull Bytesfür die Signatur verwenden),um den Gas- und Speicheranforderungen abzuschätzen.Sie sehentezos-client -l
gas_limit und storage_limit auf diemaximalen Werte hiereinstellen,und dannmit dem Ergebnis,um dentatsächlichen Gas_limit und storage_limiteinzustellen (vorbehaltlich dermaximal akzeptablen Speicherung des Benutzers,dergenannt "Burn-Cap ").Um zuerfahren,wie die Operationin Binärer codiertist,können Sie sehen,dass
tezos-Clientbeschreiben Sie dennicht signierten Betrieb
.helpers/scripts/run_operation
is useful to simulate an operation without signing it (you may use zero bytes for the signature), in order to estimate the gas and storage requirements. You will seetezos-client -l
setting gas_limit and storage_limit to the maximum values here, and then using the result to set the actual gas_limit and storage_limit (subject to the user's maximum acceptable storage_limit, called "--burn-cap").To learn how the operation is encoded in binary, you can see
tezos-client describe unsigned operation
.-
Ichbemerkte,dassmeine Antwortnichterklärt,warum das Vorabdruckbenötigt wird.Warumnichtnur run_operation?I noticed my answer does not explain why preapply is needed. Why not just run_operation?
- 0
- 2019-03-02
- Tom
-
- 2019-02-07
Dieeinfachste würde überprüft werden wie z.B.
EZTZ
Implementiert Transfers .sehen dann,wie der Transferoperationengeschmiedetist hier .
und schließlich,wie dergeschmiedete Operationinjiziert wird hier .
durch das Aussehen davon scheintes,als ob EZTZ von
forge
fern von/helfs/forge/operations
erfolgt.Easiest would be checking out how e.g.
eztz
implements transfers.Then see how the transfer operations is forged here.
And finally how the forged operation is injected here.
By the looks of it, seems like eztz's
forge
is done remotely by/helpers/forge/operations
.-
Tatsächlich schmiedest Eztz vor Ort,aber vorerstnutzen wir die Remote-Forge alseinen Weg,um zu überprüfen,ob das,was wir vor Ortgeliebt haben.In Zukunftentfernen wir den Remote Forge-Check :-)Actually eztz forges locally, but for the time being we use the remote forge as a way to double check that what we forged locally matches. In future, we will remove the remote forge check :-)
- 1
- 2019-02-08
- Stephen Andrews
Ich versuche,die verschiedenen Schritte zu verstehen,die an der Erstellungeines Transaktionsvorgangsbeteiligt sind.
tezos-client -l
zeigteine Reihe von RPC-Anrufen darunter:Wastun
run_operation
undsubweaplpld
tun,und warum werdenbeidebenötigt?Außerdemist der zuinjizierende Betrieb Binary-codiert,welche Kodierung wird verwendet?(Man kann die Kodierungmit den
/Ketten/Haupt-/Blöcken/Kopf/Helfer/Schmiede/-operationen
erhalten,aberichmöchte die Operation selbst codieren).