mwcproject / mwc-wallet

MWC Wallet for Full Node
Apache License 2.0
18 stars 22 forks source link

Extremely high transaction fees #5

Closed slavikus closed 2 months ago

slavikus commented 4 years ago

Hello,

We are a pool and we regularly pay out to our miners their PPLNS proceedings from the blocks they have participated in mining.

The block reward is 100 times less than in GRIN, yet the minimum transaction price remains the same, making it extremely pricey to pay out the miner rewards.

We have tried to play around with various parameters to try and minimize the transaction fee to no avail. Could you please provide us some advise on how could we minimize the tx fees?

Here's our current config:

            "max_outputs": 50,
            "num_change_outputs": 2,
            "selection_strategy_is_use_all": false
bayk commented 2 months ago

This issue is be resolved in a new 5.X release. Node is already released, the wallet will be release soon (currently there is a version in the dev branch)

accept_fee_base parameter in introduce on both node and a wallet side. Default value is 1000000. If you are miner, you should be able to reduce this value on both node and wallet side and have transaction with extremely low fees.

Setting on the node side:

#########################################
### MEMPOOL CONFIGURATION             ###
#########################################
[server.pool_config]

#base fee that's accepted into the pool
accept_fee_base = 1000000

On the wallet side it is:

# Minimum acceptable fee per unit of transaction weight. Please note that fee can't be lower than 
# network has, otherwise your transactions will be rejected.
# If you are running fresh wallet, there is no needs to adjust this value.
accept_fee_base = 1000000

Your wallet needs to be connected to your mining node because if wallet's accept_fee_base smaller then node's accept_fee_base, transaction will not be accepted.

Please note, if your node will accept low base fees permanently, there is a chance that outside transactions with low fees can come to you. Even every node will check for minimal accepted fee, your node might be connected to nodes with same very low accepted_fee_base value.

Here is an example of transaction with setting accept_fee_base=1 on wallet and node sides. Fee for simple send transaction is 8 nano MWC. Here is a block: [https://explorer.floonet.mwc.mw/#b1313742]

P.S. Please note, if you sending the payments and that block if mined by your own pool, transaction fee will be returned back to you as a reward. If you are able to mine blocks with your own transactions, the fee amount is not important.

bayk commented 2 months ago

@vekamo , just in case you have a similar problem