Wie berechnet Tezos-Client eine Transaktionsgebühr?
-
-
Sie können sich aucheinen Blick auf diese https://tezos.stackkexchange.com/q/106/118 ansehenYou can also have a look at this one https://tezos.stackexchange.com/q/106/118
- 0
- 2019-02-14
- Ezy
-
1 Antworten
- Stimmen
-
- 2019-02-14
Die Gebührenberechnungfolgt Die Formel .
Dieeinzige subtile Sacheist hierbei,dass die Gebühr selbst die Größe der Operationin Binarybeeinflussen kann. Dies spieltnormalerweise keine Rolle,sondern um den allgemeinen Fall umzugehen,der Kundeist derzeit Schleifen:
- .
- Beginnen Siemit dem Entwurfs-OPmit BE-Set auf Null (mit demgas_limit und limit_limitentsprechend ausgewählt).
- Messen Sie die OP-Größein Binär undberechnen Sie dieerforderliche Gebührgemäß der Formel. (Wenn dies dererste/einzige opin einer Chargeist,fügen Sie das behobenes Overhead füreine Charge von Vorgängen hier auch.)
- Wenn die Gebührim OPgroßgenugist,sind wirfertig. Andernfalls aktualisieren Sie die Gebührin der OP undgehen Sie zu # 2.
Diesgeschiehtin patch_feein der Injektion.ml .
The fee computation follows the formula.
The only subtle thing here is that the fee itself can affect the size of the operation in binary. This usually doesn't matter, but to handle the general case, the client currently loops:
- Start with the draft op with fee set to zero (with its gas_limit and storage_limit chosen appropriately).
- Measure the op size in binary and compute the required fee according to the formula. (If this is the first/only op in a batch, add the fixed overhead for a batch of operations here too.)
- If the fee in the op is big enough, we're done. Otherwise, update the fee in the op, and go to #2.
This happens in patch_fee in injection.ml.
-
Ichbin nicht sicher,obes diesen Code verwendet.Stattdessen denkeich,dasses den Knoten über RPCs anruft,dies wirdin der vonmeiner Antwort zitierten Blog-Posterklärt.I am not sure it uses this code. Instead, I think it calls the node through RPCs, this is explained in the blog post cited by my reply.
- 0
- 2019-02-14
- lefessan
-
RPCs sindin der Tat verwendet,um den Gas- und Lagerungsnutzung undmehr zu schätzen,aberesgibt keinen RPC zur Berechnung der Mindestgebühr.Der verknüpfte Code,denich verlinkt,wird verwendet.RPCs are indeed used to estimate gas and storage usage, and more, but there is no RPC for calculating the minimum fee. The code I linked is used.
- 0
- 2019-02-14
- Tom
-
(Um dieses Geschehen zu sehen,versuchen Siees `tezos-client -l`Minimale Gebühr,nochnicht voneinem RPC zurückgegeben,berechnetjedoch vom Kundennach dem Run_Operation`.).(To see this happening, try `tezos-client -l` without specifying a fee, as in the blog post. You will notice that the `run_operation` is called with 0 fee, and then `preapply` is mysteriously called with the correct minimal fee, not returned yet by any RPC, but calculated by the client after `run_operation`.)
- 1
- 2019-02-14
- Tom
-
Ohja,ich dachte,esging es um Gas undbrennen.Ich werdemeine Antwort löschen.Oh yes, I thought it was about gas and burn. I will delete my answer.
- 0
- 2019-02-14
- lefessan
Wenn Sieeine Transaktion ausführen,z. B.
Tezos-Client-Transfer 1 von Alice TO BOB
,wieberechnet der Client die Transaktionsgebühr?