As a user, I would like to be able to pay/set fees in any denominations of coins native to the chain. To implement this, we would need the following data for each denom:
When entering it in the command line it might look like:
--min_fee=1stake2,5photino4
cc @cwgoes @zmanian @alexanderbez
Just to clarify, the suffix post denom is the gas cost per unit value. It's not the prettiest or most clear UX imho.
--minimum_fees=1steak,5photinos --gas_unit_cost=2steak,4photinos? Requires more sane validation but more clear I think. Maybe there is a better solution.
/cc @ValarDragon
sounds good
Just a thought: do we need to do this right now or would it be enough to just go with token for now?
@faboweb it's not required for GoS. I think we should tackle #3118 first (already open PR) and then this. As this will build off of #3118 and requires more changes.
Theres a conflation here.
minimum_fee only exists in the minds of full nodes, as a method to determine whether incoming txs are worth enough to include. See #3044 for how I think that ought to be done. (Also I think that should reside in a config, perhaps a command can be used to live-edit it)
When you want to go create a tx, you want to specify how many tokens 1 gas is worth. (Or perhaps how many tokens is x gas worth) So instead of Gas cost per unit, it should be tokens per unit gas.
Specified by the client/user. I think we to modify the context/action item(s) of #3118 @jackzampolin. This needs to be supplied by the client/user. Correct me if I'm wrong @ValarDragon.
I'm confused. What I think makes sense to do is:
tokens per unit gas, either via CLI or config or both. Once validators start having more sophisticated mempool validation, there should also be a tokens per p2p byte. (And eventually some means of handling storage rent)I don't understand what the terms "Unit" or "Cost" means in Gas Cost Per Unit, hence I think tokens per unit gas is a better metric.
Precisely! What I鈥檓 saying is #3118 needs to address your second point.
FYI I changed the --fee flag on #3069 to receive sdk.Coins instead of sdk.Coin since the MinDeposit param already had that type
imho, this seems to be somewhat of a duplicate of #3101. Do you mind if I close @jackzampolin or are there different concerns. Users can already specify multiple fees via --fees. They just cant' configure the per unit cost of gas.
Most helpful comment
Just to clarify, the suffix post denom is the gas cost per unit value. It's not the prettiest or most clear UX imho.
--minimum_fees=1steak,5photinos --gas_unit_cost=2steak,4photinos? Requires more sane validation but more clear I think. Maybe there is a better solution./cc @ValarDragon