Author

Topic: Multibit: a way to reduce transaction fee (Read 7091 times)

HCP
legendary
Activity: 2086
Merit: 4361
December 19, 2017, 11:40:46 PM
#21
MultiBit already sends with a ridiculously low fee compared to what fees are actually recommended to be these days...

I think the maximum that either MultiBit Classic or HD will actually use is about 50 sats/byte... Roll Eyes

Given that the recommended fees are currently 500+ sats/byte... Any transaction you send is likely to get stuck for a while.

There is a reason everyone (including the MultiBit Devs) is telling users to migrate from MultiBit to other wallets without bugs and better fee systems
member
Activity: 98
Merit: 10
December 17, 2017, 03:50:34 AM
#20
Can this still be used with the crazy bitcoin fee this days
full member
Activity: 126
Merit: 100
January 15, 2015, 08:34:09 PM
#19
Thanks for this. This is going to help me out tons.

I don't mind the logic behind having a default fee, but the execution should be optional. The fact that it isn't is rather annoying.
newbie
Activity: 9
Merit: 0
January 11, 2015, 03:27:06 AM
#18
when I open the /Applications/Multibit.app file in reJ I get a listing of folders
what I ended up having to do was right-click on the application and select "Show Package Contents"... copied the multibit-exe.jar to somewhere that reJ can access, edited it there and copied it back.  reJ can't traverse the .app folder - it opens it instead
newbie
Activity: 9
Merit: 0
January 11, 2015, 03:17:24 AM
#17
6.The contents of the multibit-exe.jar will appear (.jar files are just plain zip archives), double-click on the line "org/multibit/model/bitcoin"
7. Double-click on the BitcoinModel.class - the contents of the file will appear, but you can't change it directly
I'm running OSX 10.9.5 with Multibit 0.5.18; when I open the /Applications/Multibit.app file in reJ I get a listing of folders: Contents, Contents/MacOS, Contents/Resources, Contents/Resources/Java, Contents/_CodeSignature

under Contents/Resources/Java I find multibit-exe.jar but double-clicking on it generates the error below:

Exception was thrown: Error parsing class file /Applications/Multibit.app: Invalid Magic: 50 4b 03 04

any thoughts?
sr. member
Activity: 807
Merit: 251
World's First Crowd Owned Cryptocurrency Exchange
October 13, 2014, 09:31:57 AM
#16
thank you for the guide
newbie
Activity: 46
Merit: 0
September 10, 2014, 11:24:45 AM
#15
From 10 minutes to never. There is no definitive answer to this question. All depends on miners. Fee is usually proportional to the chance to have your transaction in the next block. The smaller the fee the lower the chance.
hero member
Activity: 560
Merit: 509
I prefer Zakir over Muhammed when mentioning me!
September 10, 2014, 10:26:14 AM
#14
Thanks for the guide! It really helps. How much time would it take to get atleast 1 confirmation for 0 fee transaction?

  ~~MZ~~
hero member
Activity: 658
Merit: 500
September 02, 2014, 09:45:41 PM
#13
The Windows build has the Java program inside the .EXE. It may be possible to extract it, but I think it's easier to install it in Linux and then to copy it to Windows.
newbie
Activity: 13
Merit: 0
September 02, 2014, 11:58:00 AM
#12
How do you start MultiBit then?

a shortcut on my startmenu points to c:\program files (x86)\multibit-0.5.18\multibit.exe

either the shortcut or the multibit.exe binary launches it.
newbie
Activity: 46
Merit: 0
September 02, 2014, 09:34:19 AM
#11
no multibit*.jar exists on the machine -

How do you start MultiBit then?
hero member
Activity: 692
Merit: 500
September 01, 2014, 08:28:19 AM
#10
Thank you for this very helpful walkthrough.  It works well.

I set the SEND_MINIMUM_FEE to 0 in reJ and although multibit still requires a 0.0001 btc transaction fee, this is at least 5-10x less than the standard fee.  My transaction had 1 confirmation within 2 minutes.

Yeah, you are right. I've noticed the same thing later. There is another place you need to change things to get it down to 0 for sure. I don't remember right now but if someone really needs this, I might try to remember.

I've made lots of changes to Multibit, there seems to be an "estimated fee" calculation that I cannot bypass yet.  I am able to set a 0-fee transaction, but have to set the send amount to be 0.0001 less than the full wallet amount.

Either way, with just your 1 patch cure, I was able to reduce the transaction fee to sweep my mining address from 0.0016 down to 0.0001 btc

Edit : just sent 2 x 0 fee transactions, 1405 (bytes) and 15270 (bytes) - which unmodified multibit would have required 0.0002 btc and 0.0016 btc transaction fees.
Both were confirmed in the 2nd earliest possible block, with 0 transaction fee. (there were approx 1300 unconfirmed transactions on the network at the time)
newbie
Activity: 13
Merit: 0
August 31, 2014, 08:15:30 PM
#9
This is all Java , so everything should work on Windows just the same. Just make a full disc search for all *.jar files and you'll find multibit.

no multibit*.jar exists on the machine -

I have lots of %appdata%\local\temp\tempNN.jar - when I load Temp14.jar, Multibit opens.  But extracting it doesn't show the folders/files i'm looking for (folders include ch/com/i18n/images/javax/lib/...)

The only other .jar file related to multibit is c:\program files (x86)\Multibit-0.5.18\uninstaller\uninstaller.jar

