-
Notifications
You must be signed in to change notification settings - Fork 1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Gas allowance for sys_fee and net_fee (fees paid by somebody else) #1104
Comments
I would love this feature, free tx is a fundamental feature for broader acceptance and applications... but I don't think it is feasible anymore in this format @lock9 I think a much better direction involves granting this as a Consensus Node support, on Neo governance. This strategy brings zero cost to users, zero cost to contracts, only the workforce of CN and user voting with good parameters will already solve this for us in a smooth way. Finally, if proposal #1115 is accepted (and I hope), no contract will ever pay network and system fees, so this proposal will be definitely doomed (let's go for the governance direction) |
I think this is pre-paid by the owner. What do you mean the transaction fails? It will always be charged first, the result won't matter. If there is no allowance and no fee, the transaction won't be propagated. @igormcoelho in your proposal, who pays the fees? |
In the proposal #1115 only (verification) users will pay for fees, not deployed contracts. This could work in conjunction with a governance proposal we are making (together with new Consensus algorithm),which allows nodes to sponsor specific contracts. This doesnt incur (allowance register) costs for any of the parts, and allowance would be much more strict than just gas fee (other contracts would be blocked from Entry invocation, effectively making sponsorship allowance work as expected) |
@igormcoelho what kind of node will pay for the fee? I didn't understand it yet. For that to work, the node should participate actively in the network? |
Summary
We need a way to make transactions 'free' again. The problem is that new users can't join the network without going through an exchange. We didn't have this problem with neo 2 because we had free tx and in other chains, you can either mine or have someone else to pay for the fee.
Do you have any solution you want to propose?
Contract owners should be able to pay for user else fee, using some kind of allowance mechanism.
This allowance should allow a smart contract owner to pay for the sys_fee and net_fee when some pre-authorized user is invoking his contract.
Something like
IncreaseAllowance(owner, spender, contractHash, amount)
The ideal would be having 3 types of allowances (I think that the third one may not be possible):
FullAllowance(owner, spender)
(any smart contract)PartialAllowance(owner, spender, contractHash)
(only one particular smart contract)RestrictedAllowance(owner, spender, contractHash, operation)
(only one specific method from SC ABI)(Can we reuse the witness scope concept to solve this?)
Where in the software does this update applies to?
The text was updated successfully, but these errors were encountered: