Como Tezos-Cliente calcula uma taxa de transação?
-
-
Vocêtambémpode dar uma olhadaneste https://tezos.stackexchange.com/q/106/118You can also have a look at this one https://tezos.stackexchange.com/q/106/118
- 0
- 2019-02-14
- Ezy
-
1 responda
- votos
-
- 2019-02-14
O cálculo dataxa segue afórmula .
A única coisa sutil aqui é que aprópriataxapode afetar otamanho da operaçãoem binário. Issogeralmentenãoimporta,maspara lidar com o casogeral,o cliente atualmente loops:
- .
- Começar com oprojecto de op comtaxa definidapara zero (com seugas_limite storage_limitescolhido adequadamente).
- Meça otamanho OPnobinárioe calcule ataxanecessária de acordo com afórmula. (Seeste é oprimeiro/apenas opem um lote,adicione o sobrecargafixa Para um lote de operações aquitambém.)
- Se ataxano OPforgrande o suficiente,terminarmos. Caso contrário,atualize ataxano OPe vápara # 2.
Isso aconteceem patch_feeem injecção.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.
-
Nãotenho certeza seele usaeste código.Em vez disso,acho queele chama onó através de RPCs,isso éexplicadonopost doblog citadopelaminha resposta.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
-
Os RPCs são defato usadosparaestimar o uso degáse armazenamentoe muitomais,masnão há RPCpara calcular ataxamínima.O código que vizo é usado.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
-
(Para verisso acontecendo,tente `Tezos-Cliente -l` Semespecificar umataxa,comonopost doblog. Você vainotar que o` run_operation` é chamado com 0taxa,e então 'Realply' émisteriosamente chamado com o corretoTaxamínima,aindanão retornadapor qualquer RPC,mas calculadapelo cliente após "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
-
Oh sim,eupensei queera sobregáse queimar.Eu vou apagarminha resposta.Oh yes, I thought it was about gas and burn. I will delete my answer.
- 0
- 2019-02-14
- lefessan
Aoexecutar umatransação,como
Tezos-Client Transfer 1 de Alicepara Bob
,como o cliente calcula ataxa detransação?