no more wild goose chase for now.
newbie
Activity: 46
Merit: 0
August 31, 2014, 01:36:10 PM
#8
This is all Java , so everything should work on Windows just the same. Just make a full disc search for all *.jar files and you'll find multibit.
newbie
Activity: 13
Merit: 0
August 31, 2014, 06:08:19 AM
#7
   
5. reJ main window will appear. Click "Open" and find your Multibit executable jar file (e.g. /home/user/Multibit/multibit-exe.jar)

Anyone know how to do this on Windows7 ?  I'd like to reduce the min fee to 0 and - just in case - reduce the max fee to .01. 

Using Multibit 0.5.18, there is no multibit-exe.jar in c:\program files (x86)\multibit-0.5.18\ nor %appdata%\multibit

alternatively, any tips on how to build from source for windows7 would also be great.  the clues in readme.md aren't enough for me.
newbie
Activity: 46
Merit: 0
August 12, 2014, 10:05:31 AM
#6
Thank you for this very helpful walkthrough.  It works well.

I set the SEND_MINIMUM_FEE to 0 in reJ and although multibit still requires a 0.0001 btc transaction fee, this is at least 5-10x less than the standard fee.  My transaction had 1 confirmation within 2 minutes.

Yeah, you are right. I've noticed the same thing later. There is another place you need to change things to get it down to 0 for sure. I don't remember right now but if someone really needs this, I might try to remember.
newbie
Activity: 46
Merit: 0
August 12, 2014, 09:59:44 AM
#5
Well it depends on miners. If there are miners (pools actually) who are willing to include 0 fee transactions into the blocks they mine than it will be confirmed. From my experience I can say that there are such pools at the moment. Don't know what will be in the future. But be aware that transactions with 0 fee might take even few days to get confirmed! So if you are not in hurry it is a viable option. But if you need to send some coins quickly, I would advise against zero fee transactions. Remember the higher the fee the higher the chance to get into next block. 

The worst case scenario (if nobody is willing to process the 0 fee transaction) you will have to jump through some hoops to get your coins back in your wallet. But they won't be lost forever for sure.

sr. member
Activity: 518
Merit: 250
August 06, 2014, 06:58:00 AM
#4
Quote
10. This is actually the value of the transaction fee expressed in satoshis. So if you want your transaction fee to be zero, just change this
value to 0 or anything else you like.

Will transactions still be confirmed if you set it to say 0.00005 BTC ?
legendary
Activity: 2296
Merit: 1014
August 06, 2014, 03:56:01 AM
#3
interesting guide, should be usefull and fees in multibit should depend on price and not be fixed
hero member
Activity: 692
Merit: 500
August 06, 2014, 02:57:16 AM
#2
Thank you for this very helpful walkthrough.  It works well.

I set the SEND_MINIMUM_FEE to 0 in reJ and although multibit still requires a 0.0001 btc transaction fee, this is at least 5-10x less than the standard fee.  My transaction had 1 confirmation within 2 minutes.
newbie
Activity: 46
Merit: 0
Intro (go to Cure section if you are looking for a quick fix)

As many of you might know already, Multibit wallet has a built-in minimum transaction fee, which cannot be adjusted
(at least in recent versions). Wallet developers justify it by stating that inexperienced users might choose to
go with too low transaction fee and end up waiting too long for confirmation which might spoil the whole crypto experience
for them. And it makes sense! However, not all users are inexperienced and not everybody wants transactions to go as fast
as possible. For example, I like to keep my coins in several accounts and sometimes I need to send them to myself (like
hot wallet to cold wallet) and I don't care too much about speed and I even willing to resend my transaction if it gets stuck.
Anyway, I think somebody might also be interested in this stuff, so here we go!

Basically there are two ways around:
1. Clone the source from the repository, adjust SEND_MINIMUM_FEE in org.multibit.model.bitcoin.BitcoinModel and build
2. Download Multibit client and adjust the value right in the executable file

Despite the fact that I have experience in software development, I wasn't able to build Multibit quickly and gave up after
an hour. If anyone is still willing to try the first option, please tell me here. In the end I went with the second one
and it turned out to be much easier.

Cure

You will need Java installed on your computer. If you are using Multibit then you have it installed already

1. Download Multibit wallet from official website https://multibit.org/
2. Download reJ - rej_v0.7_bin.zip file from http://rejava.sourceforge.net/ and unzip it
3. Install Multibit somewhere (e.g. /home/user/Multibit)
4. Go to terminal, change dir to where you unzipped reJ, and run it (java -jar rej.jar) or just run it from your file manager       
5. reJ main window will appear. Click "Open" and find your Multibit executable jar file (e.g. /home/user/Multibit/multibit-exe.jar)
6.The contents of the multibit-exe.jar will appear (.jar files are just plain zip archives), double-click on the line "org/multibit/model/bitcoin"
7. Double-click on the BitcoinModel.class - the contents of the file will appear, but you can't change it directly
8. So click "View" in the menu bar and make sure the "Constant Pool" is checked
9. Switch to "Constant Pool" tab (if not there already) and look for a string which has value: "10000" In my case it was sixth from the top.
10. This is actually the value of the transaction fee expressed in satoshis. So if you want your transaction fee to be zero, just change this
value to 0 or anything else you like.
11. Click save. Start Multibit executable you just adjusted. The fee should now be what you have set in step 10.  Cheesy

If you need to change the fee from time to time you might want to make several copies of your multibit-exe.jar with different transaction
fees in them. Make sure you give them some sensible names so it is easy to remember what fee each has inside  Wink

Good luck!
       
Jump to: