Bitcoin Forum

Bitcoin => MultiBit => Topic started by: jim618 on September 12, 2011, 09:00:22 AM



Title: MultiBit
Post by: jim618 on September 12, 2011, 09:00:22 AM
I am pleased to announce the release of a new bitcoin client called MultiBit.

This is a desktop client for Windows, Mac and Linux.   It is written in Java and uses bitcoinj for talking to the bitcoin network.

The main website with screen shots, download details and help is:
   http://multibit.org


MultiBit's main features are:
1) Completely open source.   MIT licence.
2) Easy to use.   Easy to run from a USB drive.
3) Support for multiple wallets (though automatic rescan is not done yet).
4) Small footprint - the current blockchain is less than 16MB from the genesis block.
5) You can create QR codes of addresses in the bitcoin URI format.  You can drag and drop these to and from the app.


Important Limitations:
MultiBit is experimental code - do not use it for large amounts of bitcoin.  
The wallets are not encrypted. (This is a planned development).


I hope you like it.   Please use this thread for feedback and any questions you may have.



Title: Re: MultiBit
Post by: HostFat on September 12, 2011, 03:06:37 PM
Can you add an auto-update feature that "asks" the user if he wants to update it?
Something like a little message somewhere on the status bar.


Title: Re: MultiBit
Post by: jim618 on September 12, 2011, 03:51:35 PM
LONG ANSWER
----------------
The wallet rescan not being done is more to do with the interaction with bitcoinj and the P2P network.
I'll try to explain - forgive me if this is old news to you.
Normally you have the following:
1) Wallet A receives a zero-confirmation notification of a transaction.
2) After a few minutes, the next block appears with Wallet A's transaction in it and the client knows the transaction is on the block chain.   Everything is good.

Imagine you swap to Wallet B after the zero-confirmation arrives but before the next block arrives.  
You work with Wallet B and then the block arrives confirming Wallet A's transaction.
Wallet B ignores this block as it isn't interested in it.

When you later switch back to Wallet A it 'never heard' about the Wallet A transaction confirmation.   The transaction get stuck at zero confirmations.   To rescan, or I like to think of it as 'replay', the blockchain you have to go back along the blockchain to before the unconfirmed transaction and redo things.   You kind of replay the tape and then Wallet A hears about its transactions being confirmed.

There is a bit more work to do in MultiBit and bitcoinj before I can program this up as there is no API to do the blockchain replay.

SHORT ANSWER
------------------
You can avoid the whole 'wallet rescan issue' by:
o Always waiting for a blockchain confirmation before switching wallets.
or
(simpler and less errorprone)
o Copy the whole MultiBit directory (it's < 20MB) and use one copy of MultiBit for each wallet you use. This is the 'slightly clumsy but safe' way of avoiding any problems.



Title: Re: MultiBit
Post by: jim618 on September 13, 2011, 08:47:43 PM
This might be a little too 'noisy' but I thought I would try mentioning what is going into the MultiBit builds as it goes in.

The code and downloads are all on github at:
https://github.com/jim618/multibit (https://github.com/jim618/multibit)

At the moment the stable release is Multibit 0.1.3 so there is a download for that.   That is the one to use if you want to keep off the bleeding edge.

I have just uploaded a daily build called : multibit-20110913-noblockchain.zip   
(I haven't bothered putting the blockchain in so it is 3MB - just copy the multibit.blockchain file in from another MultiBit install).

What's gone in today:

Copy address button as icon on the 'Receive bitcoin' screen.
http://multibit.org/postImages/20110913-copyButton.png (http://multibit.org/postImages/20110913-copyButton.png)

Copy and paste buttons as icons on the 'Send bitcoin' screen.
http://multibit.org/postImages/20110913-copyAndPaste.png (http://multibit.org/postImages/20110913-copyAndPaste.png)

Current transaction fee added to 'Send bitcoin confirmation' screen
http://multibit.org/postImages/20110913-fee.png (http://multibit.org/postImages/20110913-fee.png)


Title: Re: MultiBit
Post by: jim618 on September 14, 2011, 01:15:03 PM
I have added a little image with the language code into the Preferences | Choose language panel | language combo

Here is a screenshot of the combo box open in Russian:
http://multibit.org/postImages/2011-0914-languageCodeInCombo.png (http://multibit.org/postImages/2011-0914-languageCodeInCombo.png)

It helps you navigate when you accidentally set things to a language you cannot read.

Currently MultiBit is localised to:
o English
o Spanish
o Russian (it is missing a few terms that I have added in the last few days).

Swedish is on its way so I have put it in the UI in anticipation.


If anybody would like to volunteer to localise other languages, please do !
It is about 200 terms to localise.


Title: Re: MultiBit
Post by: HostFat on September 14, 2011, 02:07:39 PM
I can help you with the italian language.

Anyway, you should give a look a this one: http://crowdin.net ( I think that there are also other services like it )
This will be useful to translate it on many languages! ;D


Title: Re: MultiBit
Post by: jim618 on September 14, 2011, 02:59:19 PM
Great thanks.
I will have a look at that site - I was wondering how best to organise the localisation work.
Cheers


Title: Re: MultiBit
Post by: slothbag on September 15, 2011, 11:28:27 AM
Nice.  This looks great and is simple to use.  The QR functionality works well and plays nice with BitcoinTrader on iPhone.

I have a couple of questions..

  • Currently the bitcoin p2p network could benefit from more listening/reachable "full" nodes, i assume this "thin" client cannot be a full listening node?
  • Does this client need to download the most recent blocks just like the official client? if so a block count / total blocks stat might be useful
  • Is it possible to add an option to force multibit to connect to a specific node only.. via IP or hostname?

Keep up the good work.


Title: Re: MultiBit
Post by: jim618 on September 15, 2011, 02:28:47 PM
Hi,
Thanks - good to hear the QR codes are readable on BitcoinTrader.   I have liaised with Andreas (Android bitcoin wallet) to make sure his app can read them but the wider the testing the better.

It is a thin client yes.   It does not mine and does not offer up blocks to other nodes.   I don't think bitcoinj (which is used for the bitcoin network stuff) is ever planned to be expanded to be a full client.   

It does need to download all of the blockchain to pick up transactions.   The blockchain is smaller in bitcoinj though as the transactions aren't stored after the wallets see them so it is less of a problem.
(All the blocks on the main blockchain are <16MB at the moment).

RE: block count.
I think I will put a 'drilldown' screen when you click the 'Online/ Connecting...' label to give people more network stats.
I don't want to put them in the main screens though as I think it will frighten off the 'general user' which is who I am trying to target it to.

It uses DNS to look up the nodes but I guess it could connect to a specific node.   I will put that on the feature request list.


Title: Re: MultiBit
Post by: bitcoinspot.nl on September 18, 2011, 03:28:32 PM
Hi there,

just installed multibit and it seems to be working fine, its still waiting to verify the first 0,5 received bitcoins.

A few questions:
- Is it possible to display the std receiving adress somewhere in the main screen, with an easy way of copying it ?
- Will it stay a java app, or will there be some kind of installer in the future ?

Thanks!

Roland.


Title: Re: MultiBit
Post by: jim618 on September 18, 2011, 06:54:02 PM
Thanks for trying it out.   Waiting for the blocks to arrive is definitely the most frustrating thing about bitcoin but I guess we will have to learn to live with it.

In the most recent code (in github) I have added 'copy' icons next to the addresses on both the Send and Receive screens.   There is also a paste icon on the Send screen. One of the beta testers requested it.

I wasn't planning to put the current receiving address on the transactions screen no.  I have an idea for a screen with a list of all your wallets and their balances (a 'My Wallets" screen) so if anything is a main screen it is most likely going to be that.
You might have noticed that whatever you were looking at when you shut down MultiBit is shown when you start it up (like with an iPhone).   I figure if you were in a shop you might always sit on the 'Receive Bitcoins' screen.

RE: will it stay as a Java app.
I have been working on the installers this weekend - I'll just cut and paste from something I just put on the bitcoinj mailing list:

"
I have converted the MultiBit github project to Maven and removed the old ant build.
It now also creates:
o a 'universal' Java based installer - based on IzPack.
o which also gets packaged up to a Mac application bundle.
o and converted to a Windows exe using JSmooth.   JSmooth also handles searching for/ installing a JRE for the installer which means it is there for MultiBit to use too.
Some of the pom is a bit hacky (dropping down to ANT) and there are a few things to do (e.g. no shortcuts, don't really need an installer on Mac) but it's a good start.
"

People will just install it using an installer (or in the usual way with a dmg on a Mac) and shouldn't really be aware if it is using Java, C++ or magic pixie dust under the covers.


Edit: for completeness I thought I would add that I am proposing people install it on Linux using:
  wget <url of installer file>
  chmod +x <installer file>
  java -jar <installer file>

This will then run an installer that looks the same as on Windows (thanks to the magic of IzPack).
I figure Linux users are familiar with command lines and that covers all (I think) the flavours with practically no extra work for me.

The installers have more work to do on them and then I will ask for some help with testing them on different platforms.



Title: Re: MultiBit
Post by: bitcoinspot.nl on September 19, 2011, 07:11:06 PM
Hi

I was trying to send some bitcoins, 0.001 to be exact.
But multibit says that i am unable to spend, though it reports that i have bitcoins in my wallet.
I have included a screenshot.
Am i doing something wrong ?

Greetz, Roland.

http://www.bitcoinspot.nl/tmp/unabletospend.bmp



Title: Re: MultiBit
Post by: jim618 on September 20, 2011, 06:25:09 AM
Hi Roland,

On the top bar on the screen you can see that your wallet contains 0.4985 BTC but that the 'available to spend' is 0.0000 BTC. I have written an explanation on available to spend here:
http://multibit.org/help_availableToSpend.html (http://multibit.org/help_availableToSpend.html) as it is unfortunately not an obvious concept.

If you read through that it explains there are two ways you can have the available to spend less than the total in the wallet (pending receipts and waiting for change).

I notice bitpay uses the same terminology as it is a built in consequence of bitcoin rather than MultiBit itself. Hopefully the terminology will become standard.

If you have been switching wallets it could be you missed the transaction confirm of a bitcoin receive. You would notice that if your bitcoins never confirmed - on the transactions page you would see an empty progress box in the status field that never fills out and turns into a tick (no matter how long you waited).
If it is this post back - this is a bit of a limitation of the current MultiBit code that I should get rid of in the next release - and I will explain how to get rid of it.


Title: Re: MultiBit
Post by: jim618 on September 22, 2011, 11:02:05 AM
I thought you might be interested in the feature list for the next major release of MultiBit.
After feedback from the bitcoinj mailing list, the features we are aiming for are:


Proposed feature list for MultiBit 0.2.0.

Protocol buffers format for wallet. (http://en.wikipedia.org/wiki/Protocol_Buffers)
Support for multiple wallets.
Provide installers for Windows, Linux and an application bundle for Mac.
Improved cut and paste.
Increase number of languages.
Technical/ build improvements.


There is a detailed description at the github wiki : https://github.com/jim618/multibit/wiki (https://github.com/jim618/multibit/wiki)

Of course there are other things we want to put in (also on the wiki) but this is the feature set we will be concentrating on for the next release.


Edit: We have decided to look at using protocol buffers rather than XML for wallet storage.


Title: Re: MultiBit
Post by: BkkCoins on September 25, 2011, 11:38:21 AM
Regarding your info about multiple wallets and missed blocks: couldn't you associate a "last" block count with each wallet such that if you switch wallets it immediately knows where to rescan from, and update the wallet transactions (if any).


Title: Re: MultiBit
Post by: jim618 on September 25, 2011, 03:28:57 PM
Yes that is the plan exactly as you state.

The work I mentioned on protocol buffers (which is a data storage format that is easy for both Java and C++ to read) is a good opportunity to add that information into the wallet.

Also with bitcoinj you can have several wallets 'listening' to the transactions coming from the network simultaneously. I will be using this with the multiple wallets screen.

Note that any MultiBit wallets created in 0.1.3 will have an upgrade path for any wallet format changes so people probably won't even notice the change.


Title: Re: MultiBit
Post by: jim618 on September 26, 2011, 11:23:55 AM
MultiBit is now being translated into French by the friendly staff of Global Standard Bank, based in Montreal.  

http://www.globalstandardbank.com/ (http://www.globalstandardbank.com/)
Global Standard Bank - The Bitcoin Bank, aims to bring Bitcoin to a mainstream audience by providing Bitcoin banking solutions such as the BitCard - Bitcoins on a high security card. Now available on amazon.com, eBay and from Authorized BitCard Agents.

Thanks very much to the staff of Global Standard Bank for donating their time to MultiBit.



p.s MultiBit is now being translated to:

o English
o French
o Italian
o Norwegian
o Russian
o Spanish
o Swedish




Title: Re: MultiBit
Post by: jim618 on October 05, 2011, 09:38:47 PM
A couple of things that have gone into MultiBit recently:

You can now connect to a single node with the following property in multibit.properties:
singleNodeConnection=<name of node>

The name can be a domain name or 'naked' IP address.
This was a feature request.
 

I have been improving the MultiBit packaging so that the build now automatically produces:

+ a proper Mac application bundle with Help/ Preferences/ Quit/ About menu integration + nice icons.
+ a Mac dmg file that has an 'Applications' alias you can drop the app to.
+ The Windows installer now has program shortcuts for MultiBit and the MultiBit uninstaller

This is all to make MultiBit easier to install and use.


Title: Re: MultiBit
Post by: slothbag on October 05, 2011, 11:13:28 PM
I found my older Linux box takes minutes to load the official bitcoin client, and uses huge amounts of CPU loading and checking the blockchain. Multibit runs like a dream on the same machine, loads instantly, catches up on the blockchain in seconds. Will definitely be keeping multibit around for lightweight usage.

The connect to single node sounds good too, force it to connect to my main bitcoin client, save on bandwidth.

Keep up the good work..


Title: Re: MultiBit
Post by: jim618 on October 06, 2011, 09:34:39 AM
Thanks for the feedback - good to hear it runs happily on older Linux boxes.
At the moment I am not setting any special memory options so, for instance, on my 2 gigabyte memory Mac it will be running in 512 MB.

I expect to be making a beta and putting a download on github early next week (mainly to get people to test the installers on different platforms) so that will have the functionality to connect to a single node if you want to try it out then.


Title: Re: MultiBit
Post by: bitcoinspot.nl on October 07, 2011, 07:22:12 AM
Just out of curiosity. If i understand it correct, multibit is a lighweight client, so it doensnt download and distribute the entire blockchain?
But if everyone starts using lightweight clients, will the blockchain still be distributed over the internet.


Title: Re: MultiBit
Post by: jim618 on October 07, 2011, 02:31:24 PM
You are correct - like other bitcoinj clients (including the mobile ones) it only 'takes' blocks and does not 'give' blocks to other nodes.   

The Satoshi clients/miners are the backbone of the network.   In some ways they *are* the network.
There have to be enough Satoshis/miners for the bitcoin network to be effective.   If there were 100.00% lightweight clients it wouldn't work as the blocks would not propagate around.   It would be like everybody listening but nobody talking.


Another further simplification in bitcoinj/MultiBit is that whilst the blocks are downloaded with all the transactions, once the block is processed it is stored *without* the transactions.   This is the main reason the bitcoinj blockchain is so much smaller than the Satoshi client's on the disk.   (Of course everything comes at a price - not having all the transactions on disk makes things like rescanning and importing keys more difficult.)

I expect we will eventually migrate to a 'hub and spoke' network where the Satoshi clients / miners are the interconnected hubs and the various lightweight clients are the spokes.




Title: Re: MultiBit
Post by: freemoney458 on October 07, 2011, 10:11:23 PM
Hi,

congratulations to your client, it really downloads the blockchain fast as hell under linux on my mac book.
Also the blockchain is really small so that I can keep the client, the blockchain and the wallet file on a TrueCrypted USB thumbdrive.

For me, that is a near perfect solution.

I have some improvement suggestions. The reasons I posted here:
https://bitcointalk.org/index.php?topic=39729.msg553496#msg553496

Here are my improvement requests in short:

1) Please add optional wallet encryption like in the standard client.
2) Please add a feature to import and export the private keys.
    There are some discussions and improvement requests about this for the standard bitcoin client, too.
    Therefore it would be nice if you could find a format that is also supported from the standard bitcoin client.
3) I would also find it practical if you could import/export private keys in QR code format, maybe even supporting
    https://www.casascius.com/ or http://www.bitbills.com/ 
4) I would like to have the possibility to redirect exchange bitcoins to a choosable fixed address instead of the automatic generation of a new address for exchange bitcoins.

I feel that the above requests are badly needed by any client to improve the ability of bitcoin to provide a secure and reliable storage of wealth.
The next requests should enable bitcoin to improve usability in a "real-world" economy.

5) The client should offer the possibility to display the balance in any currency the user likes, e.g. $, EUR, etc.
6) The client should offer the possibility to choose the currency for a money transfer in any currency that the user chooses for the specific transfer. The exchange rate should be customizable like in otc-marketplace.
7) The client should display the transaction history with the specific currency and exchange rate that the user selected for the specific money transfer.

I know the above whishlist is already huge, but wait for the last one:

8) The client should have an interface to a crowd-based currency exchange mechanism like e.g. ripple. This way the user is not forced to get into the details of currency exchange. This is like using credit card payments in a foreign country: You do not bother about the details, you should pay in the currency you are requested to and the rest is done by the payment system itself. Of course one can think to incorporate online exchanges etc, but personally I prefer to as much keep the concept of distributed crowd services, because it minimizes possible attack vectors against single weak points (and online exchanges have abundantly prooved to be single weak points, even without mentioning past centralized systems like e-gold which were shut down by the governments)


Please keep up the good work.
I am considering contributing with coding to your work, can you give me directions where to start?
Because I am totally unfamiliar to the development environment you are using.


Title: Re: MultiBit
Post by: jim618 on October 08, 2011, 09:31:06 AM
Thanks very much for your thoughtful post.

If I go through your points in turn:
RE: running under Linux on a Mac book.   If you want, you can run MultiBit as a fully fledged Mac app (with pretty icons and everything).   It's the same code but just better integrated for the Mac platform.   I only finished this off this week but will put out a beta next week with the Mac dmg file.

RE: 1).   Yes encryption is a must have.   I plan to copy the standard client's encryption *exactly*.

RE: 2), 3)  Importing and exporting keys are, when it comes down it it, about interoperability.   One of the things that I am adding in the current round of dev work is to change the MultiBit wallet storage format to 'Protocol Buffers' which can be read and written by C++, Java and Python easily.   (You can basically auto-generate the code to access the wallet).
One of the reasons to copy the standard client's encryption exactly is that it makes the possibility of interoperable *wallets* possible.   This is more a long term goal than anything - I haven't even started talking to the C++ devs about it yet.    This would cut out a lot of the importing/ exporting of private keys people currently have to do.

For wider adoption of bitcoin, I think people are happy with the idea of a 'wallet' but the moment you start talking about private keys and asymmetric encryption you are talking another language and they switch off.

RE: 4)  Redirecting change to a fixed address.  Would you mind explaining why you want to do that?  I mean, what is the use case that you are trying to fulfil ?


RE: 5), 6) and 7) Integration with fiat currencies.   This is a tricky one.   If you think of the work the exchanges put in to make exchanging BTC for fiat you realise it is a big task.    Also, you add a lot of complexity and touch points (points of interoperation with 'something else' you don't control) into the code.
Whilst there are other things to do (e.g. encryption) I plan to hold off adding fiat support.
If the exchanges make it easy to convert fiat/ BTC (and perhaps come up with a standard API common between exchanges so that you can get quotes and buy from the best one) then it might be worth doing as the exchanges would then 'own' the complexity.   I expect this is a way off yet.   Also I think fellow traveler is already doing this in his Open Transactions project.

The 'design goal' for multibit is actually the usage you describe as 'Run it from your USB drive/ home computer.   Nice and secure.   Send and receive bitcoin easily'.  

RE: Ripple.   Yes Ripple looks very nice and is obviously complementary to Bitcoin in its philosophy and decentralisation.   Which leads on nicely to your final point . . .

If you want to write code there are various approaches you can take, depending on where your interests lie.   First of all, definitely start using github.com.   It is a step up from coding using SVN or whatever and is practically designed to support open source projects.   It's free for open source.   It is a bit of a learning curve (I am still learning loads) but, well, it is just better.

If you want to work directly on MultiBit then there is plenty of work going !   I think all open source projects are man-power limited and help is definitely welcome.

You might also want to think about 'cloning' MultiBit and using it as a basis for your own project.   I am quite happy for people to reuse the work I have put in as the starting point for their own project.   It is all MIT licence.   Reading some of your other posts I think you might be interested in producing a bitcoinj *Ripple* client.   By this I mean something that connects to the Ripple network but also connects to the bitcoin network.   A bridge if you like.   By reusing the work I have done on the UI work and concentrating on the Ripple network integration you could get further, faster.

I must admit I am not following the Ripple project at the development level so you would want to talk to them to see if they are already working on such a project in Java.   I haven't seen anything on the bitcoinj mailing list about it so I *think* it is 'up for grabs'.   You might also want to check with fellow traveler (who writes Open Transactions) to check there is no duplication there.   (IMHO it is always better to contribute to an existing project that has the same goals rather than starting up a new one as you can get further in a team and it is more fun).

If you want to have a look at the MultiBit code and start building it, create an account on github.com and then do a 'git clone' of the project (jim618/multibit) onto your machine.

The build is now a fairly standard Maven build (the building of the installers is a bit 'round the houses' but it works ok).   If you are not familiar with Maven definitely read up on it as it is excellent.
(The MultiBit readme is a bit out of date actually - it refers to a previous build using ANT - so I would ignore that for now).

Let me know if you need any help.   You can send messages in github.com directly so please use that for any technical questions.   (I try to keep this thread as free as possible from technical mumbo-jumbo to keep it readable for everyone).

Edit: for developing MultiBit, it is fairly independent of the IDE (integrated design environment) you use.  I use Eclipse but  I know other people use Netbeans.   Pretty much everything now understands the structure of Maven projects so you just import it and away you go.








  



Title: Re: MultiBit
Post by: 2112 on October 08, 2011, 02:03:25 PM
Integration with fiat currencies.   This is a tricky one.   If you think of the work the exchanges put in to make exchanging BTC for fiat you realise it is a big task.  Also, you add a lot of complexity and touch points (points of interoperation with 'something else' you don't control) into the code.
It is much easier that you make it. Pretty much everything on Earth that is fungible is being traded using FIX protocol. With the curious exception of Bitcoin, where the primitive one-directional JSON-RPC rules. The multi-exchange trading software exists for over a decade.

http://en.wikipedia.org/wiki/Financial_Information_eXchange
http://www.fixprotocol.org/

It is very curious form of myopia or gazing at their own navel. It is almost like the Bitcoin community is somehow trying to reinvent the whell and is hell bent on square whells.


Title: Re: MultiBit
Post by: jim618 on October 08, 2011, 02:29:16 PM
Very interesting 2112 - that protocol is obviously new to me.

I think you are right that bitcoin generally suffers from 'not invented here' syndrome.   I will have a look at that.   Something that is 1992 vintage must already have an open source Java implementation.

Cheers

Edit: Open source Java FIX protocol code = http://www.quickfixj.org/


Title: Re: MultiBit
Post by: freemoney458 on October 09, 2011, 01:43:22 PM
Thank you for your reply, I appreciate very much the dedication you took for answering.

If I go through your points in turn:
RE: running under Linux on a Mac book.   If you want, you can run MultiBit as a fully fledged Mac app (with pretty icons and everything).   It's the same code but just better integrated for the Mac platform.   I only finished this off this week but will put out a beta next week with the Mac dmg file.
I will try it out.

RE: 1).   Yes encryption is a must have.   I plan to copy the standard client's encryption *exactly*.
Glad that you plan it and take it over exactly from the standard client.

RE: 2), 3)  Importing and exporting keys are, when it comes down it it, about interoperability.   One of the things that I am adding in the current round of dev work is to change the MultiBit wallet storage format to 'Protocol Buffers' which can be read and written by C++, Java and Python easily.   (You can basically auto-generate the code to access the wallet).
One of the reasons to copy the standard client's encryption exactly is that it makes the possibility of interoperable *wallets* possible.   This is more a long term goal than anything - I haven't even started talking to the C++ devs about it yet.    This would cut out a lot of the importing/ exporting of private keys people currently have to do.
You are right, it is about interoperability AND not depending on a specific technical solution (client, format of data storage).
Your plans sound reasonable to achieve these goals.
What I am still missing is an import/export button for e.g. bitbills or the like, meaning a solution which needs no programming skills and is easy to handle for the average joe.

For wider adoption of bitcoin, I think people are happy with the idea of a 'wallet' but the moment you start talking about private keys and asymmetric encryption you are talking another language and they switch off.
I completely agree.

RE: 4)  Redirecting change to a fixed address.  Would you mind explaining why you want to do that?  I mean, what is the use case that you are trying to fulfil ?
I have to admit that I have not sent bitcoins myself, I got this idea just from reading the forums. So I could be mistaken.
My use case is the following:
1) I create a 100% secure off-line savings wallet like described in https://bitcointalk.org/index.php?topic=17240.0
2) I save the encrypted wallet in different locations. I could also choose to store just the key to this ONE address in different ways, e.g. as a QR code (encrypted of course).
3) I copy ONE bitcoin address from this wallet and use it as my 100% secure savings address
4) I send bitcoins to this ONE address from lesser secure online exchanges or from other bitcoin clients.
    I can do this overs years without connecting the 100% secure wallet to the internet and still receive the bitcoins because the network stores the transactions for me. So all of my bitcoin savings are stored in a single address.

Nothing new until now, the tricky part comes when I want to spend bitcoins from the 100% secure savings address.
5) I start again my live CD with unix, connect it to the internet and send a small part of my savings to some other address.

Here lies the problem (if I understand the behaviour of the client correctly):
The client sends out part of the savings to the address where I want the coins to be spent.
The remaining part of the savings the client will send to a newly created address in my wallet (with new private key).
Now my 100% secure savings address is EMPTY and I have to use a new address for the remainder of my savings.
This forces me to store my wallet again in order not to loose the bitcoins.
But now the wallet and the new address has seen an internet connection, so I can not be sure that nobody already got access to the private key of the new savings address.

So my preferred solution for this dilemma is:
6) When executing 1) I offline create TWO wallets with a 100% secure address in each. Both are different of course.
7) When spending bitcoins from the 100% secure savings address, I tell the client that it shall send the remaining part of the bitcoins to the 100% secure address in the second wallet. Since this adress has been created offline and the wallet has never seen any internet connection, the private key to this address is still secure. So now I still have a 100% secure savings address.


Regarding your other comments I will need more time to investigate. You gave me a lot to chew through.
Again, thank you for your answer.


Title: Re: MultiBit
Post by: jim618 on October 09, 2011, 05:28:43 PM
Just to let people know:

I will be presenting "MultiBit - a demo of the latest developments"
at the Bitcoin European Conference in Prague in November (25-27).

Should be an interesting conference.

If you want to follow #eurobit there is a bitcointalk.org thread dedicated to it:
https://bitcointalk.org/index.php?topic=40272.0



Title: Re: MultiBit
Post by: jim618 on October 13, 2011, 10:05:48 AM
You are right I think that there will be a third stage where the blocks are so large that only servers will be processing all the transactions.   I hope by then we will have the infrastructure to have our hosted private keys either fully encrypted (as I believe BCCAPI does) or some other cryptographic technique is used to protect us from private key theft.


RE: Multiple wallets.
The full description for the multiple wallets functionality is given here:
https://github.com/jim618/multibit/wiki/Supporting%20multiple%20wallets

In brief it is:
+  A 'My Wallets' button shows a screen listing the wallets (with their balances etc).
+  You have one wallet at a time as your 'Active Wallet' - chosen with a radio button.
+  The send, receive, transactions pages then work with that one wallet.
+  At the top of the screen is a combo box indicating the active wallet.   You can use the combo box to switch your active wallet.

This stops the user interface becoming too cluttered with too many tabs and buttons.


RE: RPC and mining:   Because MultiBit is a 'dumb client' it does not offer an RPC interface to the outside world.   It only has a connection to the full nodes supplying it with blocks and then just asks them for blocks and transactions.   MultiBit is not mining.  Because of that it will not be generating coinbase transactions - you can still of course send coins from a mining pool to it using a bitcoin address you control.   

MultiBit's design goal is to be quite lightweight in use and so does not repeat the RPC/ mining functionality of the main client. (This cuts down the level of complexity considerably as you can imagine).


RE: MultiBit becoming 'stable' rather than 'experimental'.   There is still quite a lot to go into MultiBit before it is the sort of thing you want your grandma to use so it will be experimental for a while yet I think.   It will get there in the end but it takes a remarkably long time to make something production quality.   As an indication of how long, it has taken me about 4 months to get it to where it is now.

The Satoshi client is the place to keep your Big Savings Stash of bitcoins, especially now that the private keys are encrypted.


Title: Re: MultiBit
Post by: jim618 on October 13, 2011, 12:12:35 PM
That is actually quite a subtle point about what has access to the wallet files for updating.

Because you don't want lots of processes 'fighting' over access to the same wallet files I plan to do the following:

+  You open up MultiBit and it displays a list of wallets.   You now have one MultiBit window on the screen and one Java Virtual Machine (JVM) running.   This JVM will do all the reading and writing to the wallets and keeping them up to date.
+  When you want to view a second wallet, or you want to drag and drop between wallets, you will start up another MultiBit window (with everything - amount, buttons, status bar etc) using a menu option I have not decided on yet.   Something like "File | new MultiBit window".
+  At this point you have 2 MultiBit windows but you still only have 1 JVM.   This makes coordination between the MultiBit windows and the thing doing all the updating of the files easier to control and less error prone.  (For the technically minded: You can have JVM level file locks in Java 6+).

This would be the approach for multiple windows on the same machine.   I think it is probably a bad idea to have distinct MultiBits on different machines looking at a common wallet on, say, a network drive.   That is just asking for something to go wrong so I doubt I will support that.



Title: Re: MultiBit
Post by: jim618 on October 14, 2011, 09:06:40 AM
Hello Everybody,

There is a new beta available for MultiBit. The download details are at:

http://multibit.org/download.html
http://multibit.org


Version 0.2.0beta1
Enhancements
+  More language work done - English, Russian, Spanish, Swedish complete.
    French, Italian, Norwegian coming along nicely.
    Improved language picker in preferences screen.
+  Installers for Windows, Linux and DMG file for Mac.
+  Copy and paste added to address field.
+  Fee added to send confirm screen.   Send confirm screen improved.
+  User interface now uses system look and feel for better integration.
+  Added 'singleConnectionNode' option into multibit.properties.
+  Various user interface tidy ups.

Thanks to everyone who has contributed to this beta.


Title: Re: MultiBit
Post by: freemoney458 on October 14, 2011, 09:27:26 PM
Hi,

I just tried out the Version 0.2.0beta1 under Mac OS X 10.5.8 on a MacBook.
The installer works without any problem, and so does the client.

I just seem too dumb to get the QR codes working.
Copying from the Receive screen to MS Word is possible, but dragging a QR code into the Send screen has no effect.

Any suggestions?


Title: Re: MultiBit
Post by: jim618 on October 15, 2011, 06:59:07 AM
At the moment you have to drop the QR code right onto the existing QR code on the send screen for it to get recognised. (I will most likely change this in the future to make it easier). Try that.

Also, it might be something specific to the format of data coming from Word. Try dragging a 'receive' QR code to your Mac *desktop* (which I know works) and then switch to the send screen to drag it back. That would give me a clue that it is Word specific.


Title: Re: MultiBit
Post by: jim618 on October 16, 2011, 03:01:04 PM
Gary Rowe and I have given the http://multibit.org website a new look to make it easier to use.
It also has links to our YouTube channel where you can see our most recent screencast:

"Using MultiBit to buy online with a Bitcoin swatch"

http://youtube.com/user/MultiBitOrg


Title: Re: MultiBit
Post by: freemoney458 on October 16, 2011, 08:00:12 PM
At the moment you have to drop the QR code right onto the existing QR code on the send screen for it to get recognised. (I will most likely change this in the future to make it easier). Try that.

Also, it might be something specific to the format of data coming from Word. Try dragging a 'receive' QR code to your Mac *desktop* (which I know works) and then switch to the send screen to drag it back. That would give me a clue that it is Word specific.

I tried it like you explained, and now it works fine.  :)
Really seems to be something MS Word specific.

Congratulations to the new homepage and to the youtube screencast. The homepage looks great!
Good purchasing choice during the screencast, too (one of my favourite readings and in a way fitting to the subject).


Title: Re: MultiBit
Post by: mameise on October 16, 2011, 08:49:48 PM
Hi,

just found this and thought the bitcoin swatches would be great for sells.
Problem: I cannot find to make them in your program.

it would be great to have an api or something.
i think it would be much more easier when we could put in our receiving adress, a label and the amount and it would generate such a swatch like you used it.
it also would be great to enter an amount in usd or € instead of btc, and it converts into btc using mtgox or so.

if this would be possible, it would looks great :) so maybe you can think about it.

thanks


Title: Re: MultiBit
Post by: jim618 on October 16, 2011, 10:20:09 PM
freemoney458 - thanks !  Yes we wanted to put Cryptonomicon in as the purchase as it is such an appropriate book for bitcoin.

mameise - yes - I have just been writing a 'swatch generator' into MultiBit so that the user can create them.   This should go into the next beta.   In the receive bitcoin panel when you type in the label and amount it creates a swatch automatically in the panel on the right hand side so that you can copy it out of MultiBit.  It will still be in BTC though as we do not have any exchange look up in MultiBit yet.

I am hoping to do betas about every two weeks or so until the 0.2.0 work is all done.





Title: Re: MultiBit
Post by: brandondayton on October 17, 2011, 05:03:30 PM
What happens with my current wallet when I install a new client? Will MultipBit create a new Wallet.Dat or does it look for something, if it's already there? Just want to make sure I don't end up deleting my current wallet or something awesome like that.


Title: Re: MultiBit
Post by: jim618 on October 17, 2011, 06:40:13 PM
MultiBit does not touch any existing wallet.dat.

The default wallet is stored as 'multibit.properties' in the installed MultiBit application directory itself. (Or inside the application bundle on a Mac).

Note that the default multibit.properties location will actually change as it causes problems if you are logged into an account that does not have administrator rights.   I will definitely keep it well away from the Satoshi client's wallet.dat though.


Title: Re: MultiBit
Post by: brandondayton on October 17, 2011, 08:35:15 PM
Cool. I'll give it a spin.


Title: Re: MultiBit
Post by: jim618 on October 18, 2011, 06:09:16 PM
We now have a German translation for MultiBit !

Thanks to freemoney458, on this site, for doing this translation for us.
Here is a screenshot - there are a couple of terms I have added in the last day or two in English, but other than that it is a complete translation.

http://multibit.org/postImages/german.png (http://multibit.org/postImages/german.png)

p.s. it will appear in the next beta's installers.


Title: Re: MultiBit
Post by: steelhouse on October 19, 2011, 03:13:53 AM
This is great, how does it compress the block chain.  Does it use someone else's block chain?  This is great it is so small and fast, but I wonder in laymans terms how it works?   I wonder if it protects the network?  Is it just a online wallet disguised as a client?


Title: Re: MultiBit
Post by: jim618 on October 19, 2011, 09:22:34 AM
Thanks for your feedback steelhouse.
I thought I would try to answer your questions, together with other ones I have been asked such as:
"Where are the private keys stored ?",
by describing what MultiBit is actually doing.


A day in the life of MultiBit:

1. When you install MultiBit, is comes with a recent blockchain. This is about half the install download.

2. You start up MultiBit and it connects to bitcoin full nodes - i.e. nodes running bitcoind - in the normal peer-to-peer fashion. (You can also configure it to connect to a specific node if you want.)

3. MultiBit loads from disk the user's wallet file. The user's private keys are stored in the wallet.

4. MultiBit starts downloading new blocks from the peers. These are exactly the same blocks as you see on, say, blockexplorer.com.

5. It passes the new blocks to the wallet and says to it:
"Have a look at these new blocks and see if there are any transactions of interest to you."

6. The wallet looks through the new blocks' transactions and stores (in the wallet) the transactions that either send it bitcoin or that confirm its previous spends.

7. MultiBit stores the headers only of the new blocks into its local copy of the blockchain,   It does not store the transactions themselves. This is the main reason the MultiBit blockchain is so much smaller than the bitcoind blockchain.

8. MultiBit then waits for new blocks to appear from the peers and repeats.

I hope this answers your questions but if anything is not clear just ask.


Title: Re: MultiBit
Post by: brandondayton on October 22, 2011, 01:53:59 PM
Don't know if this has been suggested before, but it'd be a great feature to see bitcoin value in dollars right in the client. Not super critical, but I think it'll help the regular joe once it gets around to that. BTW, really diggin' multibit. Very slick.


Title: Re: MultiBit
Post by: jim618 on October 22, 2011, 03:56:13 PM
Yes - I think having a 'cross-rate' as per giszmo's suggestion would help usability.

For the early adopter 'bitcoiners' I think they are happy to think in terms of bitcoins but for wider adoption being able to present the info in  a fiat currency would make it easier.  

I will put it on the feature request list in the github wiki.   A single cross-rate where you switch the presentation of all figures (like on a website when you switch from, say, US dollars to euros) would probably be the way to go.   I like giszmo's suggestion of a 'rate-out-of-date' colour scheme too.

brandondayton <- Glad you are enjoying multibit !

:-)

Edit: Idea has been put into wiki: https://github.com/jim618/multibit/wiki/Cross-rates


Title: Re: MultiBit
Post by: jim618 on October 26, 2011, 09:07:44 PM
I thought you might be interested in a sneak preview of what the main wallets page will look like in MultiBit:

http://multibit.org/postImages/2011-10-26-YourWallets.png

There is still a fair amount of finishing off and testing yet but the rough layout is about right I think.
The colour palette used is:
http://colors.bravo9.com/nbs-iscc-p-plochere-color-system/list/all/ (http://colors.bravo9.com/nbs-iscc-p-plochere-color-system/list/all/)


Title: Re: MultiBit
Post by: jim618 on October 28, 2011, 02:19:19 PM
Gone into the codebase today is the ability to create swatches with multiple lines in the label.
Here is an example:

http://multibit.org/postImages/20111028-OscarWilde-swatch.png

Also, the label fields on the 'Receive Bitcoin' and 'Send Bitcoin' screens have been made correspondingly bigger.


Title: Re: MultiBit
Post by: genjix on October 29, 2011, 02:59:31 PM
Multibit is looking sexy. Keep up the great work ;D

You might want to read these suggestions (https://bitcoinconsultancy.com/wiki/index.php/Libbitcoin#Features) for improving your client.


Title: Re: MultiBit
Post by: jim618 on October 29, 2011, 06:43:39 PM
Thanks genjix!

Lots of good improvement suggestions on that page - I have bookmarked it for future reference.

Similiarly I am looking forward to the rollout of libbitcoin.  Once devs have a more structured C++ codebase to work with there should be some really interesting solutions appearing.


Title: Re: MultiBit
Post by: GoWest on November 01, 2011, 02:12:51 AM
Bitcoins for Christmas (http://bitcoinsforchristmas.com/receive.php?hash=123) recommends MultiBit!




Title: Re: MultiBit
Post by: jim618 on November 01, 2011, 10:43:06 AM
Hi GoWest,
Thanks to Bitcoins for Christmas for the recommendation.
That is a great idea for the Christmas season - I think I will use it myself.

 :-)


Title: Re: MultiBit
Post by: finway on November 01, 2011, 12:12:02 PM
Nice work, I'll try it.


Title: Re: MultiBit
Post by: jim618 on November 02, 2011, 07:59:40 PM
I have tidied up the 'Send Bitcoin' screen so that it now also generates swatches.

Here is a screenshot:

http://multibit.org/postImages/20111102-sendSwatch.png

Also, I have added a 'Paste' button into the send 'swatch panel' so that you can paste a text bitcoin URI or swatch directly and it will fill out the send form.

In the very bottom left of the screen you can see that the 'Online' label now also has the block height as a tooltip.

I am hoping to get another beta out early next week, all being well.


Title: Re: MultiBit
Post by: EhVedadoOAnonimato on November 02, 2011, 09:04:51 PM
but there is a third step, that is when bitcoin really becomes main stream and each block takes up 50+MB. Then most people will be forced to use things like instawallet, mtgox, tradehill for their wallet. The time of Bitcoin banking.

Not necessarily. There are ways of keeping it P2P even then. That would required the creation of a "give me the list of outputs of block X" message. This list would be much smaller than the entire block as it would not contain the inputs, their public keys and signatures.

Of course that a node could then lie about the contents of this list. Such risk could be considerably mitigated by
  • Asking the list to different nodes
  • Connecting to a set of trusted full nodes
  • Clients could offer the user the option to "rescan transactions from this point to that point in time, because I should have received something there". Such manual rescan could perform a full download of all blocks in the period.

The risk could be completely eliminated by adding a checksum of the output list to the block header, but that would be a major change in the protocol. Worth doing, I'd say, if that's what it takes to keep bitcoin truly P2P, and not dependent on trust.


Title: Re: MultiBit
Post by: GoWest on November 06, 2011, 03:31:39 PM
An issue encountered by someone trying to install MultiBit after receiving a gift from BitcoinsForChristmas:

"Problem: when I launch Multibit it doesn't open - rather, my Nokia App store launches. Even when I launch the JAR file in the Multibit directory."

If you need more details / screenshots, I can try to get them for you.


Title: Re: MultiBit
Post by: jim618 on November 06, 2011, 09:22:43 PM
Hi GoWest,

Thanks for your bug report.

It looks like the Nokia App store is being called when jars are being opened rather than the java executable.   Most likely this will apply to any java app and is not specific to MultiBit.

What system are they running things on ?
Are they running MultiBit from a shortcut (in either their Program Menu or  desktop) or are they double-clicking the multibit-exe.jar.

Regards,

Jim


Title: Re: MultiBit
Post by: conspirosphere.tk on November 07, 2011, 04:48:51 AM
I just installed Multibit (on XP), but when I click on its shortcut it starts Ovi (a Nokia application to manage my smartphone).
The same happens if I click on the Multibit executable or its uninstaller.
Any clue?


Title: Re: MultiBit
Post by: jim618 on November 07, 2011, 09:52:50 AM
Hi conspirosphere.tk,

It looks like it is this problem: 
http://www.developer.nokia.com/Community/Discussion/showthread.php?184259-How-to-prevent-OVI-Suite-from-hijacking-JAR-filetype-extension (http://www.developer.nokia.com/Community/Discussion/showthread.php?184259-How-to-prevent-OVI-Suite-from-hijacking-JAR-filetype-extension)

There is a workaround mentioned in that thread:
http://thepanz.netsons.org/post/windows7-jar-file-association-broken-with-nokia-ovi (http://thepanz.netsons.org/post/windows7-jar-file-association-broken-with-nokia-ovi)

I have had a look at the bat file it gives and it looks kosher.   Let me know if this fixes the problem.

To fix it for everybody, I think what I will do is convert the multibit-exe.jar to a fully fledged Windows exe file so that Ovi and MultiBit can co-exist happily.


Title: Re: MultiBit
Post by: conspirosphere.tk on November 07, 2011, 12:27:35 PM
Many thanks Jim,
I just ran the following .reg file:
Windows Registry Editor Version 5.00
[-HKEY_CLASSES_ROOT\.jar]
[-HKEY_CLASSES_ROOT\SystemFileAssociations\.jar]
[-HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.jar]

as indicated on the second page you found, and it fixed everything. So now I can run Multibit.

Thanks again.


Title: Re: MultiBit
Post by: jim618 on November 07, 2011, 01:02:39 PM
That is great conspirosphere.tk

I have just changed the MultiBit build so that for future Windows users they will get an multibit.exe file rather than a jar file.
This will go into 0.2.0beta2.


Title: Re: MultiBit
Post by: robocop on November 10, 2011, 09:38:33 AM
Hi jim

I downloaded the multibit and followed the instructions but if I doubleclick the multibit-exe.jar then the package-manager will open the archive but the multibit application don't start.
I use ubuntu as OS and I need help.


Title: Re: MultiBit
Post by: jim618 on November 10, 2011, 10:06:20 AM
Hi robocop,

If your multibit-exe.jar does not open when you double click it, you can run it from the command line as follows:

1) open a terminal window and 'cd' to your installation directory
2) type: java -jar multibit-exe.jar

That should then start it up.



Title: Re: MultiBit
Post by: jim618 on November 10, 2011, 06:05:11 PM
There is a new release of MultiBit (0.2.0beta2) available at:

http://multibit.org (http://multibit.org)


IMPORTANT - Mac users - Make sure you do not lose your wallets when upgrading !

Mac users - DO THIS BEFORE UPGRADING
1) Right click on /Applications/MultiBit.app and select 'Show Package Contents'.
2) Navigate to the directory 'Contents/Resources/Java' in the application bundle.
3) Copy the multibit.wallet and multibit.info files to a safe place.
4) If you have any other wallet and info files in this directory, copy them to a safe place.


Enhancements
+  German added (Vielen Dank freemoney458).
+  Added 'Your Wallets' screen and a wallet picker in the toolbar.
+  Added swatch generator on Receive bitcoin and Send bitcoin screens.
+  Decreased minimum fee amount to 0.0001 to match bitcoin v0.4 .
+  Visual indication of which panel you are on added.
+  'Available to spend' now hidden when amount is equal to estimated balance.
+  Added number of blocks as a tool tip to the "Online/ Connecting..." status label.
+  MultiBit now supplied as an exe file for Windows.
+  User data is now stored in user specific roaming/ application data folders.

Bug fixes
+  Fixed selection colour for Receive and Send bitcoin.
+  Fixed label alignment on Receive bitcoin.
+  Fixed that directories appear in 'Open Wallet' for Windows.


Title: Re: MultiBit
Post by: robocop on November 11, 2011, 11:59:03 PM
thx  :)

+1


Title: Re: MultiBit
Post by: Ryland R. Taylor-Almanza on November 17, 2011, 12:57:20 AM
How might I go about importing a private key into my multibit wallet?


Title: Re: MultiBit
Post by: jim618 on November 17, 2011, 08:06:17 AM
Unfortunately there isn't a practical way of importing an arbitrary private key into a multibit wallet at the moment.

The problem is not the insertion of the private key (which Mike Hearn wrote code for months ago) but getting hold of all the relevant transactions for that key. You need these to work out the current balance. Because the multibit/ bitcoinj blockchain does not contain the transactions to get a key's transactions you currently have to re-download the whole blockchain. This of course is too expensive to be practical.

To implement the import of an arbitrary private key for multibit/other bitcoinj clients the best way would be a new server call :
'Get me all the transactions relevant for this bitcoin address since the genesis block'
 and then you could insert the key and the returned transactions into the wallet in one go.


Title: Re: MultiBit
Post by: EhVedadoOAnonimato on November 17, 2011, 09:38:55 AM
The problem is not the insertion of the private key (which Mike Hearn wrote code for months ago) but getting hold of all the relevant transactions for that key. You need these to work out the current balance. Because the multibit/ bitcoinj blockchain does not contain the transactions to get a key's transactions you currently have to re-download the whole blockchain. This of course is too expensive to be practical.

To implement the import of an arbitrary private key for multibit/other bitcoinj clients the best way would be a new server call :
'Get me all the transactions relevant for this bitcoin address since the genesis block'

By server call, you mean a network message to be sent to full clients?
You would introduce a privacy issue with such implementation. It would be quite clear to everyone you're very likely the owner of those addresses.
I'd argue that a better solution, if one is wanting to upgrade the protocol, is to create a message of the sort "give me the lists of outputs on block X". This would allow you to then query for the blocks that concern you. The privacy risk still exists, but it gets smaller as blocks get larger. Such message would also help bitcoin lightweight clients to remain p2p even when block sizes reach hundreds of megabytes: you wouldn't need to download every new block, as lightweight clients do today, only those in which you have money.


Title: Re: MultiBit
Post by: jim618 on November 17, 2011, 10:10:39 AM
Yes - you are right - a call to a full node asking for that information would be a give-away that you control that address.

(general point: you might think a transaction gives the same information but those are forwarded around the network and hence could be anyones).

I like your idea of being able to get the transaction outputs for a block as an indicator of "if you control one of those transaction outputs, you have bitcoin in this block".   I think I will mention that on the bitcoinj mailing list - crediting you of course.


Title: Re: MultiBit
Post by: Ryland R. Taylor-Almanza on November 18, 2011, 01:05:40 AM
I sent .01 BTC to someone almost 24 hours ago, and it still has yet to be confirmed. Did I do something wrong, or is this a bug?


Title: Re: MultiBit
Post by: jim618 on November 18, 2011, 09:06:07 AM
Hi Ryland,

A few questions about your unconfirmed transaction:
1) Did it send ok ? (Did you get a 'Bitcoin sent ok' on your send confirm screen after you sent it?).
2) Has the recipient received it ok?
3) Is your payment on the blockchain ?   (You can look at blockexplorer.com and search for the receive address)
4) Is it still waiting to be incorporated into a block (unlikely after 24 hours but possible).   Have a look at :
    http://bitcoincharts.com/bitcoin/ and search for the receive address.

Let me know.   If it is still waiting to be put in a block then that would be normal.   If not then please PM the two logs you have in your <installation directory>/log and I will have a look.
(The log files don't have your private keys in them)


Title: Re: MultiBit
Post by: Ryland R. Taylor-Almanza on November 19, 2011, 12:46:24 AM
Hi Ryland,

A few questions about your unconfirmed transaction:
1) Did it send ok ? (Did you get a 'Bitcoin sent ok' on your send confirm screen after you sent it?).
2) Has the recipient received it ok?
3) Is your payment on the blockchain ?   (You can look at blockexplorer.com and search for the receive address)
4) Is it still waiting to be incorporated into a block (unlikely after 24 hours but possible).   Have a look at :
    http://bitcoincharts.com/bitcoin/ and search for the receive address.

Let me know.   If it is still waiting to be put in a block then that would be normal.   If not then please PM the two logs you have in your <installation directory>/log and I will have a look.
(The log files don't have your private keys in them)

1) Yeah
2) Yup: http://blockexplorer.com/address/1NqkEcycGaK1VVx85D2zm7YGYtYtya5DPw
3) See #2
4) Nope
Also, I have .2487 BTC, but Available to Spend says 0, and I don't know why. I'll pm you the logs in a moment. Thanks.

EDIT: There's no log folder in the installation directory.


Title: Re: MultiBit
Post by: jim618 on November 19, 2011, 09:09:09 AM
It looks like the message with the confirmation block for the transaction was either never received or never got into your wallet to confirm the tx.

If you look in the multibit help it explains the 'Available to spend'. Bitcoinj is slightly different to the Satoshi client in that you cannot spend change until it is confirmed. It is the quarter of BTC that is the problem - you have the bitcoin available as a transaction output but multibit is erroneously not allowing you to spend it.

I forgot I moved the logs into your user application directory (so you always have write rights).
The directory is different on different platforms and versions of Windows. I will post the directory for each when I get to my big computer (this is from my iPhone).

I will add more logging of the incoming data to MultiBit from the network and see if I can reproduce it and fix it.


EDIT:

Where MultiBit stores logs and the default multibit.wallet     

1) See if there is a multibit.properties in MultiBit's current working directory. If there is, use this directory as the application data directory. This is for backwards compatibility and for running everything from a USB drive
     
2) Otherwise set the user application data directory as follows:
 
   PC
      <"APPDATA" environment setting>/MultiBit
   
      e.g. C:/Documents and Settings/Administrator/Application Data/MultiBit
   
   Mac
      <"user.home" system property>/Library/Application Support/MultiBit
     
      e.g. /Users/jim/Library/Application Support/MultiBit
     
   Linux
     <"user.home" system property>/MultiBit
     
      e.g. /Users/jim/MultiBit



Title: Re: MultiBit
Post by: Ryland R. Taylor-Almanza on November 19, 2011, 10:11:16 PM
Pm'd the logs.


Title: Re: MultiBit
Post by: jim618 on November 22, 2011, 10:44:58 AM
I have raised an issue in github for RylandAlmanza's confirmation bug.

It is at:
https://github.com/jim618/multibit/issues/3 (https://github.com/jim618/multibit/issues/3)

Because of preparation for the European Bitcoin Conference there will be a little delay in me looking at it but it will get worked on.


Title: Re: MultiBit
Post by: Ryland R. Taylor-Almanza on November 23, 2011, 07:41:41 PM
I have raised an issue in github for RylandAlmanza's confirmation bug.

It is at:
https://github.com/jim618/multibit/issues/3 (https://github.com/jim618/multibit/issues/3)

Because of preparation for the European Bitcoin Conference there will be a little delay in me looking at it but it will get worked on.

Ok, thank you. :) Let me know when it's fixed, because I think that's the reason all my bitcoins are unspendable right now.


Title: Re: MultiBit
Post by: GoWest on November 26, 2011, 07:26:53 PM
Just a small bug. When you try to name your wallet, there's no way to hit "accept" or "enter" to get the cursor out of the edit box (Windows version).


Title: Re: MultiBit
Post by: jim618 on November 27, 2011, 01:52:04 PM
Yes I need to put focus traversal on the buttons and text input boxes so that you can tab/ enter between boxes.

Now that the preparation for the EuroBit conference is over I will be working through bug fixes and improvements until Christmas so please post anything you spot here (or raise them directly on github.com/jim618/multibit).  I will work through them in order of severity (most likely RylandAlmanza's issue 3 first)

This bug raised as:
https://github.com/jim618/multibit/issues/4

I don't plan to add anything significant in the run up to Christmas (to keep the code relatively stable) so the next month is an ideal opportunity to fix niggles or things that are not quite right.

My brother has a plethora of Linux/ Mac/ PC machines and has been testing out V0.2.0beta2 and noticed some packaging issues on some machines/ OSes so I will add those too to the list of things to fix.




Title: Re: MultiBit
Post by: jim618 on November 27, 2011, 05:32:39 PM
Here is the presentation, backup screencast and script that I made for my MultiBit talk at the European Bitcoin Conference.
(The screencast was just in case the network failed or I dropped my laptop etc).

Presentation in OpenOffice format
http://multibit.org/eurobit/MultiBit%20talk.odp

Backup screencast:
http://multibit.org/eurobit/EuroBit_2011_MultiBit%20demo.mp4

Script
http://multibit.org/eurobit/eurobit2011_demo_script.txt

The screencast has a few flaws in it (I only did it on the Thurs beforehand) but fortunately I did not actually need it.


Title: Re: MultiBit
Post by: HostFat on November 30, 2011, 10:22:36 PM
Can you also add this feature?
http://coderrr.wordpress.com/2011/06/30/patching-the-bitcoin-client-to-make-it-more-anonymous
And an easy way to add private keys :)


Title: Re: MultiBit
Post by: jim618 on December 01, 2011, 11:20:41 AM
Hi HostFat,

I have been thinking about the mixing of transactions from different private keys and how to avoid it.
If you have some transactions that you want to keep completely separate from others, you can do this already in MultiBit as follows:

1) Create a wallet called, say, "My Secret Stash" and create a number of new keys/ receiving addresses in it.
Any sends from this wallet will only ever use the bitcoin available from the keys/ addresses in *this* wallet.   You can have one wallet for more public addresses (e.g. donation addresses) and another for more private transactions.

2) To send bitcoin to this wallet you need to be careful you do not tie your Secret Stash addresses to your more public addresses.
One way to do this would be to use an anonymizer such as bitcoinfog (though they do take a 1% commission).  If you do not want to lose 1% then you could just make sure that you send bitcoins to your Secret Stash addresses using addresses less traceable to you - say the bitcoin faucet.

3) To keep them separate you must NEVER send directly from your public addresses to your secret addresses as you have then linked them publically on the blockchain.


For the import of private keys - it is something I would like to do but it runs into a technical limitation that I outlined on an earlier post - https://bitcointalk.org/index.php?topic=43616.msg621480#msg621480 (https://bitcointalk.org/index.php?topic=43616.msg621480#msg621480)   Until I have a way to efficiently look up the transactions for a private key (or have the transaction outputs for all blocks) I cannot really implement it in a way that is usable for the general user.


Title: Re: MultiBit
Post by: jim618 on December 02, 2011, 06:46:41 PM
I have been collating MultiBit bug reports and putting them into github.

https://github.com/jim618/multibit/issues?sort=created&direction=desc&state=open (https://github.com/jim618/multibit/issues?sort=created&direction=desc&state=open)

I will work on these two first:

#3: Zero confirmation transactions not being subsequently confirmed
#6: Windows installer cannot install into C:/Program Files for Win7 / Vista




Title: Re: MultiBit
Post by: jim618 on December 04, 2011, 02:06:58 PM
There is a new release of MultiBit at:

http://multibit.org (http://multibit.org)


Version 0.2.0beta3
This is mainly a bugfix release.

Enhancements
+  Added Linux shortcuts
+  Added 'Create Bulk Addresses' for MultiBitMerchant (add showMerchantMenu=true into multibit.properties)

Bug fixes
+  Fixed issue #6 - Windows installer cannot install into C:/Program Files.


I plan to do about a beta every week up until Christmas with bug fixes and minor improvements.   I will start the next tranche of new development in the New Year.


Title: Re: MultiBit
Post by: jim618 on December 08, 2011, 07:27:08 PM
I have fixed the bug:

Issue #3  Zero confirmation transactions not being subsequently confirmed.


I have copied the strategy used by Andreas in Android Bitcoin Wallet.

There is now a button "Reset blockchain and transactions' on the bottom right of the 'About MultiBit" screen.

If you press this you get a screen with an explanation and a single button "Reset blockchain and transactions'.   
Screenshot: http://multibit.org/postImages/resetTransactions.png (http://multibit.org/postImages/resetTransactions.png)

When you click the reset button it does the following:
1) Removes any transactions from the active wallet
2) Redownloads the blockchain from before the earliest transaction in the wallet.

It can take some time to redownload the blockchain but afterwards your wallet contents will reflect what is on the blockchain.
Note there is currently a bug in the percentage download figure when downloading but the block date is correct.   It is best just to let it chug away and catch up with the blockchain.

This fix will appear in the next beta which will probably be on Sunday or Monday.


Title: Re: MultiBit
Post by: freemoney458 on December 09, 2011, 04:30:15 PM
There is now a button "Reset blockchain and transactions' on the bottom right of the 'About MultiBit" screen.

If you press this you get a screen with an explanation and a single button "Reset blockchain and transactions'.   
Screenshot: http://multibit.org/postImages/resetTransactions.png (http://multibit.org/postImages/resetTransactions.png)

When you click the reset button it does the following:
1) Removes any transactions from the active wallet
2) Redownloads the blockchain from before the earliest transaction in the wallet.

Since this button will only affect the active wallet but the screenshot does not give a hint which wallet is the active one:

Can you add some additional information about the active wallet?
Or place the button in a screen with which intuitively implies which wallet will be affected?
Or a combination of both, say in a confirmation dialogue asking
'Do you want to reset the blockchain and transactions in wallet {1}'?

Would this also be a solution to import keys from another wallet?



Title: Re: MultiBit
Post by: jim618 on December 09, 2011, 06:46:18 PM
Hi freemoney458,

I will add the wallet file and description that will be affected.   The wallet is shown in the combo box in the toolbar but clearly that is not enough.

Edit: this has now been added - http://multibit.org/postImages/resetTransactions.png (http://multibit.org/postImages/resetTransactions.png)


It is close to what is required for importing a private key, except that in this case I can look at the active wallet and see the earliest transaction.   Say it is 2 weeks ago.   I then only have to re-download 2 week's worth of blockchain.   For a general private key I do not know how far back in time to go (Imagine you have a private key from 2009 and want to import it).   It is certainly a step nearer though.


Title: Re: MultiBit
Post by: jim618 on December 12, 2011, 04:25:28 PM
There is a new release of MultiBit at:

http://multibit.org (http://multibit.org)


Version 0.2.0beta4
This is mainly a bugfix release and a refresh of the internationalisation files.


Enhancements
+  French and Italian translations completed. Swedish, German, Spanish, Russian updated.
+  Some minor UI changes

Bug fixes
+  Fixed issue #3 - Zero confirmation transactions not confirming fixed.   
+  Added 'Reset transactions and blockchain' screen to fix affected wallets.


Title: Re: MultiBit
Post by: gnar1ta$ on December 12, 2011, 04:40:09 PM
Just wanted to follow this.  Great client, thanks for all the work.


Title: Re: MultiBit
Post by: jim618 on December 12, 2011, 04:47:09 PM
Thanks gnar1ta$ !

It is gradually coming together as the rest of the bitcoinj people and I iron out the bugs and generally improve things.


Title: Re: MultiBit
Post by: jim618 on December 13, 2011, 12:07:51 PM
MultiBit has been translated into Portuguese !

Thanks to Azrael_PT (on this forum) for doing this translation.

Screenshot: http://multibit.org/postImages/portuguese.png (http://multibit.org/postImages/portuguese.png)


This will appear in the next beta which will probably appear at the weekend.


Title: Re: MultiBit
Post by: jim618 on December 15, 2011, 12:01:13 PM
We are making a bit of a push on getting MultiBit translated into more languages.
We have these languages now:

English, German, Spanish, French, Italian, Norwegian, Portuguese, Swedish, Russian

And have translators currently working on:
Dutch : done,
Hindi : done,
Thai


If you would like volunteer to translate MultiBit to your mother tongue please go to our translation website or let me know.

Our translation website is:
http://translate.multibit.org (http://translate.multibit.org)


We are notably missing:

Arabic, Chinese : done, Japanese, Korean

out of the top ten internet languages (http://www.internetworldstats.com/stats7.htm)

For a fluent speaker it takes an evening or two to translate all the terms.
Thanks


Title: Re: MultiBit
Post by: finway on December 15, 2011, 01:23:21 PM
Simplified Chinese translation done.


Title: Re: MultiBit
Post by: jim618 on December 15, 2011, 02:04:43 PM
Thanks to finway for the very quick simplified Chinese translation.

Here is a screenshot:
http://multibit.org/postImages/simplifiedChinese.png (http://multibit.org/postImages/simplifiedChinese.png)

This will appear for general use in the next beta.


Title: Re: MultiBit
Post by: jim618 on December 15, 2011, 08:33:40 PM
We now have a translation of MultiBit into Hindi.
Thanks to Kishor Kumar for doing this.

Here is a screenshot (quite visually striking - like the Chinese in the previous post)

http://multibit.org/postImages/hindi.png (http://multibit.org/postImages/hindi.png)


Again, it will go into the next beta.


Title: Re: MultiBit
Post by: gnar1ta$ on December 15, 2011, 09:30:01 PM
Would you consider adding ability to export/print the private keys?  I know there is an issue with importing but at least it would allow for a backup in case of data loss or corruption.


Title: Re: MultiBit
Post by: jim618 on December 15, 2011, 10:20:27 PM
Yes - I think this is a good idea. Will put in on my list of items to implement.

As you say, it would make for an excellent failsafe backup.


Title: Re: MultiBit
Post by: nibor on December 16, 2011, 03:13:47 PM
A QR code you can print would be the best private key backup. You can then just put somewhere safe.

Or if you supported importing private keys from https://www.bitaddress.org users would not need to export as would already  have a paper based backup.


Title: Re: MultiBit
Post by: jim618 on December 16, 2011, 06:36:58 PM
Yes printing is better than saving to a file for the ultimate backup. A file of private keys would be a magnet for thieves. Paper stored in a safe place is pretty unhackable. (assuming the printer spool file gets destroyed properly)

A QR code would work but would need the private key written as text as well just in case no scan solution was available.  Fiddly to type in but we would all do it for a large enough amount of bitcoin !

Bitaddress.org import support would be do-able for 'brand new' private keys or keys we know the age of. Just replay the blockchain the way we do in 'Reset transactions and blockchain'.

I think I will add a Tools menu and put this one in as the first one.



Title: Re: MultiBit
Post by: jim618 on December 16, 2011, 07:48:49 PM
We now have a translation for MultiBit in Turkish.

Thanks to Emin Gün Sirer (https://plus.google.com/106498365825454902663/posts (https://plus.google.com/106498365825454902663/posts)) for this translation.

Here is a screenshot:
http://multibit.org/postImages/turkish.png (http://multibit.org/postImages/turkish.png)


Title: Re: MultiBit
Post by: jim618 on December 17, 2011, 11:35:12 AM
There is now a translation of MultiBit into Dutch.

Thanks to the translate.multibit.org user damnek who contributed this translation.

Here is a screenshot:
http://multibit.org/postImages/dutch.png (http://multibit.org/postImages/dutch.png)


Title: Re: MultiBit
Post by: Ryland R. Taylor-Almanza on December 17, 2011, 11:47:58 PM
Any ETA on when we can import private keys? Is it being worked on, or is that further down the road?


Title: Re: MultiBit
Post by: jim618 on December 18, 2011, 11:01:50 AM
Hi RylandAlmanza,

It won't be for a couple of weeks yet as I am concentrating on tidying up the existing code at the moment. (I don't want to add new code in the run up to Christmas because of Bitcoins for Christmas).


Title: Re: MultiBit
Post by: bitcoinspot.nl on December 18, 2011, 12:44:27 PM
yeah you might look at the options in the "my wallet" online-wallet from the guys of blockchain.info for some comparison.

Installed the latest version of multibit, works like a charm!
Thanks!!!!!!!!!!

Roland.


Title: Re: MultiBit
Post by: jim618 on December 19, 2011, 02:55:34 PM
There is a new release of MultiBit at:

http://multibit.org (http://multibit.org)


Version 0.2.0beta5

Enhancements
+  Simplified Chinese, Dutch, Hindi, Portuguese and Turkish translations added.
+  Minor installer changes.

All the translators are credited in the AUTHORS.txt (in the installation directory or in the app bundle on a Mac)
Thanks to everybody who has contributed their languages files.


Title: Re: MultiBit
Post by: jim618 on December 20, 2011, 09:42:56 PM
Gary and I have put together a wiki with what we propose to put into the next tranche of MultiBit development.
It is here:

https://github.com/jim618/multibit/wiki (https://github.com/jim618/multibit/wiki)
 
Please have a review of it and comment if:
  • There is something you would like to add
  • There is something you would like to remove
  • Any implementation ideas that you think are important I address

The wiki is only the very top level at the moment - I am trying to get the overall scope of what to do.
I am expecting to get stuck into it in the New Year and am thinking of (very roughly) the next 3 months work.

Obviously time is always limited so I am trying to get a list which overall will be the most useful.


Title: Re: MultiBit
Post by: jim618 on December 20, 2011, 10:34:56 PM
We now have a Finnish translation for MultiBit.
Thanks to Technomage (on this forum) for providing this translation.

Here is a screenshot:
http://multibit.org/postImages/finnish.png (http://multibit.org/postImages/finnish.png)


I plan to add this into the build and produce new installers by the end of Thursday (in time for Christmas !)

Edit: this installer will also have a refresh of all the language files including the Spanish edits this week by freemoney and mrmx.


Title: Re: MultiBit
Post by: freemoney458 on December 20, 2011, 11:49:31 PM
Gary and I have put together a wiki with what we propose to put into the next tranche of MultiBit development.
It is here:

https://github.com/jim618/multibit/wiki (https://github.com/jim618/multibit/wiki)
 
Please have a review of it and comment if:
  • There is something you would like to add
  • There is something you would like to remove
  • Any implementation ideas that you think are important I address


Do you have a voting mechanism installed? Just an idea, maybe it is not worth the effort and vulnerable to abuse anyway.

Here are my 'likes' from your plans:
 
  • Refresh UI: Lots of good stuff there, especially: 'Exchange' and 'Statement'. I like the idea to make it as close as possible to standard online banking applications when showing the balance and the exchange information. Also replacing 'Receive' with 'Request' is more like to what is really going on and therefore I prefer it.
  • Password protection and encryption for the wallet: I think this is one of the top priorities. I did not understand the full concept, though. Can the user select which wallet to encrypt? Will the wallet be encrypted all the time while using MultiBit and only be decrypted partially to get access to the specific private keys needed right before for spending? Will the password be entered only once per session or before each spending or is it choosable? Will there be a (simple) keylogger protection feature like in some online banking accounts (e.g. type in random parts of the password with the mouse)?
  • Exporting and importing private keys: Also very important IMHO, in order to give people some backup possibility. I would have liked the export as a swatch additionally to the simple text file, even it is not useful for merchants. This would open the possibility for people to make payments to each other when being disconnected. Of course people need to trust each other not to double spend, and then people would also need to have the possibility to delete an exported key from their wallet to prevent unintentional double spend. Also the date input feature could be supported with a swatch which contains the date to automate the importing of exported keys.
  • Sonic swatches and WiFi / Bluetooth: really cool!  8)

Here is a list of more features I would like, maybe save it for the future:
 
  • Option to select a wallet as 'deterministic' like in Electrum. Maybe not stable enough yet for the mainstream audience, but really promising. Maybe something to consider for MultiBit 0.4.x?
  • Ability to determine the address where the exchange money will be sent to. I explained the use case behind it here: https://bitcointalk.org/index.php?topic=43616.msg564730#msg564730

I am really excited to see your plans happen!
Keep up the good work!
Thanx a lot!


Title: Re: MultiBit
Post by: jim618 on December 22, 2011, 10:19:13 AM
Thanks for your comments freemoney - here are some more thoughts:

  • UI - yes the general idea is to make it "similar" to online bank statements as those are widely used and familiar.
  • Password protection / encryption - we will probably do something similar to the Satoshi client i.e encrypt the private keys only.   This has the advantage that you can still add spends/ receives to the wallet as those only reference the public key.   As to the exact use cases I have not written those yet.   At this point I am trying to get the overall list of things to work on (and priority).   I will post the google doc URI for the use cases when I write them so that anyone can review/ comment on them.
  • export/ import private keys - yes I think I will put in the option to do swatches.
  • Deterministic wallets - I think these are excellent but it is a lot of work so I do not plan to work on these in the next chunk of work.   There is nothing in bitcoinj on deterministic wallets yet.  Electrum is doing such an excellent job on pushing the boundaries for deterministic wallets I think they will the 'go to' wallet for these sorts of wallets.
  • Exchange addresses - I will make a note of your point on specifying the withdrawal address.   It is early days for the exchange work - I am still figuring out the best architecture to do this and it needs some partnering with exchange devs etc.

2012 should be pretty interesting for bitcoin !


Title: Re: MultiBit
Post by: jim618 on December 22, 2011, 01:31:20 PM
There is a new release of MultiBit available at:

http://multibit.org (http://multibit.org)


Version 0.2.0

Enhancements
+  Finnish translation added and all language files refreshed.

Bug fixes
+  Fixed bug where confirmations for a transaction sent intra-wallets was not always saved on exit and amount not updated.


Title: Re: MultiBit
Post by: jim618 on December 22, 2011, 08:49:58 PM
We now have a Polish translation of MultiBit.
Thanks to Piotr Waśkiewicz ( https://plus.google.com/u/0/115999606270382981571/posts (https://plus.google.com/u/0/115999606270382981571/posts) ) for providing this.

Screenshot: http://multibit.org/postImages/polish.png (http://multibit.org/postImages/polish.png)

I will put this in the next release which will be after Xmas. If anybody is doing Bitcoins for Christmas and particularly wants MultiBit in Polish PM me and I will sort something out.


Title: Re: MultiBit
Post by: garyrowe on December 22, 2011, 09:51:11 PM
Just imagine if we could get the Japanese translation done as well. C'mon someone out there must know someone who could do the translation...


Title: Re: MultiBit
Post by: jim618 on December 22, 2011, 10:01:30 PM
To follow on from Gary - out of the top-ten internet languages (http://www.internetworldstats.com/stats7.htm) we are currently missing:
  • Arabic
  • Korean
  • Japanese

We have set them all up and they are all ready to go in http://translate.multibit.org (http://translate.multibit.org).


Title: Re: MultiBit
Post by: waspoza on December 22, 2011, 10:17:51 PM
Screenshot: http://multibit.org/postImages/polish.png (http://multibit.org/postImages/polish.png)

Looking good, except one slight error. Fixed already.

Nice label on this shot btw.  ;D


Title: Re: MultiBit
Post by: jim618 on December 30, 2011, 02:59:52 PM
We now have a Latvian translation for MultiBit.
Thanks to Arvis Lācis for producing this translation.

Screen shot:
http://multibit.org/postImages/latvian.png (http://multibit.org/postImages/latvian.png)


This will appear in the next MultiBit release which will be 0.2.1.   This will appear early next week and will also include Polish.
Also in this release will be the capability to display right-to-left languages e.g. Arabic. (We have 11% Arabic done so you can switch to it in 0.2.1 if you want to see roughly how it will look).


Title: Re: MultiBit
Post by: jim618 on January 02, 2012, 01:32:06 PM
There is a new production release of MultiBit available at:

http://multibit.org (http://multibit.org)

Version 0.2.1
Enhancements
+  Polish, Latvian translations added. Language files refreshed.
+  Now supports right-to-left languages e.g. Arabic.


MultiBit is now translated either completely or substantially into:
+ Simplified Chinese
+ Dutch
+ English
+ Finnish
+ French
+ German
+ Hindi
+ Italian
+ Latvian
+ Norwegian
+ Polish
+ Portuguese
+ Russian
+ Spanish
+ Swedish
+ Turkish

These languages have translators and have been started:
+ Arabic
+ Japanese
+ Thai

These languages are set up in http://translate.multibit.org (http://translate.multibit.org) but we do not have any translators for them yet:
+ Klingon
+ Korean


Title: Re: MultiBit
Post by: jim618 on January 03, 2012, 04:33:53 PM
I have been working on the MultiBit build so that there is now available:

Production releases
This is the stable code for use by the general public.  
It is currently at version 0.2.1 and will only be updated with:
+ More languages
+ Bug fixes

This is the code that is refered to on http://multibit.org in the download links.


Early access (SNAPSHOT) releases
This is the 'bleeding edge' code with all the most recent developments.
Installers are available at:
https://github.com/jim618/multibit/downloads (https://github.com/jim618/multibit/downloads)

The early access releases are the ones with 'SNAPSHOT' in - currently at 'MultiBit 0.3.0-SNAPSHOT'.


To make it easier to tell them apart I have included the version number in the shortcut names when you install the SNAPSHOT MultiBit.


Title: Re: MultiBit
Post by: jim618 on January 03, 2012, 04:49:58 PM
Over Christmas, Gary Rowe and I wrote code for MultiBit to deal with browser protocol handlers.
What this means is you can now do the following:

1) In your browser you click on a bitcoin link (e.g. a link to:
        bitcoin:1KzTSfqjF2iKCduwz59nv2uqh1W2JsTxZH?amount=0.5&label=Agile%20Stack

2) If MultiBit is not already started, it will start automatically.

3) MultiBit then switches to the 'Send Bitcoin' form and fills out the form with the bitcoin link details.

4) All you have to do is click 'Send' !


The code is available in the MultiBit SNAPSHOT code at https://github.com/jim618/multibit/downloads (https://github.com/jim618/multibit/downloads)
We have tested it on Mac OSX, Windows XP, Windows 7 and Ubuntu 10.03.4 LTS and are interested in how it works on other platforms.

If you want to try it out, download the SNAPSHOT code and install it.  There is an example bitcoin link (the donation QR code) on Gary's blog here: http://gary-rowe.com/agilestack/ (http://gary-rowe.com/agilestack/)

We really like the ability to click on a browser link and for all the payment details to just appear in MultiBit.  Once we iron out any bugs we plan to write up a 'How To' guide so that the other bitcoin clients can save time implementing it.   It is quite fiddly to implement but we think it would be great if all the desktop clients did it.


Title: Re: MultiBit
Post by: Ryland R. Taylor-Almanza on January 03, 2012, 07:09:19 PM
Nice work, jim618!


Title: Re: MultiBit
Post by: freemoney458 on January 03, 2012, 10:35:34 PM
Nice work, jim618!
+1
And really executed fast, considering the blog from GoWest, item 4 ) at http://www.thebitcointrader.com/2011/12/10-most-anticipated-bitcoin-projects.html

Works nicely on my Mac OS X 10.5.8 with latest Firefox browser version.


Title: Re: MultiBit
Post by: jim618 on January 03, 2012, 10:42:06 PM
Thanks Ryland and freemoney458.

We like this feature as it means the normal user does not have to worry about those "ugly addresses" so much.

We *think* it works on Win, Mac, Linux for all of Chrome, Firefox, IE and Safari but it is difficult to test all the combinations so we are hoping people will try it out and let us know where there are problems.

Gary is spending some time on MultiBitMerchant at the moment so is going to put the creation of the links into that too.


Title: Re: MultiBit
Post by: gnar1ta$ on January 04, 2012, 01:17:45 AM
You ever consider doing a mobile version of Multibit? Specifically iOS.


Title: Re: MultiBit
Post by: Ryland R. Taylor-Almanza on January 04, 2012, 05:29:04 AM
You ever consider doing a mobile version of Multibit? Specifically iOS.
Can iphones run java programs?


Title: Re: MultiBit
Post by: bitcoinspot.nl on January 04, 2012, 09:08:56 AM
This is f*ing great you guys!
Now i can finally create a donate button so that people can donate bitcoins to me in 1 click.
VERY VERY nice.

If you put a donate button on your site, i will be very pleased to clickit and send you some coins!



Title: Re: MultiBit
Post by: jim618 on January 04, 2012, 10:12:19 AM
Thanks bitcoinspot.nl ! 
I will put a donate button/ QR code on the multibit.org site - cheers.
I am hoping that the other desktop bitcoin clients will reuse what we have done so that it becomes the standard way for browsers to show their bitcoin payment requests.

@gnar1ta$, Ryland
Unfortunately on a 'bought from the store' iOS device they cannot run Java.
In a similar way to Apple not allowing Flash on their browser, they do not want people running a Java virtual machine.
There is no technical reason for this as I am pretty sure jailbroken phones can run Java but the average user is not going to do this.

I am hoping that BitPak will be able to progress their code and then open source it so that there will be at least one native iOS bitcoin client for iPhones and iPads.   Bitcoin on iOS is quite frustrating at the moment.   Currently I have an iPhone 5 but will be changing it soon for an Android device - mainly because the bitcoin development is much better on Android than iOS.



Title: Re: MultiBit
Post by: jim618 on January 04, 2012, 04:16:46 PM
I have put a "Please donate to multibit.org" combination bitcoin link+swatch on the http://multibit.org (http://multibit.org) website should anyone be feeling generous.

Any BTC donated will get used as seed money for the MultiBit Merchandise venture Gary and I will be setting up later on this year.

This will be an online 'Bitcoin Shop' to:
1) Test out our MultiBit Merchant software and iron out any bugs. (Eat your own dogfood!)
2) Sell some 'soft marketing' Bitcoin merchandise to spread the word about Bitcoin.


Title: Re: MultiBit
Post by: bitcoinspot.nl on January 04, 2012, 07:00:20 PM
Promise makes good, just sent you the 0.2 bitcoins :)
I like the swatch thing, gonna be puttin it on my site also.

Three questions:
- will this optionl be included in the new 0.3 version ?
- My girlfriend said: wouldnt it be nice, that when you click on it, it asks you for the amount, instead of filling it in for you ?
- will you be getting in touch with the other bitcoin-clients programmers to try and make this some kind of a standard ?

greetz,


Title: Re: MultiBit
Post by: jim618 on January 04, 2012, 07:54:23 PM
Thanks for the donation !

RE: your questions.

1) Yes - it will be in the 0.3.0 release.  

2) You can change any of the information (address, label, amount) once the bitcoin link has been read and entered into the Send form.   It works similar to how swatches (or bitcoin link text) are pasted into the form.   You could have an intermediate/ interstitial form where the user can change the amount (or anything else) but there isn't really a need to do that as you can change it on the form.  

You can also omit the amount (i.e. have a swatch/ link with just the label and address) if you prefer to leave it out.


3) The format of the link is identical to bitcoin URIs and is pretty standard.  I think all the clients - including the mobile ones - all use the same format for address/ amount/ label.    Once we sort out any bugs with how the protocol handlers work I am going to write a Google doc to make it easier for the other clients to support it.   I know the Satoshi client you can paste a text bitcoin URI onto it and it reads it and fills out the Send form.  To extend it to work for browser protocol handlers would be a bit of work but I am hoping with a bit of assistance from us that they will want to implement it.

Of course if all the bitcoin clients can read the same format it makes the job of website designers far easier as they just have the one bitcoin link format to put on their pages.


Title: Re: MultiBit
Post by: jim618 on January 06, 2012, 11:50:45 AM
I have started on the improvements to MultiBit for exporting and then re-importing private keys as that has been a popular request.   Please have a look at the wiki:

https://github.com/jim618/multibit/wiki/Export-and-limited-import-of-private-keys (https://github.com/jim618/multibit/wiki/Export-and-limited-import-of-private-keys)

Let me know if you have any comments.


Initially I am focusing on a flat file with all the private keys but once that is working I think I will extend it to a 'output a single key to swatch' approach.   I like freemoney's suggestion to add the date of first transaction to the key swatch to enable automatic update of a wallet from a key swatch. (With MultiBit you need the date of first transaction for the key so that you don't have to replay the *whole* 3 years of blockchain).

The format of the MultiBit key file is intentionally as simple as possible so that you could handcraft one if you want to import keys from the Satoshi client or wherever.

Edit: wiki updated significantly after discussion on bitcoinj mailing list


Title: Re: MultiBit
Post by: freemoney458 on January 07, 2012, 10:42:16 PM
Hi Jim,

after reading the wiki about the private key file, I still had one question.

Will the encryption of the private key file be optional?
If encryption is mandatory, your efforts to make it human editable are in vain.
So I guess, encryption will be optional or possible to activate after exporting / importing the keys.

Am I right?


Title: Re: MultiBit
Post by: damnek on January 08, 2012, 01:14:04 AM
This new version is awesome! I'm proud to have contributed a translation to such a revolutionary piece of software.

Two minor things that I noticed:
1) When I click on a URI while I already have MultiBit open, it will display the splash screen again. I think it would be better to skip that.
2) The input field for transaction fees is too small.

Good luck with your project!


Title: Re: MultiBit
Post by: jim618 on January 08, 2012, 06:47:42 PM
@freemoney - Yes you are right that the user needs to be able to export/ import plain text files.

On the 'export keys' screen, I plan to have a radio button so that when the user does the private key export they can choose from
  o  Do not password protect key file.
  o  Password protect key file.
          Password           ___________
          Repeat password ___________

          <Show strength of password>

If they choose 'Do not password protect key file' I will put up a nag message saying that they really need to keep their keys safe!

Similarly on 'import keys' users will be able to import a plain text file or a password protected key file.



@damnek
Well thank you for your translation work!   MultiBit is gradually becoming more useful as each piece of functionality goes in.

RE: Splash screen.   Yes - The splash screen is intrusive so I will get rid of it when you already have MultiBit open.
RE: Transaction fee field width.   I will fix the width of this field.   I presume that is on either Windows ot Linux as I have not seen it on the Mac.



Title: Re: MultiBit
Post by: jim618 on January 13, 2012, 09:35:38 PM
I have been doing some tidying up this week on MultiBit so that:

+ You can specify what you want to happen when bitcoin links are clicked in a browser.
+ You can change the font and point size of the application (useful for bigger screens and to get the best-looking font for your language).

Here are a couple of screen shots in the rather jaunty Ubuntu Purisa font:

http://multibit.org/postImages/ubuntu-receive-purisa.png (http://multibit.org/postImages/ubuntu-receive-purisa.png)
http://multibit.org/postImages/ubuntu-preferences-purisa.png (http://multibit.org/postImages/ubuntu-preferences-purisa.png)

(Of course you can have more sober fonts if you want . . .)

There is also one level of undo on the Preferences screen for if you accidentally choose Chinese or Russian and then realise you cannot read those languages.  Just press 'Undo last changes'.  (The undo button lags in changing language+font so you can still read it)


There are also various minor UI tidy ups e.g fix of transaction fee field width on Linux, ENTER commits wallet description change etc.
Everything will appear in a beta release which will be Sunday/Monday or so.




Title: Re: MultiBit
Post by: conspirosphere.tk on January 13, 2012, 09:49:05 PM
Any way to import a wallet from the official client in Multibit?


Title: Re: MultiBit
Post by: jim618 on January 13, 2012, 09:56:58 PM
The next piece of work I am going to do (as in start next week) is to do export/ import of private keys.

It is primarily so that you can get your private keys out of MultiBit for backup but you will also be able to get other keys in (with a bit handcrafting of an ASCII file).

It won't be a seamless import of the wallet.dat or anything but is the start of opening things up.
It will also mean you will be able to start swopping private keys in and out of MultiBit and things like a blockchain.info wallet etc.


Title: Re: MultiBit
Post by: jim618 on January 15, 2012, 04:11:04 PM
There is a new release of MultiBit available at:

http://multibit.org (http://multibit.org)


Enhancements
+  Bitcoin protocol handler registered and calls dealt with
    (i.e. can now click on bitcoin links in browser and MultiBit opens)
+  Can now specify font and point size for application

Bug fixes
+  Issue 4 - Can now press enter to navigate out of wallet description
+  Transaction fee field width fixed for Linux


Title: Re: MultiBit
Post by: jim618 on January 17, 2012, 08:10:05 PM
I just wanted to mention that Gary Rowe has been doing some sterling behind the scenes work and there is now a MultiBit continuous integration machine.

It is actually the main bitcoinj machine but he has added builds for:
+ MultiBit
+ MultiBitMerchant

It is at:
   http://ci.bitcoinj.org (http://ci.bitcoinj.org)

There is all sorts of interesting information available, including:
+ what commits have gone in, with their comments
+ if you want to try the bleeding edge code, there is a Modules directory for each project with the build artifacts.


For instance, MultiBit is currently building 0.3.0beta2 (not yet released to the public) and the build artifacts are at:
   http://ci.bitcoinj.org/job/MultiBit-v0.3/org.multibit$multibit/ (http://ci.bitcoinj.org/job/MultiBit-v0.3/org.multibit$multibit/)

The multibit-0.3.0-beta2-exe.jar there is a work-in-progress version of what eventually gets packaged up into the installer, DMG etc and can be run with:
   java -jar multibit-0.3.0-beta2-exe.jar

Note "bleeding edge" means :
"This code is built automatically whenever someone checks in their code changes.  
It may very well explode dramatically with blobs of molten aluminium flying out the screen".  

I exaggerate for effect but I hope it is clear what this means.   :-)


Title: Verifying client? Re: MultiBit
Post by: HanSolo on January 19, 2012, 03:33:40 AM
Does Multibit independently verify the transactions of every block it accepts?

(I thought BitcoinJ, on which Multibit is based, needed to be attached to a trusted full node... wondering if Multibit shares or works around that limitation.)


Title: Re: MultiBit
Post by: jim618 on January 19, 2012, 11:02:54 AM
Hi HanSolo,

You are correct, MultiBit uses bitcoinj for its access to the bitcoin network.   By default, on startup it connects to 4 peers that are found by a DNS lookup.   The peers will be full miner nodes.

MultiBit/ bitcoinj does basic syntactic checking of the blocks but the main protection from malicious blocks are the multiple peers and the blockchain itself.   It does not recalculate that the nonce is valid. The nonce is checked to be below the difficulty (as specified by this and preceeding blocks).

Imagine a situation where an instance of MultiBit is connected to honest nodes A, B, C and a malicious node M.
M can send it a syntactically valid block with a valid nonce containing, well, lies and MultiBit will initially accept the block and add it to its local copy of the blockchain.
When any of A, B, C send it an honest block it will then fork its local copy of the blockchain and maintain the two forks until the next block.
Assuming M cannot solve for blocks faster than the rest of the network then when the next honest block appears MultiBit will add the block onto the honest chain which then becomes the main chain.   It will then do a reorg and discard anything in the malicious block.

From the users point of view, they would see (unbeknown to them) malicious transactions with one confirm, which would then disappear when the honest fork reasserted itself.

Other more difficult attacks to pull off:
If an attacker could get a copy of MultiBit to connect to 4 malicious nodes it would be able to get its lies accepted as it would be able to convince MultiBit that its malicious version of the blockchain was the real thing.    I think that would involve either control of the DNS seed hosts or packet level control of the network the MultiBit is connected to.

(Note: for completeness I should add: you can actually get MultiBit to connect to a single node if you want - parameter 'singleNodeConnection=<machine name | IP address>' but obviously you want to either control that miner node or have some other reason to trust it)


Title: Re: MultiBit
Post by: bitcoinspot.nl on January 19, 2012, 02:10:20 PM
Maybe offtopic, but i want to request some extra options :) If this is not the place, please let me know.

I want to use multibit in a local shop and i would really like to:
a: have the option to enter an email-address and email the qrcode and text to the email-address on the click of a button
b: have the option to show the swatch in fullscreen (or just enlarged)

i made a little artistic impression of how it could look like - http://www.bitcoinspot.nl/tmp/swatch.jpg (http://www.bitcoinspot.nl/tmp/swatch.jpg)

Some extra options that would also be great:
a: Have the option to click something like a "create transaction" button so that:
- a new address is created automatically
-  i can monitor my open transactions, not just the running or completed.
b: Have the option to run miltibit on a central computer and access multibit trough a web-interface.
  (so that i can run it on my server and let my staff run around with i-pad's or smartphones)

Ok thats it for now

thanks for the good work!



Title: Re: MultiBit
Post by: jim618 on January 19, 2012, 07:10:50 PM
We now have a Hungarian translation of MultiBit.
Thanks to Gábriel Németh of http://bitcoin.hu (http://bitcoin.hu) for the translation.

Screen shot:
http://multibit.org/postImages/hungarian.png (http://multibit.org/postImages/hungarian.png)

This will appear in the next beta, which should be Sunday or Monday.


I have also tweaked the multibit.org website so that in the 'Features' bar it links directly to the http://translate.multibit.org (http://translate.multibit.org) site for the languages.


Title: Re: MultiBit
Post by: jim618 on January 19, 2012, 07:30:54 PM
@bitcoinspot.nl

Thanks for your post - yes putting feature requests here is good.   I am interested in seeing what people feel would be useful functionality to add.

I was planning to rework the 'swatch panel' a bit I must admit to make it a bit more flexible.
One of the things I was going to do was have a little combo box so that the user could choose:

Display as: swatch
                QR code
                <other options>

If they chose 'QR code' the QR code would fill the whole of the panel.
With something like your "make big" button that would then be big enough for a customer to scan with their phone.

I like your idea to be able to email of the swatch + text to someone from within MultiBit.   There would be more configuration to set up but it would be a nice feature yes.   

I did not quite understand your 'create transaction' button.   In what way would that be different from the 'Create address' button ?   (I just do not understand what your particular usage is).

RE: MultiBit as a web server.   It is a good idea but another team member - Gary Rowe - is busy behind the scenes creating MultiBitMerchant, which will be our web offering with a catalog, shopping cart etc.    Rather than duplicating effort in adding web capability to MultiBit I think it will be MultiBitMerchant that you will be looking at in the future.

That will be very interesting to see how your experience with bitcoins in a local shop progresses.   Make sure you let everyone know what happens!


Title: Re: MultiBit
Post by: bitcoinspot.nl on January 20, 2012, 09:24:45 AM
What i mean with the create transaction button is the following:

currently, If you check the main screen with the transactions you can see the transactions that are running (that are waiting to get the needed amount of confirmations). What i would like to see is that you create a transaction, that automatically generates a new address (so that you dont have to do it yourself) and lets you see the transaction in the transaction screen, even if the sender did not send the bitcoins yet. So you see the transactions that are waiting to get paid.

See what i mean?

Roland.


Title: Re: MultiBit
Post by: jim618 on January 20, 2012, 12:16:39 PM
Yes - I see what you mean.

It is "I am expecting to be paid this amount to this address" and that it should appear in the list of transactions.

I will have a think about what it would mean to implement it (It would mean different data structures behind the scenes).

I can see how useful it would be in a retail environment.


Title: Re: MultiBit
Post by: bitcoinspot.nl on January 22, 2012, 10:32:53 AM
Yeah its proparbly more of a feature for the retail-thing :)


Title: Re: MultiBit
Post by: jim618 on January 23, 2012, 04:18:50 PM
There is a new release of MultiBit at:

http://multibit.org (http://multibit.org)

Version 0.3.0Beta2
Enhancements
+  Includes fix for February 20th 2012 Bitcoin network change
+  Hungarian added
+  Initial version of private key export and reimport available
+  'Reset blockchain and transactions' moved to Tools menu

The private key export and reimport code is a bit 'young' yet and needs various improvements (such as password protection). I wanted to put the code out though as people might want to experiment with it.

The dialogs for the private key import and export have already been localised into German and Spanish by freemoney, which is pretty amazing as I only uploaded them at 9pm last night !



Title: Re: MultiBit
Post by: jim618 on January 24, 2012, 11:12:44 PM
I have been having a bit of fun tonight seeing if I could get a MultiBit wallet and a http://blockchain.info (http://blockchain.info) wallet to both contain the same private keys.  

The idea is that with the same private keys they should both see the same spends and receives of bitcoin together in realtime.  The two wallets should both change in lockstep.

It works !

The trick is to create the wallet first in MultiBit, export the key(s) and then import the keys into your blockchain.info wallet.   You also want to delete any other keys in your blockchain.info wallet - obviously move the bitcoin on those keys out before you delete them.

Here are two screen shots with the same transactions appearing in the two user interfaces:

The BTC and transactions in MultiBit:
http://multibit.org/postImages/multiBitBlockChain.png (http://multibit.org/postImages/multiBitBlockChain.png)

And the same in blockchain.info:
http://multibit.org/postImages/blockChain.png (http://multibit.org/postImages/blockChain.png)

Neat!


Title: Re: MultiBit
Post by: HanSolo on January 28, 2012, 08:02:15 AM
I vaguely recall last year, playing with BitcoinJ, being concerned it could have problems accurately accounting for spending transactions involving its keys that hadn't been locally initiated. I don't recall all the details, something about assuming they'd already be in a pending mode, awaiting appearance in the blockchain. (It may have also have involved the situation where all the Outputs of a previous transaction belonged to its local keys, but the new transaction only used one of those Outputs. It seemed to forget the whole transaction in that case.)

I haven't been following the BitcoinJ development close enough to know if this has been fixed.

Are you confident that in your same-keys-in-two-wallets case, the BitcoinJ code properly recognizes spends from elsewhere, including cases where only some of several Outputs in the same prior transaction are spent?

Totally separate Multibit question: does it have any sort of web/RPC interface like the Satoshi client?


Title: Re: MultiBit
Post by: jim618 on January 29, 2012, 03:08:35 PM
Hi HanSolo,

Thanks for pointing out that scenario. To be honest the various scenarios of duplicate keys needs much more testing before it is generally usable. For instance I notice with the current MultiBit code if you have the same key in multiple MultiBit wallets zero-confirm spend transactions do not appear in the 'other' wallet - only when the block appears does the transaction get in.

I imagine the code in other wallet providers will need work on them too for the scenario of a spend transaction for one of their wallet's keys that comes in from the bitcoin network. I would not rely on this functionality for your production systems yet.

Re: opening up MultiBit. At the moment the only interface out of MultiBit is to the Satoshi clients. We have started some preliminary work on connections between MultiBit and the exchanges and there is also the sister project of adding Open Transactions into a MultiBit code fork.

Gary Rowe has been working in a project called MultiBitMerchant which will be our web offering with a catalog etc.

Mainly because MultiBit will be an 'end user' system with, eventually, a keystore of the various private keys and credentials to connect to other systems I was not planning to add a programmatic interface to MultiBit itself. The main reason for this is from the security perspective. It is to minimise the attack surface.

Now that there are bots searching for and attacking bitcoind RPC interfaces that people open too wide it seems prudent for a end user client like MultiBit to keep it's attack surface as small as possible.

If someone has something they want to implement that was more 'server-ey' based and use the MultiBit code as a basis I have no problem with that. Just so long as they brand it as something other than MultiBit and spend the time and effort on securing their APIs.



Title: Re: MultiBit
Post by: jim618 on January 29, 2012, 06:00:41 PM
A thorough article by Amir Taaki about MultiBit with embedded YouTube of the EuroBit MultiBit presentation:
http://bitcoinmedia.com/eurobit-jim-burton-multibit/ (http://bitcoinmedia.com/eurobit-jim-burton-multibit/)

Added since November is the ability to click on a link in a browser which simplifies website purchases.


Title: Re: MultiBit
Post by: film2240 on January 29, 2012, 07:14:31 PM
Bug feedback:
On my MBP,when the Multibit app is open but the battery runs out (loss of power on computer event),I lost my Bitcoins in this app.I only lost 0.009 BTC (so not much but still concerning).I think that a more rigid fail safe system needs to be implemented to guard against loss of power (auto ghost copies of the wallet file on different areas on HDD.I hope that this system would like clone the main wallet,then unload the main wallet and run everything from hte ghost copy so that if the ghost copy is corrupted by loss of power,it can recreate another working copy from a known good wallet file and the cycle repeats as much as needed).

I'm running Multibit 0.30 Snapshot version.Implement a recovery system that can detect a loss of BTC (corruption) then offer a step to restore the BTC (unspent BTC being lost).


Title: Re: MultiBit
Post by: jim618 on January 29, 2012, 07:30:19 PM
Hi film2240,

Sorry to hear about your MultiBit problems when you lose battery power on your MBP.

Depending on exactly what happened you may be able to recover your bitcoins by following the steps in:
http://multibit.org/help_troubleshooting.html (http://multibit.org/help_troubleshooting.html)

In the section headed :
'how to fix transactions that never confirm'

This resyncs your MutiBit wallet with what is in the blockchain.
Please can you let me know if this works or not.

I will also put your experience in as a bug in the bug system in github so that I improve MultiBit's behaviour in this area.


Title: Re: MultiBit
Post by: film2240 on January 29, 2012, 07:47:58 PM
Hi film2240,

Sorry to hear about your MultiBit problems when you lose battery power on your MBP.

Depending on exactly what happened you may be able to recover your bitcoins by following the steps in:
http://multibit.org/help_troubleshooting.html (http://multibit.org/help_troubleshooting.html)

In the section headed :
'how to fix transactions that never confirm'

This resyncs your MutiBit wallet with what is in the blockchain.
Please can you let me know if this works or not.

I will also put your experience in as a bug in the bug system in github so that I improve MultiBit's behaviour in this area.

Good news Jim.I've tested this and I can report success with this.Turned out I had 0.0342BTC (as 0.02BTC was sent to non working address and 0.009 was 'lost' when MBP battery lost power).

This is a very nice app for me.Just gotta work out those bugs.I feel that bugs like that are important to fix as they can affect laptop users (PC+mac) as they are most likely used on battery and when loss of power occurs (battery runs down) and the file doesn't save or no backup is made,info can be lost.


Title: Re: MultiBit
Post by: jim618 on January 29, 2012, 08:22:29 PM
Good to hear you have your BTC back.

Yes - agreed that MultiBit's behaviour needs improving here.


Title: Re: MultiBit
Post by: molecular on February 01, 2012, 05:01:12 PM
Jim Burtons talk at the bitcoin conference in Prague (for those who missed the post elsewhere)

https://bitcointalk.org/index.php?topic=62176.0

(other eurobit talks listed here: https://bitcointalk.org/index.php?topic=40272.msg725830#msg725830)


Title: Re: MultiBit
Post by: Cobra on February 03, 2012, 03:51:42 PM
I was wondering if anyone has got MultiBit running on a G4 PPC Mac with OS 10.4.11?  OS is fully updated with Java SE 1.5, and it said 1.6 was required for MultiBit.  It looks like Apple never released this for PPC and when going to Java download they direct you to use software update on the Mac. I have read how to get this going through terminal but cant find the disk image anywhere "Java SE 6.0 Release 1 DP6".

The system requirements say 10.3 or greater but I assume it could mean an Intel mac only. Can someone confirm this?

Thanks


Title: Re: MultiBit
Post by: jim618 on February 04, 2012, 09:18:39 PM
Hi Cobra,
There are a few things that Multibit uses that are specific to Java 1.6 so that is the minimum JVM specified.

The list if what was in Java 1.6 is here:
http://www.oracle.com/technetwork/java/javase/features-141434.html

The drag and drop was improved in 1.6 and file locks I think were made more reliable.
The integration with the system look and feel was improved in 1.6. - this improves the screen redraws.

Jim



Title: Re: MultiBit
Post by: Cobra on February 06, 2012, 01:06:30 AM
Hi Cobra,
There are a few things that Multibit uses that are specific to Java 1.6 so that is the minimum JVM specified.

The list if what was in Java 1.6 is here:
http://www.oracle.com/technetwork/java/javase/features-141434.html

The drag and drop was improved in 1.6 and file locks I think were made more reliable.
The integration with the system look and feel was improved in 1.6. - this improves the screen redraws.

Jim



Thanks Jim. I had hoped someone had a similar setup. I am having difficulty getting Java 1.6 installed in this configuration. It looks like the standard client needs this Java version as well. I may not be able to use this old Mac as a dedicated wallet.


Title: Re: MultiBit
Post by: FreeMoney on February 09, 2012, 04:28:24 AM
A customer has a tx that seems to not be broadcasting. How does Multibit handle this? Will it go eventually? Should he reload... what? And try again?


Title: Re: MultiBit
Post by: jim618 on February 09, 2012, 01:33:23 PM
Hello FreeMoney,

At the moment the version of bitcoinj MultiBit uses does not rebroadcast. The best thing for your customer to do is:
1) Do a 'reset blockchain and transactions'. (This menu option is now in the 'Tools' menu). This will sync the wallet to what is on the blockchain. I.e. the untransmitted transaction will disappear.
2) Send the transaction again.

I always leave MultiBit open until the first confirmation comes in but that is not strictly necessary.

The version of bitcoinj that MultiBit is using is now a bit out of date and I know they have made various improvements to the peer functionality. I expect to be updating this in the next couple of weeks so this should improve things.


Title: Re: MultiBit
Post by: jim618 on February 09, 2012, 06:57:01 PM
I thought you would be interested in some future MultiBit development work we are starting up.

Tim Molter is a Java developer who is writing a library to integrate with the various bitcoin exchanges.
You can get more details of his project here:

https://github.com/timmolter/XChange/wiki/Milestones (https://github.com/timmolter/XChange/wiki/Milestones)
https://github.com/timmolter/XChange/wiki/Exchange-support (https://github.com/timmolter/XChange/wiki/Exchange-support)


We are planning to use XChange in both MultiBit and MultiBitMerchant, initially to get exchange rate data but later on to provide deeper integration with the exchanges.   (We are still working out what we can and cannot do).

It will be a while before it appears fully productised in MultiBit / MultiBitMerchant but it is very interesting work.



Title: Re: MultiBit
Post by: FreeMoney on February 10, 2012, 04:56:12 PM
Hello FreeMoney,

At the moment the version of bitcoinj MultiBit uses does not rebroadcast. The best thing for your customer to do is:
1) Do a 'reset blockchain and transactions'. (This menu option is now in the 'Tools' menu). This will sync the wallet to what is on the blockchain. I.e. the untransmitted transaction will disappear.
2) Send the transaction again.

I always leave MultiBit open until the first confirmation comes in but that is not strictly necessary.

The version of bitcoinj that MultiBit is using is now a bit out of date and I know they have made various improvements to the peer functionality. I expect to be updating this in the next couple of weeks so this should improve things.

Thanks.


Title: Re: MultiBit
Post by: bitcoinspot.nl on February 15, 2012, 08:21:15 AM
Hi there!

A little while ago i posted a message regarding a few wishes i had for multibit. I love the client a lot but would like to see a few extra options so that it can be used in a retail-setting.

- the option to show a qrcode of the adress in full-screen
- the option to add a email-adress to a transaction to send a payment request

Did you have time to look further into these ?

p.s.
Will the other clients be using the bitcoin-browser integration soon ?


Title: Re: MultiBit
Post by: jim618 on February 15, 2012, 12:48:36 PM
Hi bitcoinspot.nl,

Thanks for your feedback on MultiBit and suggestions.   I have had a think as to implementing them:

Bigger QR code
I have put the 'show QR code bigger' functionality into the UI rework I plan to do for the 0.3 release.
The document with all the UI rework is here:

https://docs.google.com/document/d/1eJ-vKf6yc5tLuvzKPJDiSwKzHophVYXH0rPfhpIUzq8/edit?hl=en_GB&pli=1 (https://docs.google.com/document/d/1eJ-vKf6yc5tLuvzKPJDiSwKzHophVYXH0rPfhpIUzq8/edit?hl=en_GB&pli=1)

Email support
I have had a think about the emailing of transaction details.   It would be possible to add in configuration data for a link to an SMTP server (this is a standard email server type that most non-web email clients connect to).   It would then be possible to have a set up with:

1) Whenever you send bitcoins have the option to add in a recipient email address so that they get a message something like:
    "You have received X bitcoins to address Y.   The label was 'Z'.

   There would have to be a template file for the format of the email for it to be useful and localisable.
   You would probably want to CC yourself in too.

   This would be like the PayPal 'You have received funds' email you get.

2) Even when no recipient email was specified you could CC yourself for your own records.

This would give a "funds sent' email.

Tracking transactions
You also mentioned earlier keeping track of 'transactions not yet paid for' (Invoices).  This is much more work as currently there is no database backing MultiBit.   Transactions are only the basic transactions stored in the bitcoinj wallet.   To start tracking transactions for which there is no bitcoin transactions means adding a backing db.   I can see this coming but it is a big chunk of work - I am hoping I will be able to reuse the work Gary Rowe is doing on MultiBitMerchant when he completes this as it is similiar.

Order of work : What I am currently working on
I have put your email support suggestion into the proposed list of work for MultiBit 0.4.   The list of what work is in which version is here:
https://github.com/jim618/multibit/wiki (https://github.com/jim618/multibit/wiki)

Currently I am doing some maintenance work and then will be making a push on having encrypted private key files and encrypting the wallets themselves.   After that I will be working on the UI refresh and basic exchange integration using Tim Molter's XChange library (the two are a bit entwined).   The 'show QR code bigger' functionality I will add in then.

That will be, more or less, everything in the 0.3 release so I will then get that out and start bug fixing.

After that I will start on the more detailed 0.4 use cases - including your email support requests - so I will probably ask for more details (or ask for you to review the use cases) at that point.

Also parallel to this is the Open Transactions fork of MultiBit in which they have added OT functionality.   I am planning to have a look at what they have done when I do the UI refresh/ basic exchange integration to see if this can be 'folded in' to the UI/ code.   This is a bit experimental at this stage so I have not put it explicitly in the deliverables.  



Title: Re: MultiBit
Post by: jim618 on February 15, 2012, 12:57:40 PM
Sorry - forgot your PS about bitcoin URI support.

I know Electrum has added support for bitcoin links (that you can click in a browser and the details get put into the bitcoin client).
The Satoshi client and Armory I do not know if they are supporting it/ what their plans are.

There are also a couple of upgrades to the bitcoin URI format in the works.

One is a better, more future proof, format specified here:

https://en.bitcoin.it/wiki/BIP_0021 (https://en.bitcoin.it/wiki/BIP_0021)

Gary Rowe has just coded this up in Java and I am currently putting it into MultiBit.   The code we are donating to bitcoinj so that other bitcoinj clients will be able to use it.
ThomasV was the driver for this format so I am pretty sure Electrum will be supporting this (if he has not already).

ThomasV has also created the idea of email aliases and signed URIs, which is already in Electrum 0.38 and is described here:
http://bitcoinmedia.com/electrum-0-38-aliases-and-signed-uris/ (http://bitcoinmedia.com/electrum-0-38-aliases-and-signed-uris/)

I think aliases and signed uris are great and think that both MultiBitMerchant and MultiBit should support them.   Actually coding it up I am not sure when we will do it as both Gary and I are pretty much 'full' workwise at the moment.



Title: Re: MultiBit
Post by: jim618 on February 15, 2012, 01:16:47 PM
Also, I have been looking into getting some custom USB drives made with the MultiBit logo/ site URL on and preloading them with:

+ the MultiBit executable
+ Java runtimes for Windows + Linux (Macs always have one).

This would mean you could have a 'secure stash' for your bitcoins where you could plug in your 'MultiBit USB drive' into ANY Windows/ Mac/ Linux machine to access your bitcoins.   Your wallets would be stored on the USB drive.
When you are not accessing them you just store them wherever you store your passports/ family jewelry.

Our current prefered model is this one:
http://www.usb-flashdrive.co.uk/usb-flash-drives/twister-drive-1 (http://www.usb-flashdrive.co.uk/usb-flash-drives/twister-drive-1)


For backup, you will be able to export your wallets' private keys and put them somewhere safe.
For security this would only make sense when both the MultiBit private key export files and wallets are both encrypted hence the push on that.

We will be offering these for sale to the general public at pretty close to cost price.   It feels like a good way to get the word out about bitcoin.


Title: Re: MultiBit
Post by: freemoney458 on February 15, 2012, 02:23:10 PM
I thought you would be interested in some future MultiBit development work we are starting up.

Tim Molter is a Java developer who is writing a library to integrate with the various bitcoin exchanges.
You can get more details of his project here:

https://github.com/timmolter/XChange/wiki/Milestones (https://github.com/timmolter/XChange/wiki/Milestones)
https://github.com/timmolter/XChange/wiki/Exchange-support (https://github.com/timmolter/XChange/wiki/Exchange-support)


We are planning to use XChange in both MultiBit and MultiBitMerchant, initially to get exchange rate data but later on to provide deeper integration with the exchanges.   (We are still working out what we can and cannot do).

It will be a while before it appears fully productised in MultiBit / MultiBitMerchant but it is very interesting work.


Hi Jim,

I appreciate that you plan to integrate an interface to bitcoin exchanges.
I think it will really help to improve the usability of any bitcoin client for a broader audience.

However, I think it is not enough to only integrate an interface to centralized exchanges for two reasons.
1. The recent events around Paxum and Tradehill show the vulnerabiltiy of bitcoin and of centralized exchanges.
    The experience of the Tradehill customers having to find another exchange is not acceptable for a broader audience, but only for enthusiasts.
2. Even having to sign up and to mantain an account at an exchange is an effort that many people will not like.

I thought a bit about decentralized exchanges and how to integrate them into bitcoin clients, you can find it here:
https://bitcointalk.org/index.php?topic=45751.msg746894#msg746894

So here is my conclusion:
An interface for some basic exchange function support should be added to bitcoin clients.
The interface should offer the possibility that the bitcoin client interacts with centralized and with decentralized exchanges.
Ideally, the buying and selling of bitcoins runs automated in the background without the need of a user interaction.
There is no need to integrate everything in the client, this can be done with a brokerage client which interfaces with the bitcoin client.

The interface to the brokerage client would need such functions as:
-Inform about the bitcoin balance in a wallet (this would allow automated brokerage whenever the amount of bitcoins in the wallet reaches lower or upper limits)
-Inform about Buy/Sell orders of the user (assuming that the user initiates such orders in the client)
-Payment of bitcoin through the client to a bitcoin buyer in the case that the user want to sell bitcoins
-Inform about bitcoin receiving address generated in the client in the case that the user want to buy bitcoins
-Inform about received bitcoins in the case that the user wants to buy bitcoins
-The whole interface to the brokerage client needs to be encrypted for security reasons

Do you know if this will be possible with Tim Molters work or with the OT fork of MultiBit?




Title: Re: MultiBit
Post by: jim618 on February 15, 2012, 03:42:46 PM
Hi freemoney,

I think we are both thinking along the same lines.
I would love for there to be decentralised exchanges in bitcoin but I do not think we are anywhere near there yet.

Initially the MultiBit exchange integration will be quite shallow (probably just getting exchange rates initially just to get the plumbing working) but I would like to deepen it over time to have the buy and sell orders etc.

I figure if I/ the bitcoin community collectively can get it to work for centralised exchanges then we are one step nearer decentralised exchanges.

I think the most difficult area is the contact point with the 'World of Fiat'.  In your linked example you mention DarkExchange and a Germany specific account link.  I am hoping that experience from integrating a few exchanges and OT will give us a workable interface that gives most functionality that is required (as an interface i.e. there will be limited implementations)

At that point it might be practical to have Country/ Fiat providers specific plugins.   The XChange code is open source and whilst we are concentrating on the Java implementation it is not actually language specific.   That would be the place for Country/ Fiat provider plugins to go (and hence they would not be MultiBit specific and available to all).

One step at a time here I think !

:-)

p.s. If anyone is interested in actually DOING an open source country/ fiat provider specific plugin let me know.






Title: Re: MultiBit
Post by: garyrowe on February 15, 2012, 04:26:17 PM
Quote
The interface to the brokerage client would need such functions as:
-Inform about the bitcoin balance in a wallet (this would allow automated brokerage whenever the amount of bitcoins in the wallet reaches lower or upper limits)
-Inform about Buy/Sell orders of the user (assuming that the user initiates such orders in the client)
-Payment of bitcoin through the client to a bitcoin buyer in the case that the user want to sell bitcoins
-Inform about bitcoin receiving address generated in the client in the case that the user want to buy bitcoins
-Inform about received bitcoins in the case that the user wants to buy bitcoins
-The whole interface to the brokerage client needs to be encrypted for security reasons

Without hijacking the Multibit thread, I'd just like to clarify the purpose of the XChange project.

It's intended to act as a common API for any exchange (Bitcoin, fiat, centralised, distributed etc) so that applications can easily use any of them, in combination if required. To that end pretty much all of the above functions are going to be supported. For all operations, a brokerage is considered to be the same as an exchange.

When it comes to depositing fiat into the exchange there is a potential issue. XChange won't support this directly (it's not a payment gateway for MasterCard for example) but it would facilitate instructing the exchange to make, say, an authorised debit against a registered bank account if the exchange supported that through it's API.

As mentioned, XChange is Java only at the moment, but if anyone wants to start up a sister project, or work within the same repo, using a different language then they are certainly welcome. Just PM me for more details.

Finally, by providing a standard API XChange may be able to assist developers of new exchanges by showing them what needs to be available and how to implement it securely, and have a suitable test client all ready to go so they can verify that it all works as intended.


Title: Re: MultiBit
Post by: freemoney458 on February 15, 2012, 09:25:04 PM
Hi Jim and Gary,

thank you for clarifiying the aim of the XChange project and for clarifying the roadmap as you see it for the future of exchange integration.

It is really nice to see that we are thinking along the same lines.
I did not want to sound impatient, I can imagine how much work you already put into it and how much work it still will be.
So: Thank you again for all the work and enthusiasm you are putting into this.

I hope that the other clients and the exchanges will incorporate the XChange API.


Title: Re: MultiBit
Post by: jim618 on February 15, 2012, 09:36:50 PM
Hi freemoney,

Yes - it will be an interesting Spring and Summer if we can program it all up !

:-)




On a completely different note:

piuk - the author of the blockchain.info wallet - has introduced the ability to import the MultiBit key export files in their entirety into the blockchain.info wallet.

The option is in the 'Import/ Export' tab in the 'Import Wallet' section.
You just paste in the whole contents of a MultiBit key export file in the text box and hit 'Import Wallet'.

A couple of times when I have done it I had to close the browser tab, open a new one and relog in to my wallet to get it to refresh (I have mentioned this to piuk) but apart from that it seems to work well.   MultiBit does not see the zero-confirmation sends if you send from the blockchain.info wallet but it picks up the block confirmation (I will look into this).

It is like having a 'live backup' of a MultiBit wallet in blockchain.info and vice versa.





Title: Re: MultiBit
Post by: bitcoinspot.nl on February 16, 2012, 07:31:09 AM
Hi!

Thanks for incorporating my suggestions in the client, i really appreciate it!
one note though:

I though of the email feature more for payment-requests, not only for payment notifications.
The idea is that: if someone says "to which adress must i send the bitcoins" (e.g. in a restaurant or what have you) that you can say, "well let me just send you an email out of multibit which contains a swatch and bitcoin adress".

Like the notification option though :)

Greetings!


Title: Re: MultiBit
Post by: jim618 on February 16, 2012, 10:47:52 AM
Hi bitcoinspot.nl,

Glad to hear your suggestions - it gives me useful feedback as to where to direct my efforts.

RE: using email for payment requests.
One of the unfortunate limitations of the email practically everyone uses is that is it as insecure as sending someone a postcard written with a pencil.   Anybody who forwards it can read it and alter it. (Obviously not true with encrypted, signed email but this isn't widely used).

For payment requests it adds a whole number of security holes: For instance -
Scammer walks into your restaurant, eats a delicious meal and asks for the bitcoin address to pay to.
You email a payment request to him and (via his email server he has set up) swaps out YOUR bitcoin address for an address he controls.

His phone pings when you send the email and right in front of you he pays with the address in the email that looks like it came from you.
The bitcoin actually goes to an address he controls.

You will never see the bitcoin but it looks like he paid (and he can show you 'your' email with 'your' bitcoin address he just paid to).

ThomasV has added an experimental idea to have signed URIs so that you can tell the URI is genuine.   This (or something to improve the URI security in a similar way) would have to be added before vanilla email can be used safely for payment requests.


Title: Re: MultiBit
Post by: ThomasV on February 18, 2012, 06:03:15 AM
Hi bitcoinspot.nl,

Glad to hear your suggestions - it gives me useful feedback as to where to direct my efforts.

RE: using email for payment requests.
One of the unfortunate limitations of the email practically everyone uses is that is it as insecure as sending someone a postcard written with a pencil.   Anybody who forwards it can read it and alter it. (Obviously not true with encrypted, signed email but this isn't widely used).

For payment requests it adds a whole number of security holes: For instance -
Scammer walks into your restaurant, eats a delicious meal and asks for the bitcoin address to pay to.
You email a payment request to him and (via his email server he has set up) swaps out YOUR bitcoin address for an address he controls.

His phone pings when you send the email and right in front of you he pays with the address in the email that looks like it came from you.
The bitcoin actually goes to an address he controls.

You will never see the bitcoin but it looks like he paid (and he can show you 'your' email with 'your' bitcoin address he just paid to).

ThomasV has added an experimental idea to have signed URIs so that you can tell the URI is genuine.   This (or something to improve the URI security in a similar way) would have to be added before vanilla email can be used safely for payment requests.

Hi  Jim,

There are two parts to that proposal: signed URIs and aliases.
Aliases are similar to email addresses. Instead of handing out your bitcoin address to someone, you just give your alias to someone.
I think that such a possibility would vastly increase the usability and acceptance of Bitcoin.
There is some demand for it (see thewalletlist.com)

However, my current proposal relies on a trusted authority that signs the alias.
The trusted authority must never be hacked, and it must follow certain rules (it should never sign the same alias twice).
If the owner of the alias wants to update the alias, he has to create a chain of signatures.

I think that this proposal would be improved if we could store aliases in the blockchain. The blockchain is a secure way to authenticate ownership of an alias.
I guess we could use Bitcoin or Namecoin. The Namecoin blockchain has been designed to suit that need. To play with the idea, I created the following alias:
http://explorer.dot-bit.org/n/37310
As you can see, it points to a Bitcoin address.
In order to simplify wallet management, I guess the Namecoin address that is used and the Bitcoin address could be derived from the same private key.

Using the Bitcoin blockchain would be perhaps a bit more convenient and easy for both users and programmers. Since we do not need to store arbitrary key-value pairs (the value is a Bitcoin address), using Namecoin introduces unnecessary complexities. We could derive a Bitcoin address from an alias (using a hash, but not the same hash as if the alias was the private key :-) ), and send a satoshi to that address; this creates an alias. To update it, the address owning the alias would need to create a transaction that transfers the alias to another address, for example with two outputs: the alias and the new address.


Title: Re: MultiBit
Post by: m3ta on February 19, 2012, 05:40:23 AM
Code:
05:37:34.263 [AWT-EventQueue-0] ERROR c.g.bitcoin.core.TransactionOutput - Could not parse tx output script: com.google.bitcoin.core.ScriptException: Script not of right size to be a scriptPubKey, expecting 5 but got 1
05:37:34.263 [AWT-EventQueue-0] ERROR c.g.bitcoin.core.TransactionOutput - Could not parse tx output script: com.google.bitcoin.core.ScriptException: Script not of right size to be a scriptPubKey, expecting 5 but got 2
05:37:34.263 [AWT-EventQueue-0] ERROR c.g.bitcoin.core.TransactionOutput - Could not parse tx output script: com.google.bitcoin.core.ScriptException: Script not of right size to be a scriptPubKey, expecting 5 but got 1
05:37:34.264 [AWT-EventQueue-0] ERROR c.g.bitcoin.core.TransactionOutput - Could not parse tx output script: com.google.bitcoin.core.ScriptException: Script not of right size to be a scriptPubKey, expecting 5 but got 1
(2GB of logs like this)

Quote
3956 block(s) to download. This may take a while

And stuck.


Title: Re: MultiBit
Post by: jim618 on February 19, 2012, 12:17:20 PM
Hi m3ta,

I know Mike Hearn updated the bitcoinj library for the code throwing the error (TransactionOutput) to handle scripts it does not understand on February 10th.   This is not in the released MultiBit yet.

If you let me know the platform you are using (Windows, Mac, Linux) I will create you a build of the latest code for you to try out.   This code is not quite production release yet - I need to do some more testing on it and some bug fixes - but will establish whether the latest bitcoinj code fixes your problem.


Title: Re: MultiBit
Post by: fsb4000 on February 19, 2012, 12:47:35 PM
I had a strange bag today
Code:
2012-02-19 19:41:07,640 INFO  - PeerGroup                  - connecting to Peer(dnsseed.bluematt.me/213.216.77.143:8333)
2012-02-19 19:41:08,425 INFO  - NetworkConnection          - Connected to peer: version=40000, subVer='', services=0x1, time=Sun Feb 19 19:41:08 NOVT 2012, blocks=167511
2012-02-19 19:41:08,426 INFO  - Peer                       - blockChainDownload(0000000000000000000000000000000000000000000000000000000000000000)
2012-02-19 19:41:08,426 INFO  - PeerGroup                  - running Peer(dnsseed.bluematt.me/213.216.77.143:8333)
2012-02-19 19:41:08,426 ERROR - PeerGroup                  - error while talking to peer : class com.google.bitcoin.core.PeerException com.google.bitcoin.core.ProtocolException: Error deserializing message 73010000003766404f00000000b305434f00000000f2030000f1030000001027000048ee00000064000000004653656520626974636f696e2e6f72672f666562323020696620796f7520686176652074726f75626c6520636f6e6e656374696e67206166746572203230204665627275617279004730450221008389df45f0703f39ec8c1cc42c13810ffcae14995bb648340219e353b63b53eb022009ec65e1c1aaeec1fd334c6b684bde2b3f573060d5b70c3a46723326e4e8a4f1

2012-02-19 19:41:12,640 INFO  - PeerGroup                  - connecting to Peer(dnsseed.bluematt.me/193.107.204.107:8333)
2012-02-19 19:41:13,606 INFO  - NetworkConnection          - Connected to peer: version=32400, subVer='', services=0x1, time=Sun Feb 19 19:38:18 NOVT 2012, blocks=167511
2012-02-19 19:41:13,606 INFO  - Peer                       - blockChainDownload(0000000000000000000000000000000000000000000000000000000000000000)
2012-02-19 19:41:13,607 INFO  - PeerGroup                  - running Peer(dnsseed.bluematt.me/193.107.204.107:8333)
2012-02-19 19:41:13,607 ERROR - PeerGroup                  - error while talking to peer : class com.google.bitcoin.core.PeerException com.google.bitcoin.core.ProtocolException: Error deserializing message 73010000003766404f00000000b305434f00000000f2030000f1030000001027000048ee00000064000000004653656520626974636f696e2e6f72672f666562323020696620796f7520686176652074726f75626c6520636f6e6e656374696e67206166746572203230204665627275617279004730450221008389df45f0703f39ec8c1cc42c13810ffcae14995bb648340219e353b63b53eb022009ec65e1c1aaeec1fd334c6b684bde2b3f573060d5b70c3a46723326e4e8a4f1

2012-02-19 19:41:17,640 INFO  - PeerGroup                  - connecting to Peer(bitseed.xf2.org/173.255.194.34:8333)
2012-02-19 19:41:19,365 ERROR - PeerGroup                  - error while talking to peer : class com.google.bitcoin.core.PeerException java.net.ConnectException: Connection refused: connect
2012-02-19 19:41:22,641 INFO  - PeerGroup                  - connecting to Peer(bitseed.xf2.org/66.158.72.2:8333)
2012-02-19 19:41:25,056 ERROR - PeerGroup                  - error while talking to peer : class com.google.bitcoin.core.PeerException java.net.ConnectException: Connection refused: connect
2012-02-19 19:41:27,641 INFO  - PeerGroup                  - connecting to Peer(dnsseed.bluematt.me/184.73.208.210:8333)
2012-02-19 19:41:28,304 INFO  - NetworkConnection          - Connected to peer: version=50200, subVer='', services=0x1, time=Sun Feb 19 19:41:28 NOVT 2012, blocks=167511
2012-02-19 19:41:28,304 INFO  - Peer                       - blockChainDownload(0000000000000000000000000000000000000000000000000000000000000000)
2012-02-19 19:41:28,304 INFO  - PeerGroup                  - running Peer(dnsseed.bluematt.me/184.73.208.210:8333)
2012-02-19 19:41:28,304 ERROR - PeerGroup                  - error while talking to peer : class com.google.bitcoin.core.PeerException com.google.bitcoin.core.ProtocolException: Error deserializing message 73010000003766404f00000000b305434f00000000f2030000f1030000001027000048ee00000064000000004653656520626974636f696e2e6f72672f666562323020696620796f7520686176652074726f75626c6520636f6e6e656374696e67206166746572203230204665627275617279004730450221008389df45f0703f39ec8c1cc42c13810ffcae14995bb648340219e353b63b53eb022009ec65e1c1aaeec1fd334c6b684bde2b3f573060d5b70c3a46723326e4e8a4f1

Connecting.... Synchronising with network 735 blocks to download.
jim618 can give some version of me as well. System: Windows 7 x64 Home Premium


Title: Re: MultiBit
Post by: CrownCloud on February 19, 2012, 01:03:27 PM
I had a strange bag today
Code:
2012-02-19 19:41:07,640 INFO  - PeerGroup                  - connecting to Peer(dnsseed.bluematt.me/213.216.77.143:8333)
2012-02-19 19:41:08,425 INFO  - NetworkConnection          - Connected to peer: version=40000, subVer='', services=0x1, time=Sun Feb 19 19:41:08 NOVT 2012, blocks=167511
2012-02-19 19:41:08,426 INFO  - Peer                       - blockChainDownload(0000000000000000000000000000000000000000000000000000000000000000)
2012-02-19 19:41:08,426 INFO  - PeerGroup                  - running Peer(dnsseed.bluematt.me/213.216.77.143:8333)
2012-02-19 19:41:08,426 ERROR - PeerGroup                  - error while talking to peer : class com.google.bitcoin.core.PeerException com.google.bitcoin.core.ProtocolException: Error deserializing message 73010000003766404f00000000b305434f00000000f2030000f1030000001027000048ee00000064000000004653656520626974636f696e2e6f72672f666562323020696620796f7520686176652074726f75626c6520636f6e6e656374696e67206166746572203230204665627275617279004730450221008389df45f0703f39ec8c1cc42c13810ffcae14995bb648340219e353b63b53eb022009ec65e1c1aaeec1fd334c6b684bde2b3f573060d5b70c3a46723326e4e8a4f1

2012-02-19 19:41:12,640 INFO  - PeerGroup                  - connecting to Peer(dnsseed.bluematt.me/193.107.204.107:8333)
2012-02-19 19:41:13,606 INFO  - NetworkConnection          - Connected to peer: version=32400, subVer='', services=0x1, time=Sun Feb 19 19:38:18 NOVT 2012, blocks=167511
2012-02-19 19:41:13,606 INFO  - Peer                       - blockChainDownload(0000000000000000000000000000000000000000000000000000000000000000)
2012-02-19 19:41:13,607 INFO  - PeerGroup                  - running Peer(dnsseed.bluematt.me/193.107.204.107:8333)
2012-02-19 19:41:13,607 ERROR - PeerGroup                  - error while talking to peer : class com.google.bitcoin.core.PeerException com.google.bitcoin.core.ProtocolException: Error deserializing message 73010000003766404f00000000b305434f00000000f2030000f1030000001027000048ee00000064000000004653656520626974636f696e2e6f72672f666562323020696620796f7520686176652074726f75626c6520636f6e6e656374696e67206166746572203230204665627275617279004730450221008389df45f0703f39ec8c1cc42c13810ffcae14995bb648340219e353b63b53eb022009ec65e1c1aaeec1fd334c6b684bde2b3f573060d5b70c3a46723326e4e8a4f1

2012-02-19 19:41:17,640 INFO  - PeerGroup                  - connecting to Peer(bitseed.xf2.org/173.255.194.34:8333)
2012-02-19 19:41:19,365 ERROR - PeerGroup                  - error while talking to peer : class com.google.bitcoin.core.PeerException java.net.ConnectException: Connection refused: connect
2012-02-19 19:41:22,641 INFO  - PeerGroup                  - connecting to Peer(bitseed.xf2.org/66.158.72.2:8333)
2012-02-19 19:41:25,056 ERROR - PeerGroup                  - error while talking to peer : class com.google.bitcoin.core.PeerException java.net.ConnectException: Connection refused: connect
2012-02-19 19:41:27,641 INFO  - PeerGroup                  - connecting to Peer(dnsseed.bluematt.me/184.73.208.210:8333)
2012-02-19 19:41:28,304 INFO  - NetworkConnection          - Connected to peer: version=50200, subVer='', services=0x1, time=Sun Feb 19 19:41:28 NOVT 2012, blocks=167511
2012-02-19 19:41:28,304 INFO  - Peer                       - blockChainDownload(0000000000000000000000000000000000000000000000000000000000000000)
2012-02-19 19:41:28,304 INFO  - PeerGroup                  - running Peer(dnsseed.bluematt.me/184.73.208.210:8333)
2012-02-19 19:41:28,304 ERROR - PeerGroup                  - error while talking to peer : class com.google.bitcoin.core.PeerException com.google.bitcoin.core.ProtocolException: Error deserializing message 73010000003766404f00000000b305434f00000000f2030000f1030000001027000048ee00000064000000004653656520626974636f696e2e6f72672f666562323020696620796f7520686176652074726f75626c6520636f6e6e656374696e67206166746572203230204665627275617279004730450221008389df45f0703f39ec8c1cc42c13810ffcae14995bb648340219e353b63b53eb022009ec65e1c1aaeec1fd334c6b684bde2b3f573060d5b70c3a46723326e4e8a4f1

Connecting.... Synchronising with network 735 blocks to download.
jim618 can give some version of me as well. System: Windows 7 x64 Home Premium


I'm having a similar problem it says "Connecting"  203 Block(s) to download... :(


Title: Re: MultiBit
Post by: jim618 on February 19, 2012, 02:56:57 PM
Hi m3ta, fsb4000, speedbus,

RE: your connection problems today - I have built my current MultiBit codebase into a release 0.3.0beta3 and loaded it to github as follows:

Windows installer
https://github.com/downloads/jim618/multibit/multibit-0.3.0-beta3-windows.exe (https://github.com/downloads/jim618/multibit/multibit-0.3.0-beta3-windows.exe)

Mac DMG file
https://github.com/downloads/jim618/multibit/multibit-0.3.0-beta3.dmg (https://github.com/downloads/jim618/multibit/multibit-0.3.0-beta3.dmg)

Linux installer
https://github.com/downloads/jim618/multibit/multibit-0.3.0-beta3-linux.jar (https://github.com/downloads/jim618/multibit/multibit-0.3.0-beta3-linux.jar)


I have done a quick test on my Mac + virtual machines (Win XP, Ubuntu 10.4 LTS) and they all connect and download blocks ok. Please let me know if they connect and download blocks on your systems.

A couple of notes:
1) I was not planning to release this code just yet.   I know it has a bug in the private key import that I have not tracked down yet.
I expect I will do another release a bit later on this week once I have fixed it.

2) There is not much visually different with this release compared to the previous.   I have mainly been working on updating from an older version of bitcoinj (0.3) to the latest code (0.4-snapshot).  Oh - and having a holiday in Spain !


Title: Re: MultiBit
Post by: CrownCloud on February 19, 2012, 05:05:48 PM
Hi m3ta, fsb4000, speedbus,

RE: your connection problems today - I have built my current MultiBit codebase into a release 0.3.0beta3 and loaded it to github as follows:

Windows installer
https://github.com/downloads/jim618/multibit/multibit-0.3.0-beta3-windows.exe (https://github.com/downloads/jim618/multibit/multibit-0.3.0-beta3-windows.exe)

Mac DMG file
https://github.com/downloads/jim618/multibit/multibit-0.3.0-beta3.dmg (https://github.com/downloads/jim618/multibit/multibit-0.3.0-beta3.dmg)

Linux installer
https://github.com/downloads/jim618/multibit/multibit-0.3.0-beta3-linux.jar (https://github.com/downloads/jim618/multibit/multibit-0.3.0-beta3-linux.jar)


I have done a quick test on my Mac + virtual machines (Win XP, Ubuntu 10.4 LTS) and they all connect and download blocks ok. Please let me know if they connect and download blocks on your systems.

A couple of notes:
1) I was not planning to release this code just yet.   I know it has a bug in the private key import that I have not tracked down yet.
I expect I will do another release a bit later on this week once I have fixed it.

2) There is not much visually different with this release compared to the previous.   I have mainly been working on updating from an older version of bitcoinj (0.3) to the latest code (0.4-snapshot).  Oh - and having a holiday in Spain !

Thanks !! It works :D


Title: Re: MultiBit
Post by: fsb4000 on February 19, 2012, 07:23:23 PM
Hi m3ta, fsb4000, speedbus,

RE: your connection problems today - I have built my current MultiBit codebase into a release 0.3.0beta3 and loaded it to github as follows:

Windows installer
https://github.com/downloads/jim618/multibit/multibit-0.3.0-beta3-windows.exe (https://github.com/downloads/jim618/multibit/multibit-0.3.0-beta3-windows.exe)

Mac DMG file
https://github.com/downloads/jim618/multibit/multibit-0.3.0-beta3.dmg (https://github.com/downloads/jim618/multibit/multibit-0.3.0-beta3.dmg)

Linux installer
https://github.com/downloads/jim618/multibit/multibit-0.3.0-beta3-linux.jar (https://github.com/downloads/jim618/multibit/multibit-0.3.0-beta3-linux.jar)


I have done a quick test on my Mac + virtual machines (Win XP, Ubuntu 10.4 LTS) and they all connect and download blocks ok. Please let me know if they connect and download blocks on your systems.

A couple of notes:
1) I was not planning to release this code just yet.   I know it has a bug in the private key import that I have not tracked down yet.
I expect I will do another release a bit later on this week once I have fixed it.

2) There is not much visually different with this release compared to the previous.   I have mainly been working on updating from an older version of bitcoinj (0.3) to the latest code (0.4-snapshot).  Oh - and having a holiday in Spain !

Thanks !! It works :D
Thanks !! It works too ;)


Title: Re: MultiBit
Post by: jim618 on February 20, 2012, 12:37:07 AM
I just fired up the 0.3.0beta3 code (the one in the links a few posts above) to check it works post midnight feb20.
It connects ok, downloads blocks and I just sent some BTC to and from it ok.

Also, I think I have figured out what the bug was in the 0.3.0beta2 code that prevents it connecting - I think it was the alert message sent out on Feb 19 - it did not understand it and that messed up the connection


Title: Re: MultiBit
Post by: cypherdoc on February 20, 2012, 02:13:38 AM
Also, I have been looking into getting some custom USB drives made with the MultiBit logo/ site URL on and preloading them with:

+ the MultiBit executable
+ Java runtimes for Windows + Linux (Macs always have one).

This would mean you could have a 'secure stash' for your bitcoins where you could plug in your 'MultiBit USB drive' into ANY Windows/ Mac/ Linux machine to access your bitcoins.   Your wallets would be stored on the USB drive.
When you are not accessing them you just store them wherever you store your passports/ family jewelry.

Our current prefered model is this one:
http://www.usb-flashdrive.co.uk/usb-flash-drives/twister-drive-1 (http://www.usb-flashdrive.co.uk/usb-flash-drives/twister-drive-1)


For backup, you will be able to export your wallets' private keys and put them somewhere safe.
For security this would only make sense when both the MultiBit private key export files and wallets are both encrypted hence the push on that.

We will be offering these for sale to the general public at pretty close to cost price.   It feels like a good way to get the word out about bitcoin.

i've just started looking over this wallet as i'd heard it could run from a usb stick.

i have an Ironkey which i would assume could run this wallet.  can u direct me to the instructions how to load Multibit onto it?


Title: Re: MultiBit
Post by: jim618 on February 20, 2012, 11:31:31 AM
New release on website

I have put the 0.3.0beta3 release on the http://multibit.org (http://multibit.org) website:

20 Feb 2012 V0.3.0BETA3

Enhancements
+ Fix for network connection problems in 0.3.0beta2
+ Now tracks bitcoinj 0.4-snapshot instead of 0.3
+ I18n refresh, including Russian

Bugs
+ Private key import is currently not working correctly


New google groups mailing list: bitcoin-multibit

To make it a bit easier for people to keep up-to-date and discuss MultiBit, I have set up a Google groups mailing list:

bitcoin-multibit
http://groups.google.com/group/bitcoin-multibit?hl=en (http://groups.google.com/group/bitcoin-multibit?hl=en)

Please join if you are interested in being part of MultiBit's progress.


Title: Re: MultiBit
Post by: jim618 on February 20, 2012, 02:58:30 PM
@cypherdoc

Thanks for your enquiry about running MultiBit on a USB drive.
You do not mention which operating system you are using.   The instructions are slightly different from OS to OS but here are the instructions for on Windows (edit: and Linux):

Installing MultiBit to run on a USB drive for Windows.

1) Insert your USB drive into your PC.

2) Run the MultiBit Windows installer. On the screen with the question "Select the installation path:" click on the "Browse" button and select a directory on your USB drive.

3) Run the rest of the installation as normal.

4) Once the installation is done, in Explorer navigate to your USB drive's MultiBit installation directory.   It is the directory with the "multibit.exe" file.

5) Create a new text file called (exactly) "multibit.properties".   Leave the file empty.
This is the MultiBit configuration file.   Having a copy in the installation directory (rather than the user's application data) tells MultiBit to run locally.  

6) To run MultiBit locally, double click on the multibit.exe file.
You will have a single default wallet created, called multibit.wallet.   You can create new ones using the 'Create Wallet' button and doing a save into your USB drive.   You will be using a locally stored blockchain (called multibit.blockchain).


Installing MultiBit to run on a USB drive for Linux.
1) Insert your USB drive into your Linux machine.

2) Run the MultiBit Linux installer. On the screen with the question "Select the installation path:" click on the "Browse" button and select a directory on your USB drive.

3) Run the rest of the installation as normal.

4) Once the installation is done, navigate to your USB drive's MultiBit installation directory.   It is the directory with the "multibit-exe.jar" file.

5) Create a new text file called (exactly) "multibit.properties".   Leave the file empty.
This is the MultiBit configuration file.   Having a copy in the installation directory (rather than the user's application data) tells MultiBit to run locally.  

6) To run MultiBit locally, double click on the multibit-exe.jar.   If this does not start up the jar file, open a command line to your installation directory and run "java -jar multibit-exe.jar".


Notes and Gotchas
1) The path of the wallets in the configuration file contains the USB drive letter which may change according to how many other drives you have plugged in.   In this case the wallets other than multibit.wallet will not be found when MultiBit opens.   You can just use the "Open Wallet" button to load them.   I will put on my TODO list to stored the wallet filenames in relative form as this would get round this.
2) With the instructions above, it assumes you have Java installed on the machine you plug into.   You can also have a "Java Runtime Environment" stored on the USB too so that it is guaranteed to run.   I will write up some notes on how to do this.
3) The installer will add some shortcuts for running MultiBit pointing to the USB drive.  Of course these will not work if the USB drive is removed.

Let me know how you get on - running MultiBit on a USB drive will be quite useful to people so I would be interested in your experience and comments.  It probably needs a custom screen in the installer where the user can choose a "Run locally" option.


Title: Re: MultiBit
Post by: cypherdoc on February 20, 2012, 03:13:37 PM
@cypherdoc

Thanks for your enquiry about running MultiBit on a USB drive.
You do not mention which operating system you are using.   The instructions are slightly different from OS to OS but here are the instructions for on Windows:

Installing MultiBit to run on a USB drive for Windows.

1) Insert your USB drive into your PC.

2) Run the MultiBit Windows installer. On the screen with the question "Select the installation path:" click on the "Browse" button and select a directory on your USB drive.

3) Run the rest of the installation as normal.

4) Once the installation is done, in Explorer navigate to your USB drive's MultiBit installation directory.   It is the directory with the "multibit.exe" file.

5) Create a new text file called (exactly) "multibit.properties".   Leave the file empty.
This is the MultiBit configuration file.   Having a copy in the installation directory (rather than the user's application data) tells MultiBit to run locally.  

6) To run MultiBit locally, double click on the multibit.exe file.
You will have a single default wallet created, called multibit.wallet.   You can create new ones using the 'Create Wallet' button and doing a save into your USB drive.   You will be using a locally stored blockchain (called multibit.blockchain).

Notes and Gotchas
1) The path of the wallets in the configuration file contains the USB drive letter which may change according to how many other drives you have plugged in.   In this case the wallets other than multibit.wallet will not be found when MultiBit opens.   You can just use the "Open Wallet" button to load them.   I will put on my TODO list to stored the wallet filenames in relative form as this would get round this.
2) With the instructions above, it assumes you have Java installed on the machine you plug into.   You can also have a "Java Runtime Environment" stored on the USB too so that it is guaranteed to run.   I will write up some notes on how to do this.
3) The installer will add some shortcuts for running MultiBit pointing to the USB drive.  Of course these will not work if the USB drive is removed.

Let me know how you get on - running MultiBit on a USB drive will be quite useful to people so I would be interested in your experience and comments.  It probably needs a custom screen in the installer where the user can choose a "Run locally" option.

thanks for the prompt and detailed response.  yes, i do run Windows so this will come in handy.  i'm obliged to check it out.  good work.


Title: Re: MultiBit
Post by: jim618 on February 20, 2012, 03:29:55 PM
Cheers !
(have also added Linux for use by others)


Title: Re: MultiBit
Post by: cypherdoc on February 20, 2012, 07:19:59 PM
ok, i'm very impressed with this USB installation:

1.  do the private keys touch my RAM when sending/receiving?  doesn't the OS do the crypto signing mandating this?  security risk?
2.  is .0001 fee mandatory?
3.  i sent 13.83222962 Btc's to Multibit but only 13.8322 are displayed.  what happened to the 0.00002962 ?
4.  as i understand it, there is no RPC connection.  this is good for security.
5.  when will we be able to encrypt the wallets?


Title: Re: MultiBit
Post by: cypherdoc on February 20, 2012, 08:09:46 PM
so when i want to export private keys the default export file takes me to the multibit.key file on the C drive.  didn't i read somewhere that they are supposed to be within the multibit.properties file on my USB stick?

edit:  i checked the directory folder on my usb and it has the .exe but the 2 wallet files i created were installed in the users app data folder on c drive while the .blockchain and .properties files are in BOTH locations. ???


never mind.  chose wrong folder.  it defaults to users app data.


Title: Re: MultiBit
Post by: jim618 on February 20, 2012, 09:04:46 PM
Hi cypherdoc,

Glad you got the USB install working ok.

Answers to your points inline:

1.  do the private keys touch my RAM when sending/receiving?  doesn't the OS do the crypto signing mandating this?  security risk?
Yes - at the moment the private keys are unencrypted in BOTH memory and in the wallets.   This obviously needs fixing before MultiBit can be used for larger amounts of BTC.   Encryption is pretty much at the top of my TODO list - needs to go into the underlying bitcoinj classes too.
   
2.  is .0001 fee mandatory?
It is a tricky one this as if I drop the mandatory minimum fee some people's BTC will get 'stuck' in the bitcoind nodes which would be painful all round.   I have gone with the same fee level/ solution as the bitcoind client for similar reasons.

3.  i sent 13.83222962 Btc's to Multibit but only 13.8322 are displayed.  what happened to the 0.00002962 ?
It is in your wallet - at the moment I have a fixed BTC number *display* down to 0.0001 BTC but the BTC in the wallet are in Satoshi. This is mainly not to overwhelm mainstream users with gazillions of numbers on the screen.
If you have a look in blockchain.info / block explorer you should see the full amount really is there. 
Display formatting will I expect become more sophisticated (show in mBTC etc) over time but I do not have it as a very high priority at the moment.

4.  as i understand it, there is no RPC connection.  this is good for security.
Yes agreed.   I do not expect MultiBit to have any sort of programmable interface as it just creates an attack surface.   For an end client program it does not seem necessary.

5.  when will we be able to encrypt the wallets?
I plan to work on encrypting the private key output files hopefully in the next week or two.   The wallets will be next but will take a while because:
a) I want a common encryption format with the rest of bitcoinj
b) There is also a migration of the underlying wallet format (to protobuffers) which I will probably do first (Andreas has started doing it for his Android Wallet).   I don't want to change two things that are so critical simultaneously.
c) Testing testing testing.

I honestly do not know how long it will take.

6) Key output file location - by default it puts the export key file "next" to the wallet so you were probably using a wallet on your C drive.   If you hover your mouse over the name of the wallet in the 'your wallets' view it gives you the file path.   You can have wallets stored directly on your USB drive (wherever you like) and the default output private key file should be "next" to the wallet.

Note that the private key *import* on this release is broken at the moment.   You can import them into the wallets but the replay is faulty.   I am working on this.   You can import the whole key file into blockchain.info which works quite well.

I have been working on an "All-In-One" USB drive solution tonight that I have tentatively called "MultiBitThumb".
With a bit of work I think running MultiBit on a USB drive will simplify to:
a) You download a zip file.
b) You unzip it onto your USB drive
c) You then have links for "runOnWindows", "runOnMac", "runOnLinux" to run MultiBit locally with local wallets and blockchain on any of those OSes.

I will probably have to timebox this work - have a play with it tonight and then get back on bugs/ next steps tomorrow.




Title: Re: MultiBit
Post by: jim618 on February 20, 2012, 09:20:07 PM
edit:  i checked the directory folder on my usb and it has the .exe but the 2 wallet files i created were installed in the users app data folder on c drive while the .blockchain and .properties files are in BOTH locations. ???

You might be a bit on the "bleeding edge" here . . .
What it should do is:
When MultiBit starts it looks to see if there is a file called "multibit.properties" in the start up directory.   If there is, it should use that as the default directory to use for wallet creation.  It also uses the blockchain (multibit.blockchain) in that directory.

If there is no file of that name it uses the user application directory for that OS.


RE: two blockchains.   MultiBit has a fresh blockchain in the install directory when it is installed. I keep this up-to-date every time I create an installer.  Normally on a multiuser machine the first time a user starts up MultiBit it copies the fresh blockchain into the users roaming/ application directory.  Each user has their own blockchain.


For a standalone USB solution you want to have a multibit.properties in your USB installation directory and a blockchain in the same directory that it will then update.   Have the copy of MultiBit you are running on your USB drive look after wallets that you ALSO keep on the same drive.   That way all of your wallets and the blockchain they are using will all update in sync.

I hope that makes sense but just ask if it does not.



Title: Re: MultiBit
Post by: cypherdoc on February 20, 2012, 09:36:50 PM
buggy.  can't get confirms to release that 12.8320.  i'm locked up here.  any suggestions?

http://i.imgur.com/IppHO.png


Title: Re: MultiBit
Post by: cypherdoc on February 20, 2012, 09:43:42 PM
double buggy.  notice the amount of BTC upper left just doubled and now i have confirm checks.  but i'm still locked up:

http://i.imgur.com/6iJwj.png


Title: Re: MultiBit
Post by: jim618 on February 20, 2012, 09:55:37 PM
Hmmm,

if you cannot close that open dialog window after a few tries you could kill MultiBit and then in the multibit.properties remove the line:
selectedView=XX

Start up MultiBit again and it should get rid of it.


RE: the amounts and confirms.
You can resync your wallet to what is on the blockchain which should get you back into a good state.
There is an option "Tools | Reset blockchain and transactions".

Read the notes and then run it and then leave MultiBit to resync.   (It is sort of doing a replay). Don't do anything whilst it is resyncing as it is literally replaying the blocks.

Of course you should not have to do any of this.


Edit: I am offline soon - if all else fails: try getting your BTC out by exporting the private key file and importing it into blockchain.info.   There is an option in "Import / Export | Import wallet".  Then send it to wherever you want.    Sorry for your mixed experience with MultiBit tonight - it looks like I need to do some plain old fashioned testing/ bug fixing before adding more functionality.


Title: Re: MultiBit
Post by: cypherdoc on February 20, 2012, 10:42:46 PM
phew.  was able to send all btc except for .0001 back to Satoshi client.  is this residual amount stuck in Multibit?

in the future for a USB install, are ALL wallets supposed to be on USB?  in this instance, i had wallets generated on both C drive and USB.


Title: Re: MultiBit
Post by: jim618 on February 20, 2012, 10:57:57 PM
With the minimum fee of 0.0001 a total of 0.0001 is stuck yes.  You cannot get it out without spending it all on fees.

RE: location of wallets.
Theorectically you can have your wallets and the blockchain that "feeds" it transactions anywhere but I think it makes it less error prone if the MultiBit exe, wallets and blockchain are all on the same USB.

At the moments the wallets do not keep track of the last block they saw so it works best if any given wallet is always sent transactions from a single blockchain.  We are beefing up the wallet format in bitcoinj and I am some plans on the block replay ability so this will improve.   You can imagine with the subtleties of reorgs that you don't really want a wallet to receive blocks/ txs from multiple sources though.


I think you have given MultiBit a good bashing this evening so thanks for the feedback.   It indicates a few areas that either need improving or more explanatory notes provided.




Title: Re: MultiBit
Post by: cypherdoc on February 20, 2012, 11:15:25 PM
trying to export keys to salvage the .0001 or more Satoshi's.

i don't see any export files in the directory with .key extensions.  the file "next" to the wallet files are called .info.  is this it?

i clicked Export Private Keys, it says it was successful, but where did it go since it never let me specify where to export them?


Title: Re: MultiBit
Post by: cypherdoc on February 20, 2012, 11:25:55 PM
ok, if the .0001 is stuck thats fine.

but the export key fx is still confusing...


Title: Re: MultiBit
Post by: jim618 on February 21, 2012, 05:59:20 PM
Hi cypherdoc,

RE: the "Export private keys" screen not being as clear as it could be.

I have written up some help text with screenshots and put it into the MultiBit help here:
http://multibit.org/help_exportingPrivateKeys.html (http://multibit.org/help_exportingPrivateKeys.html)

Edit: I have also transcribed the "how to run from a USB drive" into:
http://multibit.org/help_runFromUSBDrive.html (http://multibit.org/help_runFromUSBDrive.html)


Title: Re: MultiBit
Post by: cypherdoc on February 21, 2012, 09:35:07 PM
Hi cypherdoc,

RE: the "Export private keys" screen not being as clear as it could be.

I have written up some help text with screenshots and put it into the MultiBit help here:
http://multibit.org/help_exportingPrivateKeys.html (http://multibit.org/help_exportingPrivateKeys.html)

Edit: I have also transcribed the "how to run from a USB drive" into:
http://multibit.org/help_runFromUSBDrive.html (http://multibit.org/help_runFromUSBDrive.html)

so i exported 5 private keys from MultiBit into Armory.  does it make sense that the 0.0001 btc left in the wallet would not be found in any of them?


Title: Re: MultiBit
Post by: jim618 on February 21, 2012, 09:48:50 PM
If the balance is on the address for the private key on the blockchain, it should be there.
I presume you have looked on blockexplorer/ blockchain.info that the balance is there for the receiving addresses you have listed in MultiBit.

Possibilities:
+ Maybe the import format for the key is different to the export - it should be the standard sipa wallet format.
   (You should also see the same bitcoin addresses in both MultiBit and Armory which would indicate the import+export formats are the same).
+ Perhaps Armory is rounding the display in a similar way to MultiBit ??? (sounds pretty unlikely I must admit).

You could also try importing the private key file into the blockchain.info wallet - it loads straight in in the "Import/Export | Import wallet" textbox.  There is a checkbox for the Multibit (sic) format.   I have tried this out before so this definitely understands the MultiBit key format.  You sometimes have to log out of blockchain.info and back in again to get it to refresh the BTC amounts.


Let me know what you find out as I have not heard of anything similar happening to anyone else (yet).


Title: Re: MultiBit
Post by: bitcoinspot.nl on February 22, 2012, 09:12:33 AM
wouldn't it be nice to have a option in the install process to choose between "normal" and "portable" installation?

Greetz!


Title: Re: MultiBit
Post by: bitcoinspot.nl on February 22, 2012, 09:14:33 AM
one more quick question:

i dont know how i did it, but i have 2 wallet-files that seem to have the same bitcoins in them.
Is there a way to figure out which is the correct one ?/to figure out which one is safe te delete ?

Thanks again, keep up the good work!


Title: Re: MultiBit
Post by: jim618 on February 22, 2012, 12:28:54 PM
@bitcoinspot.nl

Good idea to have an option in the installer for 'normal' and 'portable' installs.
It would save the fiddling around copying files around.

I have added it to the future features list on the wiki:
https://github.com/jim618/multibit/wiki (https://github.com/jim618/multibit/wiki)


RE: Two wallets that have the same bitcoins in.
Here is a how-to guide:

1.) How to see if two wallets are the same.
To work out if two wallets are copies of each other, you need to check whether the receiving addresses are the same.  
(There is one receiving address for each private key - it is these that allow you to spend.)
Steps:
1.1) Start MultiBit.
1.2) Compare the receiving addresses between the two wallets.   If they are identical then one wallet is a copy of the other.
1.3) If they are the same, choose the wallet that you want to get rid of.   Let us say it is a wallet called "MyExpensesCopy" that you no longer want.
1.4) Make a note of the file path for the "MyExpensesCopy" wallet. If you hover over the filename in the "Your Wallets" screen you get a tooltip with the full path.
1.5) Shut down MultiBit.

2.) Preparing an unwanted wallet for deletion.
2.1) Make sure MultiBit is shut down.
2.2) In your filemanager, go to where the MyExpensesCopy wallet is stored.
2.3) Rename the file "MyExpensesCopy.wallet" to "readyToDelete.wallet".
2.4) Rename the file "MyExpensesCopy.info" to "readyToDelete.info".

3.) Checking everything is ok and deleting the unwanted wallet.
3.1) Start MultiBit.
3.2) Your unwanted wallet will no longer appear in the "My Wallets" screen.
3.3) Check that the wallet you intend to keep is ok.  (It should be - this is just double checking).
3.4) If the wallet you intend to keep is ok you can safely delete the "readyToDelete.wallet" and "readyToDelete.info" files.


Title: Re: MultiBit
Post by: bitcoinspot.nl on February 22, 2012, 02:50:27 PM
Is there any planning for some more advanced wallet-handling in the future ?
- like deleting or archiving a wallet from multibit ?

Thanks again for the swift replies!

Greetz from holland.


Title: Re: MultiBit
Post by: jim618 on February 22, 2012, 04:17:21 PM
Hi bitcoinspot.nl,

Yes.   The main reason you cannot remove wallets in MultiBit is that until recently there has been no block chain replay.

Imagine you remove a wallet from MultiBit on Monday (but it is still on your disk).
On Tuesday you think - oh I just need to look at that again and open it up.

Because there has been a day's worth of blocks the "Monday wallet" needs to be refreshed with the day's worth of blocks.

Block replay is more-or-less working but needs a bit more work to be 100%.   Once that is rock solid it will be easier to remove wallets and then reopen them.

Deleting wallets (as in total destruction) would be doable now as it is just deleting the files.



Title: Re: MultiBit
Post by: CrownCloud on February 24, 2012, 02:53:01 PM
Hey,
I'm having a few issues in sending a payment to a friend, I sent the payment about 2 hours ago, but, its not yet confirmed at my end :(

Any fix ? or Do I wait ?

EDIT : My money's stuck.. dunno whats happening :( cant pull out any money :(

Update 2 : the Default multibit wallet money is stuck, but my personal wallet works. any fix ?


Title: Re: MultiBit
Post by: jim618 on February 24, 2012, 07:57:30 PM
Hi speedbus,

I have been working on ironing out a few bugs this week - the 0.3.0beta3 release I had to release a bit earlier than I wanted because of some network code that needed updating.

I should get a new release back to the normal quality by Monday so if you could hang on until then that would be good.
(Under the covers I have been updating to a much more recent version of bitcoinj so there have been a few things to sort out).

Bear with me.

Jim


Title: Re: MultiBit
Post by: cypherdoc on February 25, 2012, 12:36:05 AM
jim,

so i started off by making that multibit.wallet on my c drive by mistake.  i would like to relocate it to my usb key.  is it as simple as moving it over?  will the *.exe be able to find it?


Title: Re: MultiBit
Post by: film2240 on February 25, 2012, 01:00:34 AM
Can you please fix the bug where Multibit won't connect or download the blockchain since 20/2/2012? I really want to move my BTC to the main client as the official client tends to be more stable thanks.


Title: Re: MultiBit
Post by: jim618 on February 25, 2012, 09:57:50 AM
The 0.3.0beta3 on the website should be connecting to the bitcoin network ok.
Let me know if it is not.


Title: Re: MultiBit
Post by: jim618 on February 25, 2012, 10:23:50 AM
jim,

so i started off by making that multibit.wallet on my c drive by mistake.  i would like to relocate it to my usb key.  is it as simple as moving it over?  will the *.exe be able to find it?

Yes - you just have to move the files multibit.wallet and multibit.info to your usb key. (The info file contains things like your address labels).   Just put them anywhere convenient.

You can also rename the multibit.wallet and multibit.info to, say MyCash.wallet and MyCash.info if you do not like the default name.  The prefix has to be the same on both files.

When you next open multibit you will see an autogenerated empty wllet with the name "multibit".   Just ignore that and go to "Open Wallet" and find your wallet you just moved and select it.   It should then appear on the "Your Wallets" page.




Title: Re: MultiBit
Post by: film2240 on February 25, 2012, 10:27:29 AM
The 0.3.0beta3 on the website should be connecting to the bitcoin network ok.
Let me know if it is not.


I've tested this and this works fine.For those of you having issues with blocks not downloading,please use Multibit V0.30 beta 3 to rectify the issue that cropped up from 20/2/2012 onwards.Thanks.


Title: Re: MultiBit
Post by: CrownCloud on February 25, 2012, 11:35:14 AM
Hi speedbus,

I have been working on ironing out a few bugs this week - the 0.3.0beta3 release I had to release a bit earlier than I wanted because of some network code that needed updating.

I should get a new release back to the normal quality by Monday so if you could hang on until then that would be good.
(Under the covers I have been updating to a much more recent version of bitcoinj so there have been a few things to sort out).

Bear with me.

Jim


Hey,
No Probs, I'll wait :D Btw, MultiBit is great ! Its the best alternative client I have used !


Title: Re: MultiBit
Post by: Nachtwind on February 25, 2012, 12:32:15 PM
Hi,
The release on the website of 030b3 wont work for me: Gives me some error about the "network path to javaw" cannot be found (though its the correct windows path ("C:\programs..")).

Anyone else having this sort of trouble?


Title: Re: MultiBit
Post by: jim618 on February 25, 2012, 02:34:23 PM
@film2240 - that is good to hear.   I think it is a good idea to have the bulk of your BTC on the Satoshi client as you are right it is more mature (and it has wallet encryption).   Please try out the Multibit updates from time to time to see it's progress though !   :-)

@speedbus - thanks!   I have got the newer version almost there - just testing it now.

@Nachtwind.  The installer for Windows is actually written in Java so if that runs you definitely have it one your system (which you also indicate with your comment).  

The multibit.exe searches for a copy of Java to run using this order:
<JVMSearchPath>registry</JVMSearchPath>   << Registry settings
<JVMSearchPath>javahome</JVMSearchPath> << JAVA_HOME environment variable
<JVMSearchPath>jrepath</JVMSearchPath>
<JVMSearchPath>jdkpath</JVMSearchPath>
<JVMSearchPath>exepath</JVMSearchPath>   << PATH environment variable
<JVMSearchPath>jview</JVMSearchPath>

I suspect either your registry settings or JAVA_HOME are pointing somewhere it does not expect.

You could try explicitly manually installing Java from:
http://www.java.com/en/download/help/windows_manual_download.xml (http://www.java.com/en/download/help/windows_manual_download.xml)

That might put in the correct registry settings which, as they are top of the list, the multibit.exe will look for first.
 


Title: Re: MultiBit
Post by: CrownCloud on February 25, 2012, 05:36:56 PM
@speedbus - thanks!   I have got the newer version almost there - just testing it now.

Awesome ! :D Hope my broken wallet gets fixed, all my other wallets can receive and send, only this one seems broken :P


Title: Re: MultiBit
Post by: jim618 on February 28, 2012, 02:48:45 PM
There is a new release of MultiBit at:

http://multibit.org (http://multibit.org)


Version 0.3.0beta4

Enhancements
+  'Import private keys' now working
+  Better progress feedback on 'import private keys' and 'reset blockchain and transactions'
+  Fix for BTC being counted twice when private keys repeatedly imported
+  Dialogs are now modal and always on top
+  Various UI tidy ups

This release is primarily to tidy a few things up and fix bugs in the previous release.
You can see the commits in detail at:
http://ci.bitcoinj.org/job/MultiBit-v0.3/changes (http://ci.bitcoinj.org/job/MultiBit-v0.3/changes)
(Changes from Feb 21st to Feb 28th inclusive)


@cypherdoc - This version should fix the bugs that you posted about earlier in the thread.
@speedbus - To reset your wallet to match what is on the blockchain use the "Tools | Reset blockchain and transactions' menu option.


Title: Re: MultiBit
Post by: CrownCloud on February 28, 2012, 05:56:54 PM
There is a new release of MultiBit at:

http://multibit.org (http://multibit.org)


Version 0.3.0beta4

Enhancements
+  'Import private keys' now working
+  Better progress feedback on 'import private keys' and 'reset blockchain and transactions'
+  Fix for BTC being counted twice when private keys repeatedly imported
+  Dialogs are now modal and always on top
+  Various UI tidy ups

This release is primarily to tidy a few things up and fix bugs in the previous release.
You can see the commits in detail at:
http://ci.bitcoinj.org/job/MultiBit-v0.3/changes (http://ci.bitcoinj.org/job/MultiBit-v0.3/changes)
(Changes from Feb 21st to Feb 28th inclusive)


@cypherdoc - This version should fix the bugs that you posted about earlier in the thread.
@speedbus - To reset your wallet to match what is on the blockchain use the "Tools | Reset blockchain and transactions' menu option.


Awesome !! Works perfect :D Thanks !!


Title: Re: MultiBit
Post by: jim618 on March 04, 2012, 04:06:14 PM
I have just been preparing screenshots for the main feature in the next MultiBit release:


Encrypted private key export files
These will enable you to safely transfer private keys from computer to computer and you can use them for wallet backup.

Here is the screen shot and how-to for the export:
http://multibit.org/help_exportingPrivateKeys.html (http://multibit.org/help_exportingPrivateKeys.html)

And here is the screenshot and how-to for the import:
http://multibit.org/help_importingPrivateKeys.html (http://multibit.org/help_importingPrivateKeys.html)


OpenSSL compatibility
For maximum compatibility I have used the same encryption methodology as in OpenSSL so you can also encrypt and decrypt the files using the command line utility 'openssl'.

To decrypt an encrypted MultiBit private key export file use:
openssl enc -d -p -aes-256-cbc -a -in <ciphertext file> -out <plaintext file> -pass pass:<password>

To encrypt a plaintext MultiBit private key export file use:
openssl enc -p -aes-256-cbc -a -in <plaintext file> -out <ciphertext file> -pass pass:<password>


File specification and an example
The spec for the export files is pretty straightforward - it is basically just the private key in sipa wallet import format and its creation date.  More details: MultiBit private key export specification (https://github.com/jim618/multibit/wiki/Export%20and%20limited%20import%20of%20private%20keys)

Edit: here is the contents of an encrypted private key file for a single key:

U2FsdGVkX18qFcs9rcWzN2vFRqK/KgcHerb9aQkbVrr2UD60T/QOjMY+UlOLb8OWrPOX7fRzBF9s
ycM46QVERkoYOlZu/9dtwV2P/UFXk+W/tkTrxn/0ymWmQqsj8rZq

And here it is decrypted with the password 'jim':
5JiGQHkFCFiAictiaWx5LkKP4ZTPz4GZ8vF9KLQoc2itvRke8J2 2012-03-02T23:29:33Z

(I've taken the BTC out!)



The next release of MultiBit should be in a day or two - just got some testing and tidying to do.


Title: Re: MultiBit
Post by: jim618 on March 05, 2012, 03:32:00 PM
There is a new release of MultiBit at:

http://multibit.org (http://multibit.org)


Version 0.3.0beta5

Enhancements
+  Encryption of private key export file.
+  Import encrypted private key export file.
+  Improvements to block chain replay.

Release info
Changes included - Feb 29th to Mar 5th inclusive (http://ci.bitcoinj.org/job/MultiBit-v0.3/changes)
Scan of release checklist (http://multibit.org/test/releaseCheckList-0.3.0beta5.jpg)

For the next couple of weeks I will be working on improvements to the UI, including viewing transaction details and (hopefully) integrating a Bitcoin ticker based on Tim Molter's XChange (https://github.com/timmolter/XChange/wiki) library.


Title: Re: MultiBit
Post by: CrownCloud on March 06, 2012, 11:26:42 AM
There is a new release of MultiBit at:

http://multibit.org (http://multibit.org)


Version 0.3.0beta5

Enhancements
+  Encryption of private key export file.
+  Import encrypted private key export file.
+  Improvements to block chain replay.

Release info
Changes included - Feb 29th to Mar 5th inclusive (http://ci.bitcoinj.org/job/MultiBit-v0.3/changes)
Scan of release checklist (http://multibit.org/test/releaseCheckList-0.3.0beta5.jpg)

For the next couple of weeks I will be working on improvements to the UI, including viewing transaction details and (hopefully) integrating a Bitcoin ticker based on Tim Molter's XChange (https://github.com/timmolter/XChange/wiki) library.

Thanks :D Could you add a way to export the transactions which have taken place to an excel sheet ?


Title: Re: MultiBit
Post by: jim618 on March 06, 2012, 01:04:21 PM
@speedbus
Good idea - will look at doing that. A CSV export file is probably the easiest to do and everything reads that.


Title: Re: MultiBit
Post by: CrownCloud on March 06, 2012, 01:47:16 PM
@speedbus
Good idea - will look at doing that. A CSV export file is probably the easiest to do and everything reads that.

Sounds awesome !! Looking forward to it :D


Title: Re: MultiBit
Post by: jim618 on March 08, 2012, 03:03:49 PM
I have added a 'transaction details' popup menu option which gives you more transaction details.
You get a drill down screen which currently looks like:

http://multibit.org/postImages/transactionDetails.png (http://multibit.org/postImages/transactionDetails.png)

Nothing earth shattering but very handy.


Title: Re: MultiBit
Post by: jim618 on March 08, 2012, 08:33:06 PM
I have updated the transaction status icons to go with a 'circle filling' theme (similar to the Satoshi client).

Here are the confirmation icons, going from zero confirmations to 6+:

http://multibit.org/postImages/status.png


Title: Re: MultiBit
Post by: bitcoinspot.nl on March 09, 2012, 07:36:13 AM
great!

just keeps gettin better :)


Title: Re: MultiBit
Post by: CrownCloud on March 09, 2012, 11:47:38 AM
I have added a 'transaction details' popup menu option which gives you more transaction details.
You get a drill down screen which currently looks like:

http://multibit.org/postImages/transactionDetails.png (http://multibit.org/postImages/transactionDetails.png)

Nothing earth shattering but very handy.

Perfect, Just what was neeeded !! :D Thanks !!


Title: Re: MultiBit
Post by: jim618 on March 09, 2012, 12:24:14 PM
@bitcoinspot.nl - thanks !
@speedbus - yes I found myself looking up my own tx in blockchain.info so thought it would be worth adding.


Today I have added a progress bar for the block downloads:

http://multibit.org/postImages/progressBar.png


The screenshot does not capture the mouse pointer but the longer progress text is a tooltip on the progress bar.
It has the side effect of clearing up the status bar text for other messages.

All these UI modifications will go in the next release, which will probably be on Monday.



Title: Re: MultiBit
Post by: bitcoinspot.nl on March 09, 2012, 03:48:22 PM
sorry for asking again, but did you have time to implement the fullscreen qr-code function, (when making a payment, show the qrcode on full-screen so that you can rotate your screen to the customer and let him read it off the screen, hiding all the other data that you dont want him to see) we discussed this a while ago.


Title: Re: MultiBit
Post by: jim618 on March 09, 2012, 04:01:41 PM
Hi bitcoinspot.nl,

No problem with you asking again for it as I know you want it.

The next UI work I want to do is:
1) Add in an 'Outlook Bar' with the wallets down the left hand side. Remove the 'Your Wallets' screen.

2) Add a bitcoin ticker in the top right (in the header) with the exchange rate on it.

3) Add in a "Display as" combo box in the top right of the send and receive screens where the user can choose how to display the send/ receive info.   One of the options in there (or probably a button on the "Display as QR code" display) will be to zoom to the whole MultiBit panel.
The 'zoomed' QR code will have a back or cancel or something button on to return it to the normal size.
This should be what you are after. If you have MultiBit full screen it will be fullscreen - if it is, say, in a corner it will be whole of the screen space you have allocated to MultiBit.


I expect that will be a couple of weeks work (more or less) to work through those.





Title: Re: MultiBit
Post by: jim618 on March 09, 2012, 04:10:51 PM
p.s. after the UI work in the post above, the next thing will be:

Migration to protobuf wallets.

There are more details of these in Mike's thread about bitcoinj V0.4 (https://bitcointalk.org/index.php?topic=68004.0 (https://bitcointalk.org/index.php?topic=68004.0)) but basically they are a much better way of storing the bitcoinj wallets (which MultiBit uses).   Because it is migrating everybody's wallets I will probably have a release dedicated solely to that.

(One of the reasons of putting in the 'export/ import private key' functionality is that that will be one of the recommended precautionary steps in the migration process).


Protobuf wallets are basically better in that:
1) They are less brittle than the earlier wallets hence easier to update
2) They will be standard across all of bitcoinj (Andreas's Android Bitcoin Wallet has already migrated to the new format)
3) C++ programs can read them easily
4) They will be a lot smaller.

Once this migration is done it opens the way to adding in watch only wallets and encrypted wallets which I know everybody wants.




Title: Re: MultiBit
Post by: Mushroomized on March 09, 2012, 05:38:07 PM
Hey, I tried sending 3 btc from my 1EyxRJKRZrKf6iANv5UeZE7TQAC5CEa2KT wallet, to pay someone at 1LXTiSb6NdekLvYXtg3sEtyMZetQmGpqDR The transaction never completed, so I reset the block chain. After resetting, the blockchain the transaction didn't even appear on the transaction bar. Any suggestions? (The coins sent where not present in wallet either.)


Title: Re: MultiBit
Post by: jim618 on March 09, 2012, 06:15:54 PM
Hello Mushroomized,

Just had a look at blockchain.info for both 1EyxRJKRZrKf6iANv5UeZE7TQAC5CEa2KT  and 1LXTiSb6NdekLvYXtg3sEtyMZetQmGpqDR
(which I expect you probably have done as well).

There are a couple of things:
1) There does not seem to be any transaction 1Ey -> 1LX (not even an unconfirmed one) which suggests the transaction was either:
      1.1) Not transmitted to the bitcoin network by MultiBit (possible, but you should get an error message when you send it)
or   1.2) Not relayed by the nodes

2) I notice in blockchain.info that the balance available to spend at 1Ey is 1.3ish BTC i.e. less than the 3 BTC that you were trying to send.
(the last send from 1Ey was 1st March - I assume you tried to send the 3BTC send after that).   If you did send 3BTC from an address with just the 1.3ish BTC to spend then it would never confirm no (all miners would reject it).

After doing a 'reset blockchain and transactions' the transactions in the wallet should match what is on the blockchain.   You should see the same transactions as in, say, http://blockchain.info/address/995f30c16f41c0b463aa0a8797f290e5dd4cf25e

Normally, you would not be able to do a send of 3BTC in MultiBit from a wallet with a balance less than that (it checks the balance prior to sending) but if you did a send whilst it was syncing or have multiple private keys in multiple wallets it would be possible to send it. I would never confirm though as it would never get into a block as I have mentioned.   I do not know this as I do not know exactly what you have done.

tl;dr; Do the transactions in the wallet with the 1Ey address match what is in the blockchain after a 'reset blockchain and transactions' ?  If so, then the transaction you tried to send did not make it into the blockchain.  Try sending an amount that you are sure is in the wallet (after the reset blockchain).





Title: Re: MultiBit
Post by: Mushroomized on March 09, 2012, 08:21:22 PM
Hello Mushroomized,

Just had a look at blockchain.info for both 1EyxRJKRZrKf6iANv5UeZE7TQAC5CEa2KT  and 1LXTiSb6NdekLvYXtg3sEtyMZetQmGpqDR
(which I expect you probably have done as well).

There are a couple of things:
1) There does not seem to be any transaction 1Ey -> 1LX (not even an unconfirmed one) which suggests the transaction was either:
      1.1) Not transmitted to the bitcoin network by MultiBit (possible, but you should get an error message when you send it)
or   1.2) Not relayed by the nodes

2) I notice in blockchain.info that the balance available to spend at 1Ey is 1.3ish BTC i.e. less than the 3 BTC that you were trying to send.
(the last send from 1Ey was 1st March - I assume you tried to send the 3BTC send after that).   If you did send 3BTC from an address with just the 1.3ish BTC to spend then it would never confirm no (all miners would reject it).

After doing a 'reset blockchain and transactions' the transactions in the wallet should match what is on the blockchain.   You should see the same transactions as in, say, http://blockchain.info/address/995f30c16f41c0b463aa0a8797f290e5dd4cf25e

Normally, you would not be able to do a send of 3BTC in MultiBit from a wallet with a balance less than that (it checks the balance prior to sending) but if you did a send whilst it was syncing or have multiple private keys in multiple wallets it would be possible to send it. I would never confirm though as it would never get into a block as I have mentioned.   I do not know this as I do not know exactly what you have done.

tl;dr; Do the transactions in the wallet with the 1Ey address match what is in the blockchain after a 'reset blockchain and transactions' ?  If so, then the transaction you tried to send did not make it into the blockchain.  Try sending an amount that you are sure is in the wallet (after the reset blockchain).




Alright I got it sorted out.


Title: Re: MultiBit
Post by: jim618 on March 09, 2012, 09:49:04 PM
@Mushroomized
I am interested: did you get MultiBit to apparently send a transaction of 3BTC when there was a balance of less than 3BTC in the wallet ?
That is something I should stop happening if at all possible as it will cause similar confusion to other people.

I mean did it appear to send it successfully (no error, no validation message) even though it never actually got onto the blockchain ?



Title: Re: MultiBit
Post by: cypherdoc on March 09, 2012, 11:36:40 PM
jim,

how would you characterize your wallet vs Armory in terms of what users like me would want? 

i'm alittle amazed at how many alternative wallets are being developed and the amount of effort and time being put into them.  for what purpose?  you certainly aren't being paid right now and if Armory takes off and becomes more popular won't all your efforts be for naught?

i guess there's something about these open source projects that i don't understand.  enlighten me.


Title: Re: MultiBit
Post by: jim618 on March 10, 2012, 09:19:44 AM
Hi Cypherdoc,

That is a very good question.
I know we normally think of software in terms of the packaged, finished product but in my opinion it is actually the codebase that is more important.

Underneath there is, as you point out, a ton of work to get everything working cleanly. For instance Miron in bitcoinj has done some great work on the class that connects to the bitcoin network (called PeerGroup). You can literally pull out your network cable and when you put it back it it recovers the connection and continues downloading blocks as if nothing has happened. I was pretty impressed when I noticed that.

You are right I am not making a milli from MultiBit as it is all open-source. That is great ! It means anyone can reuse the codebase for any bitcoin app they like.

From the users ie your point of view I hope they will end up with an easy to use bitcoin client that is bugfree and small/light enough to run off a USB or tiny computer.

The underlying codebase - in Java - is pretty easy to port to other types of machines. For instance Android phones use Java. Andreas's Android Bitcoin Wallet uses the same bitcoinj codebase.

Whilst I do not intend to do it (too much work) you can also port the MultiBit/ bitcoinj code into corporate environments using Java Enterprise Edition. This is used in a lot of code shops for backend processing.

One of the reasons we are integrating XChange is that it will make it easy for other people to hook into their own systems.

It looks like I am developing a standalone wallet but I think of it as an enabler to other people who want to use field tested software for their own bitcoin use cases.

Similarly I am sure etotheipi is working to get his codebase and Armory out to the masses. Good luck to him ! If I can help him I am certainly happy to help.

Bitcoin is the most interesting project I have worked on for years.

:-)


Title: Re: MultiBit
Post by: cypherdoc on March 10, 2012, 04:07:14 PM
thanks for the response. 

not being a coder i guess i fail to see that there are numerous systems out there to address and that need a working viable base code upon which to build.

this is what i love about the open source community having only been exposed to it thru Bitcoin over the last year as an investor.  ppl like you who have only good intentions trying to make the world a better place. 

i think you guys are all headed in the right direction and one day soon your work will be recognized as being revolutionary.


Title: Re: MultiBit
Post by: Mike Hearn on March 10, 2012, 04:43:29 PM
You can see it another way - there's enough scope for innovation in Bitcoin wallet software that having a few competing implementations is probably a good thing in the long run. The trick is explaining it to new users.


Title: Re: MultiBit
Post by: bitcoinspot.nl on March 11, 2012, 03:52:58 PM
3) Add in a "Display as" combo box in the top right of the send and receive screens where the user can choose how to display the send/ receive info.   One of the options in there (or probably a button on the "Display as QR code" display) will be to zoom to the whole MultiBit panel.
The 'zoomed' QR code will have a back or cancel or something button on to return it to the normal size.
This should be what you are after. If you have MultiBit full screen it will be fullscreen - if it is, say, in a corner it will be whole of the screen space you have allocated to MultiBit.
I expect that will be a couple of weeks work (more or less) to work through those.

Ok thanks again man!, cant wait.


Title: Re: MultiBit
Post by: jim618 on March 13, 2012, 10:45:56 AM
There is a new release of MultiBit at:

http://multibit.org


Version 0.3.0beta6

Enhancements
+  Updated transaction status icons with "circle filling" theme.
+  Added transaction detail dialog from right click on transaction
+  Added progress bar for block downloads
+  Autosaves dirty wallets every 120 seconds
+  Fix for issue 15 - use of commas in wallet description

Release info
Changes included - Mar 06th to Mar 13th 11:00 inclusive (http://ci.bitcoinj.org/job/MultiBit-v0.3/changes)
Scan of release checklist (http://multibit.org/test/releaseCheckList-0.3.0beta6.jpg)


Next up: some more UI improvements for the next couple of weeks.


Title: Re: MultiBit
Post by: goodlord666 on March 13, 2012, 05:07:13 PM
Hello,

I have just tested the client and I think it's pretty good!


Two quick ones:

- a simple function to remove sending addresses from the list would be cool
- the header "Your sending addresses" can be misleading in making users think they are addresses of their own they are sending from. How about a header that reads "Pick an address to send bitcoins to" to avoid misunderstandings?


Cheers.



Title: Re: MultiBit
Post by: jim618 on March 13, 2012, 05:12:48 PM
Both good suggestions.

I am going to add in some "delete" options into the UI pretty soon.


Title: Re: MultiBit
Post by: freemoney458 on March 13, 2012, 08:37:01 PM
Hi Jim,

I just noted a minor bug in the latest release (maybe it was also present in earlier versions):

- After pressing 'Undo last changes' in the 'Preferences' screen, all the tooltips appear very small and without any text.

The bug appeared with the MacOS version. I was able to reproduce it several times.


Title: Re: MultiBit
Post by: jim618 on March 14, 2012, 08:38:41 AM
@freemoney - ok thanks - I will have a look at it.


Title: Re: MultiBit
Post by: jim618 on March 15, 2012, 02:45:56 PM
I thought you would like a sneak preview of the new MultiBit user interface:

http://multibit.org/postImages/UIpreview.png


There is still a ton of work to do so I will skip the normal weekly builds and crack on with it.


Title: Re: MultiBit
Post by: bitcoinspot.nl on March 16, 2012, 08:06:34 AM
Looks good!

I looked at the specs for the armory bitcoin-client, pretty impressive. Do you see any stuff that you yourself will want to implement in the future in multibit ?


Title: Re: MultiBit
Post by: jim618 on March 16, 2012, 08:59:37 AM
Hi bitcoinspot.nl,

Thanks! Armory is a great client and I look forward to seeing it develop.
At the moment I am working to complete the 0.3.x list in the wiki here:
https://github.com/jim618/multibit/wiki (https://github.com/jim618/multibit/wiki)

The main priority is to add encrypted wallets.

After that there are a lot of useful things that could be added (and for which Mike has added support in bitcoinj already). It is 'only' a matter of coding it up, testing it and documenting it !

I would rather under promise and over deliver so further out than the current plan I have to be vague on as it depends on time and available manpower (ie who can help).

Some of the possibilities to add are:
+ make a fully portable version compatible with http://PortableApps.com (http://PortableApps.com)
+ bitcoinj already supports watch-only wallets so add them.
+ bitcoinj plans to add deterministic wallets so once that is done could add them.
+ XChange can pull out the MtGox orderbook etc and are working on other exchanges so could add a whole trading aspect to Multibit.

I do not think I will be running out of possible things to add just yet. :-)


Title: Re: MultiBit
Post by: bitcoinspot.nl on March 16, 2012, 09:28:07 AM
haah, its quite a big list yeah

are you suffering from rsi yet? :)


Title: Re: MultiBit
Post by: jim618 on March 16, 2012, 09:59:28 AM
It is a big list but you just work through it steadily.

When I want a break I just take a few days off and, oh, post some photos to http://swanwatch.net (http://swanwatch.net). :-)


Title: Re: MultiBit
Post by: bitcoinspot.nl on March 16, 2012, 02:25:25 PM
wow, you are quite the swan-fanatic.
At my parents house we used to have out own pet-swans in the winter, they would literally wait for me at the busstop in the evening, follow me home (about 250 meters) and then quickly get in the water to wait for the bread they knew the would be getting :)
Adorable... but not pettable.

Any change you'll be going to the bitcoin convention in london later this year ?

btw: i have a technical question.
I Installed the latest version of the multibit client in a new directory and copied multibit.properties, multibit.keychain and my wallet.wallet and wallet.info files to this dir. when i start the client it seems to work fine, but the strange thing is that it does not list my latest transactions.

Am i doing something wrong?

R.


Title: Re: MultiBit
Post by: jim618 on March 16, 2012, 02:56:23 PM
Hi bitcoinspot.nl,

That is quite a swan tale - you are right they are never pettable.

You are doing the right thing moving the multibit.properties, blockchain and your wallet into the same directory as the multibit.exe/ multibit.jar.   Presumably you are running it 'portable'.

I think what you are seeing is that the wallet was not "hooked up" to the blockchain for a while and it has missed some blocks.
If you go into "Tools | Reset blockchain and transactions" and run it it should replay the blockchain and you should see whatever transactions are on the blockchain.   If you have a wallet with old transactions in it can take a few minutes to run - just let it replay the whole blockchain from your wallet creation.

I will be fixing this in the next chunk of "backend" work by having the wallets know the last block they saw and resync if they (for whatever reason) have missed any so this behaviour should disappear.

Yes - I plan to go to the London convention but I probably won't volunteer for any talks (it took Gary and I at least a week each to prep for the last one.   Far too much for a ten minute talk!   :-) )   I presume from you asking that you were planning to go so that will be good to meet up.


Title: Re: MultiBit
Post by: bitcoinspot.nl on March 17, 2012, 11:01:31 AM
Ok, i am going the "reset blockchain route" :) but i never have to do something like that in the official app, you know why? (it does not have the option :))



Title: Re: MultiBit
Post by: jim618 on March 18, 2012, 10:18:47 AM
There is now an improved look on the panels such as "Export private keys", "Preferences" etc:

http://multibit.org/postImages/exportPrivateKeysScreenshot.png

You can see that you can now have multiple tabs open so you can flick between whatever you are working on.  The "Send", "Request" and "Transactions" tabs are always present but the others you just open and close at will.

You can also see I have introduced a 'twisty' into the wallet's graphical representation so that you can get more detail on demand.

Also, it is quite a subtle feature but the component separating the wallets from the "rest of things" is now movable.   If you like long descriptions on your wallets you can move it to the right to see your full text


Title: Re: MultiBit
Post by: da2ce7 on March 18, 2012, 10:47:40 AM
Cool look jim!

Though I do think that the wallet list is a bit busy... maybe put some stronger horizontal emphases between the elements?


Title: Re: MultiBit
Post by: jim618 on March 18, 2012, 11:04:27 AM
Hi da2ce7 - yes agreed the wallet panel needs more work.

The wallet detail panel especially is a bit 'young' yet'.
I expect it to gradually get more refined and its contents will probably change over time.
It is a "general purpose space" for the details of the wallet.


When we start integrating the XChange code and start hooking up to exchanges there will be another tab next to "Wallets" called "Exchanges" and then rather than a list of wallets (and their details) there will be a list of your exchange connections/ accounts with THEIR details in the call out.   I can just recycle the layout code.
 


Title: Re: MultiBit
Post by: jim618 on March 18, 2012, 12:19:32 PM
P.S.   I am looking for a better iconset for MultiBit in this UI refresh.
The current icons look a bit adhoc and it would be nice to clean them up.

Anyone know of a nice clean open source iconset I could look at ?


I am using 16x16 pixels but could go up to 20x20 or (maybe) 24x24.



Title: Re: MultiBit
Post by: gusti on March 18, 2012, 02:57:12 PM
P.S.   I am looking for a better iconset for MultiBit in this UI refresh.
The current icons look a bit adhoc and it would be nice to clean them up.

Anyone know of a nice clean open source iconset I could look at ?


I am using 16x16 pixels but could go up to 20x20 or (maybe) 24x24.


something like this ?
http://openiconlibrary.sourceforge.net


Title: Re: MultiBit
Post by: jim618 on March 18, 2012, 03:00:35 PM
Hi gusti - that is a great find - thanks !

:-)


Title: Re: MultiBit
Post by: k on March 18, 2012, 07:38:46 PM
maybe some useful icons here also
http://fortawesome.github.com/Font-Awesome/ (http://fortawesome.github.com/Font-Awesome/)


Title: Re: MultiBit
Post by: jim618 on March 19, 2012, 04:08:02 PM
Hi k,
Thanks for your suggestion.

In the end I have gone with the Silk icons at famfamfam.com
Used in Eclipse and no doubt others.


Title: Re: MultiBit
Post by: jim618 on March 19, 2012, 06:34:25 PM
Today I have started on the rework of the Send Bitcoin / Request Bitcoin panels:

http://multibit.org/postImages/helpContext.png

The introductory text has been moved to the tooltip of a new 'Context sensitive help' button.   Click this and you get sent to the appropriate page in the 'Help Contents' tab.

Implementing context sensitive help is like eating Ryvita.   You know it is good for you but it is not exactly exciting stuff.   :-)

I have not finished it yet, but the QR code/ Swatch display panel will be in a little 'more' / 'less' panel on the right hand side that you will access with the 'More >', '< Less' toggle button.


Title: Re: MultiBit
Post by: CrownCloud on March 21, 2012, 11:31:51 AM
Today I have started on the rework of the Send Bitcoin / Request Bitcoin panels:

http://multibit.org/postImages/helpContext.png

The introductory text has been moved to the tooltip of a new 'Context sensitive help' button.   Click this and you get sent to the appropriate page in the 'Help Contents' tab.

Implementing context sensitive help is like eating Ryvita.   You know it is good for you but it is not exactly exciting stuff.   :-)

I have not finished it yet, but the QR code/ Swatch display panel will be in a little 'more' / 'less' panel on the right hand side that you will access with the 'More >', '< Less' toggle button.

Looks cool and neat !


Title: Re: MultiBit
Post by: jim618 on March 21, 2012, 03:40:17 PM
@speedbus - thanks!

Today I have got the send screen working with:
+ just show the send form
+ show qrcode
+ show swatch

There is also a "zoom" option for point of sales usage (requested by bitcoinspot.nl).


Here is the send panel with "neither qrcode nor swatch":
http://multibit.org/postImages/sendWithNeither.png


Here it is showing a QR code:
http://multibit.org/postImages/sendWithQRcode.png


And here is a swatch:
http://multibit.org/postImages/sendWithSwatch.png


It remembers your settings for show/ hide the side panel and the combo box setting.
For new users it starts off just showing the basic send form to keep it simple.


There is also now a zoom icon in the bottom right of the send side panel.  Click that and you get a "super zoomed" QR code / swatch that fills the MultiBit screen, as shown here:

http://multibit.org/postImages/qrCodeZoom.png (http://multibit.org/postImages/qrCodeZoom.png)

You can scan that with a mobile from at least a metre away.


Title: Re: MultiBit
Post by: bitcoinspot.nl on March 21, 2012, 03:49:25 PM
I like the zoom button :)


Title: Re: MultiBit
Post by: jim618 on March 21, 2012, 03:51:38 PM
@bitcoinspot.nl - glad to get it coded up for you.   :-)


Title: Re: MultiBit
Post by: CrownCloud on March 22, 2012, 11:33:29 AM
New versions screenshots look amazing !  ;D Can't wait for the new version !


Title: Re: MultiBit
Post by: jim618 on March 22, 2012, 04:36:57 PM
Thanks speedbus !  Yes it is a much cleaner layout than the current release.

I have also converted it to use the system colours of the installed machine (for things like window borders etc) so it should blend in with the desktop a bit better.

Today I have got the "Request" screen (= the old receive bitcoins screen) to use the same layout as the send screen:

http://multibit.org/postImages/requestWithQRcode.png


There are a few more days of work to do yet but hopefully I will get it all finished, tested and released around the middle of next week.


Title: Re: MultiBit
Post by: CrownCloud on March 22, 2012, 05:59:38 PM
After seeing every new screenshot, I really really can't wait for the new version ! Its just AWESOME !


Title: Re: MultiBit
Post by: MaxSan on March 22, 2012, 07:43:30 PM
Multibit wont connect.. Anything gone wrong with BitcoinJ atm?


Title: Re: MultiBit
Post by: jim618 on March 22, 2012, 09:14:48 PM
Anything in the logs directory ?

The log directory is decribed here:
http://multibit.org/help_troubleshooting.html (http://multibit.org/help_troubleshooting.html)

It could be something to do with new v0.6 nodes appearing possibly.

Edit: I just tried versions v0.3.0beta6, beta5, beta4, beta3 and they could all connect (on a mac) but maybe it is peer node specific.
Edit: Resolved by PM - it was a pre-Feb20 copy of MultiBit being run.



Title: Re: MultiBit
Post by: jim618 on March 23, 2012, 10:40:19 AM
We are looking for a Greek translator for MultiBit.

If you are a Greek speaker or have a Greek friend that would be interested please sign up at:
http://translate.multibit.org

Motivation ?
http://www.thenewamerican.com/world-mainmenu-26/europe-mainmenu-35/11265-greeks-adopt-alternative-currencies-as-economy-implodes (http://www.thenewamerican.com/world-mainmenu-26/europe-mainmenu-35/11265-greeks-adopt-alternative-currencies-as-economy-implodes)


Title: Re: MultiBit
Post by: jim618 on March 23, 2012, 03:58:38 PM

3Phase (https://bitcointalk.org/index.php?action=profile;u=23519) on this forum has started the Greek translation - thanks !

A couple of minor things have gone in today:

+ more "horizontal-ness" in the wallet detail panel (suggested by da2ce7)
+ drill down help on the "available to spend" text to a more detailed explanation.

http://multibit.org/postImages/availableToSpend.png



Help wanted with screen layout on Windows.   
As you have probably noticed, all my development is on a Mac and I test Linux and Windows on relatively old OSes on virtual machines.   It would be nice to get rid of some of the inevitable layout glitches on a "proper" Windows system so I will post an early Windows EXE over the weekend.   Most of the MultiBit downloads are on Windows systems.

If someone could try it out on Windows 7 and have a look at the layouts it would be appreciated.  If you spot anything wrong, post or PM me a screenshot and I will try to iron them out early.   It is things like bad colours, text truncation, whether the gradient fills render, odd grey panels that should not be there, things like that.


Title: Re: MultiBit
Post by: 3phase on March 24, 2012, 10:40:53 AM
Hi Jim,

I came across several capital English letters among the strings. Not sure what I'm supposed to translate there. I understand they are shortcuts of some sort, but I can't see what they do in the client.

Any hints?


Title: Re: MultiBit
Post by: jim618 on March 24, 2012, 01:31:20 PM
Hi 3phase,

They are the mnemonic keys (shortcuts within menus).

You get a good hint as to what the action is from the name of the string being translated as I have pretty universally stuck to the convention:

someActionName.text=[The name of the action]
someActionName.tooltipText=[A more detailed explanation of the action]
someActionName.mnemonic=[X]

where X is a letter in the action that you want to use as the mnemonic.

For instance "Zoom" might have the mnemonic "Z" and then the OS typically underlines the Z and you can select it with a shortcut.

I normally choose the "best" letter in the action name.
They are supposed to be unique within what is available on the screen but this is practically impossible to do at translation time so do not worry about this.


P.S.   I am sure "mnemonic" is a transliteration of a Greek word !


Title: Re: MultiBit
Post by: jim618 on March 24, 2012, 06:47:07 PM
I have put a Windows EXE of the current state of my code on github at:

https://github.com/downloads/jim618/multibit/multibit-0.3.1-windows-for-screenshots.exe (https://github.com/downloads/jim618/multibit/multibit-0.3.1-windows-for-screenshots.exe)
Edit: now removed

Can someone with a Windows 7 machine download it and post a couple of screenshots of MultiBit running please ?
I am mainly after screenshots of:

+ MultiBit showing the "Send" screen
+ One of the screens with the horizontal gradient fills e.g. "Export private keys"


Of course if you spot anything "bad" let me know.

Due to the way Java draws components (especially the tabs) differently on different OSes it is quite tricky to get something looking reasonable on all of Mac/ Linux/ Win simultaneously.


Note that this code is not finished yet (e.g. not properly tested, "Delete Wallet" just pops up a TODO message etc).  By all means have a play but do not start using it for real just yet.


Title: Re: MultiBit
Post by: HostFat on March 24, 2012, 07:07:05 PM
+ MultiBit showing the "Send" screen
+ One of the screens with the horizontal gradient fills e.g. "Export private keys"
https://www.wuala.com/Slyck/multibit/?key=A0VU5nmIyw8U

Are they right?


Title: Re: MultiBit
Post by: jim618 on March 24, 2012, 07:28:42 PM
Cheers HostFat.   That is exactly what I was after.

Yes they look pretty similar to what I see on my XP virtual machine (though obviously XP is a bit "clunkier").
It is good enough for a first release using this look I think.


Title: Re: MultiBit
Post by: jim618 on March 25, 2012, 05:34:52 PM
Today I have wired up the 'Delete Wallet" button.
It has the obligatory warning screen as follows:

http://multibit.org/postImages/deleteWallet.png


In a similar way to the 'Send confirmation' screen, the user gets feedback on the screen as to whether the delete was successful or not.   If not successful (for instance if the files were read-only) they get a message in the space just under the buttons.

Oh: and because MultiBit does not 'like' having zero wallets, if you delete the last wallet it autogenerates a new empty one.


Title: Re: MultiBit
Post by: bitcoinspot.nl on March 26, 2012, 06:45:05 AM
I was just wondering, will it be possibel in the new version to import private keys without having to import a file?, so by just typing in the key?

and offtopic:
Is it possibole to send a (private) message with a btc transaction?

Greetz!
Roland.


Title: Re: MultiBit
Post by: bitcoinspot.nl on March 26, 2012, 06:51:43 AM
o, and another question.. sorry :)

but: the browser integration, that should be integrated in version 0.3 if im correct?
previsously you had to download the multibit snapshot to get it working, but its not functioning in version 0.3 on my computers....

Greetz~!



Title: Re: MultiBit
Post by: 3phase on March 26, 2012, 10:50:48 AM
Hi Jim,

Greek translation ready. I checked it as much as I could for consistency. My only problem is the capital letters but, as you said, it can't be made perfect, there are several differences between English and Greek shortcut keys. And yes, "mnemonic" comes from "mneme" which is "memory".

Hope this helps, and best of luck with your project. I tested the client and its fairly good and lightweight, as advertised. I'll put it in my signature for promotion as well.


Title: Re: MultiBit
Post by: spiccioli on March 26, 2012, 11:27:01 AM
Hi Jim,

do multibit wallets have a pool of private keys, like the original Satoshi client, so that you don't have to back it up after every transaction?

And if so, how big is this pool?

spiccioli.


Title: Re: MultiBit
Post by: jim618 on March 26, 2012, 11:30:02 AM
Hi 3phase,

Thanks for the translation and the signature link.
I just grabbed your text and built it: here is a screenshot:

http://multibit.org/postImages/greek.png

Looks pretty good !

I have also added you to the authors.txt that gets distributed with every copy.
You should not have long to wait before you can download a copy - midweek I am hoping for the next release.

Thanks again

Jim


Title: Re: MultiBit
Post by: jim618 on March 26, 2012, 02:13:47 PM
@bitcoinspot.nl

>> importing keys by typing them in

The hurdle with adding this (which would be very handy) is not the private key but the fact that MultiBit does not have the whole blockchain.   It only has summaries of the blocks, not all the transactions.

In the private key export files are the dates when the private keys were born (or the first transaction) so that I can work out how far back to replay the blocks.  For a key typed in I would have to "go somewhere" to get hold of this information, or replay from the genesis block (which is bad).   Of course this is more to do.


>> secure messaging
AFAIK the signmessage and verifymessage of bitcoind 0.6.0 are not visible in bitcoinj (yet - I imagine it is on Mike's TODO list).
There is no provision to put a general message on a *transaction* so it would need a sidechannel like email or a chat server to pass the messages around.

I have not heard of any work in "bitcoin land" of implementing anything like this (maybe there is someone somewhere I am unaware of).


>> browser integration
EDIT: Sorry missed your last question.
This should be working in anything from version 0.3.0beta1 onwards.
I think when we tested it is was only Chrome on a Mac that did not 'see' the bitcoin registration.

One thing it could be is that you mentioned previously you were running MultiBit off a USB.
How the browser integration works is that when MultiBit is *installed* (for Win and Linux) it registers itself:
"If you get any bitcoin: links, give them to me"

If you have MultiBit on a USB drive that you simply plug in, the host machine will not know that it is supposed to pass the bitcoin: links from the browser to MultiBit.


@spiccioli

>> pool of private keys
There are no hidden keys (i.e. a pool) in MultiBit.   The only private keys in a wallet are the ones listed (as bitcoin addresses) in the 'Request/ Receive' screen.
That being said, if you do want a whole load of private keys added it is quite easy to do.   There is a screen added for support of MultiBitMerchant (web software Gary is working on) where you can add a 1000 private keys to the active wallet in one go.
To enable the 'Merchant' option just add "showMerchantMenu=true" to the multibit.properties.

In the next couple of months there will be quite a bit of work done on wallets/ keys so if you have any ideas or specific use cases in this area I would be interested to hear about them.


Title: Re: MultiBit
Post by: jim618 on March 26, 2012, 05:48:53 PM
Hi Jim,

I just noted a minor bug in the latest release (maybe it was also present in earlier versions):

- After pressing 'Undo last changes' in the 'Preferences' screen, all the tooltips appear very small and without any text.

The bug appeared with the MacOS version. I was able to reproduce it several times.

This has been fixed.   The fix will appear in the next release (v0.3.1)


Title: Re: MultiBit
Post by: da2ce7 on March 26, 2012, 11:01:46 PM
Two Feature Requests.

Secure "New Version of Multibit Available" announcements built into the main screen.
Secure "Securty Update for Multibit" that shows instead multibit, (however multibit can be still run with an override).

Secure "New Version of Java Available" announcements.  (check the version of Java running)
Secure "Security Update to Java - Must Upgrade"  that shows instead multibit, (however multibit can be still run with an override).

I don’t know how feasible such announcements would be.  However it would make me much more combatable recommending multibit to non-tech people.


Title: Re: MultiBit
Post by: spiccioli on March 27, 2012, 06:43:51 AM
@spiccioli

>> pool of private keys
There are no hidden keys (i.e. a pool) in MultiBit.   The only private keys in a wallet are the ones listed (as bitcoin addresses) in the 'Request/ Receive' screen.
That being said, if you do want a whole load of private keys added it is quite easy to do.   There is a screen added for support of MultiBitMerchant (web software Gary is working on) where you can add a 1000 private keys to the active wallet in one go.
To enable the 'Merchant' option just add "showMerchantMenu=true" to the multibit.properties.

In the next couple of months there will be quite a bit of work done on wallets/ keys so if you have any ideas or specific use cases in this area I would be interested to hear about them.


Jim,

the private key pool is used by Satoshi's client to handle changes and make it possible to backup a wallet and keep using it for a while, see:

https://bitcointalk.org/index.php?topic=11017.msg157328#msg157328

Now, are those one thousand keys used in the same way?

spiccioli.




Title: Re: MultiBit
Post by: jim618 on March 27, 2012, 07:29:20 AM
With multibit the change goes back to one of your existing addresses.
It is less anonymous but it means you do not need a key pool.

You can export your private keys from a multibit wallet into a file (using the 'Tools | Export private keys' option) and, as long as you do not manually create new receiving addresses, that is all you need.

If something happened to your wallet and you wanted to recreate it you can:
1) create a new empty wallet.
2) import your private keys file using the 'Tools | Import private keys' option.
3) multibit then adds the private keys from the file into the new wallet and replays the blockchain to get the transactions.

There are some screenshots and howto notes here:

Exporting private keys (http://multibit.org/help_exportingPrivateKeys.html)

Importing private keys (http://multibit.org/help_importingPrivateKeys.html)





Title: Re: MultiBit
Post by: jim618 on March 27, 2012, 09:08:58 AM
Two Feature Requests.

Secure "New Version of Multibit Available" announcements built into the main screen.
Secure "Securty Update for Multibit" that shows instead multibit, (however multibit can be still run with an override).

Secure "New Version of Java Available" announcements.  (check the version of Java running)
Secure "Security Update to Java - Must Upgrade"  that shows instead multibit, (however multibit can be still run with an override).

I don’t know how feasible such announcements would be.  However it would make me much more combatable recommending multibit to non-tech people.

That is a very good idea to have some sort of secure notification inside MultiBit (a bit like Electrum's wall).

So that it does not get lost "up the thread" I have raised this in the multibit github project here:
https://github.com/jim618/multibit/issues/20 (https://github.com/jim618/multibit/issues/20)


Title: Re: MultiBit
Post by: jim618 on March 28, 2012, 02:12:51 PM
There is a new release of MultiBit at:

http://multibit.org (http://multibit.org)


Version 0.3.1

Enhancements:
+  Greek translation added - thanks 3phase!

Substantial UI upgrade done:
+  On page wallets
+  New layout styling for text panels
+  New iconset
+  Use of system colours
+  Context sensitive help

Bug fixes:
+  Fix for tooltip size being very small after set preferences undo

Release info
Changes included - Mar 13th 11:00 to Mar 28th 11:00 inclusive (http://ci.bitcoinj.org/job/MultiBit-v0.3/changes)
Scan of release checklist (http://multibit.org/test/releaseCheckList-0.3.1.jpg)


Next up: Gary, Tim and I are putting in the bitcoin ticker


Title: Re: MultiBit
Post by: bitcoinspot.nl on March 28, 2012, 02:44:40 PM
Great, the ticker means that you can make a request for bitcoin and fill in the amount in euro's ?

wow man, great work, if you add the encrypted wallet im going out with a usb-stick and will try to convince some shop-owners for the benefits of bitcoin :)


Title: Re: MultiBit
Post by: jim618 on March 28, 2012, 02:58:39 PM
Hi bitcoinspot.nl,

We have penciled in the space at the top right of the screen for the ticker but have not got it fully laid out yet. Initially it will be standalone but the idea is to integrate it properly with the amounts yes.

Encrypted wallets (and migration of the wallets to protobuf format) is the next big chunk of work yes.

I completely agree with you that encrypted wallets are essential for real world usage.


Title: Re: MultiBit
Post by: CrownCloud on March 28, 2012, 06:37:31 PM
Hmm.. The font looks just too small here  :(

Or is it supposed to be like that ?



Just found the font size changing option in the Preferences ;) New version looks great !


Title: Re: MultiBit
Post by: jim618 on March 28, 2012, 08:28:55 PM
Hi speedbus,

Thanks !

RE: the font size, it is strange, for a new install of MultiBit I now pick up the system specified default font and point size but they always seem to be on the small size (point size 11 on Windows XP for instance).   Once you set it to whatever you prefer it remembers it so no big deal.


Title: Re: MultiBit
Post by: Tittiez on March 28, 2012, 09:22:23 PM
Love the new UI! Much less bulky and more organised. Great work!

Edit:

Oh yeah I almost forgot, I have a small problem. I sent a small amount of BTC (0.075 + 0.0001tx) on the 23rd and it still reports unconfirmed, but the receivers side its confirmed and usable.

Its no big deal, just bugs me. What would be the best way to fix this? Reset the block-chain?


Title: Re: MultiBit
Post by: jim618 on March 28, 2012, 09:27:25 PM
Thanks !
It is a lot easier to navigate around I find and it is nice to be able to hide the QR codes if you are not using them.   They are distractingly ugly !


Edit: re: the unconfirmed transaction - the best bet is to do a 'reset blockchain and transactions' on the wallet with the unconfirmed transaction and you should sync back to what is on the blockchain.



On another note, I was checking the MultiBit donations and just wanted to say thanks to the donor in mid-march, and also to btctip.com (http://btctip.com) who tipped me via Twitter.   Always nice to see BTC flowing in.   :-)


Title: Re: MultiBit
Post by: freemoney458 on March 28, 2012, 09:44:48 PM
Hi Jim,

the new UI looks really nice.

I have some improvement suggestions regarding the position of the different buttons in the 'Send' and 'Request' panel.
They seem scattered at different positions in the panel. Also on the side panel they are scattered on the top and on the bottom.
I always have to reorient myself mentally when switching the panels.

1) I suggest that you group them more consequently in one area of the panel, say e.g. in one line at the top or the bottom.
This way the user will have a more consistent feeling where he finds which button.

2) Also, the 'More' and 'Less' buttons have an icon that seems to point in the wrong direction.
That is at least my impression. Maybe you can try it out with reverse direction.

Great work so far Jim, I am eager to see the next steps!



Title: Re: MultiBit
Post by: freemoney458 on March 28, 2012, 09:53:46 PM
With multibit the change goes back to one of your existing addresses.
It is less anonymous but it means you do not need a key pool.

You can export your private keys from a multibit wallet into a file (using the 'Tools | Export private keys' option) and, as long as you do not manually create new receiving addresses, that is all you need.


Hi Jim,

I suggest you put this explanation somewhere in the official documentation, because it really is a nice feature compared to the Satoshi client.
It makes maintaining backups much easier.


Title: Re: MultiBit
Post by: jim618 on March 28, 2012, 10:04:28 PM
Hi freemoney,

I know what you mean about the buttons.

The logic I have used so far is:

1) cut and paste for the address needs to be near the address
2) send needs to be near the amount
3) the arrow on the less and more points to the direction you want to move the dotted separator
    (I have tried this both ways round actually - I might change the icons for something simpler like "+" and "-" as neither seems ideal)

4) the cut/paste/zoom are on the bottom mainly because otherwise it (roughly) doubles the width of the side panel.
If you have a large screen it does not matter but for smaller screens the whole MultiBit screen starts getting quite wide.  I want the screen to 'work' down to 1280x1000 which a lot of smaller laptops have.

I will play around with the side panel icons on the top row which I agree would be more consistent (probably on the right of the combo box or there will be two sets of cut and paste icons right next to each other)

It is actually quite a challenge to get something that works and looks reasonable on both small screens and big screens on all of Win/ linux/ Mac.

Thanks for your feedback.   :-)


re: private key export as a backup.
Good point - I will put it in the online help.








Title: Re: MultiBit
Post by: phr33 on March 29, 2012, 04:24:46 PM

You can now connect to a single node with the following property in multibit.properties:
singleNodeConnection=<name of node>


I've tried this and specified this in multibit.properties to connect to another machine on my LAN.
I then saw that it connected to more than one peer. Acctually it seems like it's connecting just like without the singleNodeConnection.
No errors when I specify a host that is not running any client.

Is there an automatic fallback to any host when this feature is used?

Thanks


Title: Re: MultiBit
Post by: jim618 on March 29, 2012, 04:37:03 PM
Hi phr33,

I just checked the code for the singleNodeConnection, it is this if-else:

Code:
     String singleNodeConnection = controller.getModel().getUserPreference(MultiBitModel.SINGLE_NODE_CONNECTION);
        if (singleNodeConnection != null && !singleNodeConnection.equals("")) {
            try {
                peerGroup.addAddress(new PeerAddress(InetAddress.getByName(singleNodeConnection)));
                peerGroup.setMaxConnections(1);
            } catch (UnknownHostException e) {
                log.error(e.getMessage(), e);
            }
        } else {
            // use DNS for production, IRC for test
            if (useTestNet) {
                peerGroup.addPeerDiscovery(new IrcDiscovery(IRC_CHANNEL_TEST));
            } else {
                peerGroup.addPeerDiscovery(new DnsDiscovery(networkParameters));
            }
        }

where MultiBitModel.SINGLE_NODE_CONNECTION="singleNodeConnection"

Maybe I did not make it clear that the node does not have 'less than' and 'more than' characters, i.e. if the node is, say, 12.34.56.78 you would put:
singleNodeConnection=12.34.56.78

It should not fall back to normal node lookup no, it should just sit there unable to connect to the one node you specified if you do not have a bitcoind on that node.

The only other thing I can think of is that it is not reading the multibit.properties you are editing.   It should be the one in your username's <application data>/MultiBit directory (unless you are running in 'portable mode' on a USB).

Oh, and the 'singleNodeConnection' is case sensitive.




Title: Re: MultiBit
Post by: phr33 on March 29, 2012, 04:54:04 PM
Hi phr33,

I just checked the code for the singleNodeConnection, it is this if-else:

Code:
     String singleNodeConnection = controller.getModel().getUserPreference(MultiBitModel.SINGLE_NODE_CONNECTION);
        if (singleNodeConnection != null && !singleNodeConnection.equals("")) {
            try {
                peerGroup.addAddress(new PeerAddress(InetAddress.getByName(singleNodeConnection)));
                peerGroup.setMaxConnections(1);
            } catch (UnknownHostException e) {
                log.error(e.getMessage(), e);
            }
        } else {
            // use DNS for production, IRC for test
            if (useTestNet) {
                peerGroup.addPeerDiscovery(new IrcDiscovery(IRC_CHANNEL_TEST));
            } else {
                peerGroup.addPeerDiscovery(new DnsDiscovery(networkParameters));
            }
        }

where MultiBitModel.SINGLE_NODE_CONNECTION="singleNodeConnection"

Maybe I did not make it clear that the node does not have 'less than' and 'more than' characters, i.e. if the node is, say, 12.34.56.78 you would put:
singleNodeConnection=12.34.56.78

It should not fall back to normal node lookup no, it should just sit there unable to connect to the one node you specified if you do not have a bitcoind on that node.

The only other thing I can think of is that it is not reading the multibit.properties you are editing.   It should be the one in your username's <application data>/MultiBit directory (unless you are running in 'portable mode' on a USB).

Oh, and the 'singleNodeConnection' is case sensitive.


I made sure it was the right proporties file by seeing how the fee was fetched corretly. But I found the problem! I set the property "singleConnectionNode" (as stated in configuration.txt) rather than "singleNodeConnection". I think it's best to correct the txt file :)

singleNodeConnection works like a charm. Thanks!


Title: Re: MultiBit
Post by: jim618 on March 29, 2012, 05:06:07 PM
Hi phr33,

I will correct the configuration file !
Done

Glad you got it working.   You should be able to pull off blocks pretty quick on a LAN.

:-)

Jim


Title: Re: MultiBit
Post by: jim618 on March 30, 2012, 04:50:57 PM
Hello Everybody,

I got a report today of a serious bug as follows:

Transactions from mining generation block sometimes not appearing in MultiBit wallets

It appears that sometimes the transactions from your pool share of the 50 BTC block reward is not appearing in the wallet in MultiBit, even though the transaction is on the blockchain and you can see it in blockexplorer/ blockchain.info.

I recall someone else mentioning something similar to me in the past but I missed the significance of it - sorry.


Recommendations
  • For the moment, do not forward your mining block rewards to a MultiBit receiving address
  • If you have a receiving address in MultiBit that you have been sending mining block rewards to, check its balance against the same address in blockexplorer.com or blockchain.info.   If they do not match look at 'Recovering your bitcoin' below.

I am in the process of buying an example wallet from a miner (not being a miner myself) so as to be able to reproduce the bug and fix it.

Recovering your bitcoin
If you unfortunately have a discrepancy on your mining block reward address you can either wait for a fix from me or do the following:
1) Choose the wallet in question in the wallet side panel.
2) Export the private keys WITHOUT A PASSWORD in the 'Export private keys' screen.
3) Open the output key file, select everything and copy it into your paste buffer.
4) Go to http://blockchain.info and either log in to your blockchain.info wallet or create a new one.
5) Go to the 'Import/Export' screen.
6) In the 'Import Wallet' text area, paste in the contents of the key file.
7) Press 'Import Wallet'.

This puts your private keys in your blockchain.info wallet.
(You sometimes have to log out/ shut down/ start up/ login again to get blockchain.info to refresh the wallet to see the transactions).

You should then see your mining block reward transactions.


Apologies for any inconvenience and I will be looking at the problem over the weekend.

Jim

Edit: added to github: https://github.com/jim618/multibit/issues/21 (https://github.com/jim618/multibit/issues/21)





Title: Re: MultiBit
Post by: jim618 on March 31, 2012, 03:06:31 PM
I have found a fix for the problem with mining dues not being visible.

It was to do with some 'strange' scripts at the beginning of some coinbase distributions to pool participants.
Anyhow, I have a fix and testcase to check for it in the build.   I am just checking the change has not broken anything else.

It will probably be Monday when the next version will come out with the fix in.


Title: Re: MultiBit
Post by: jim618 on April 01, 2012, 01:39:08 PM
There is a new release of MultiBit at:

http://multibit.org


Version 0.3.2

This is a bugfix release.

Bug fixes:
+  Fix so that mining pool coinbase transactions appear in wallets correctly.
+  Fix in documentation 'configuration.txt' incorrect parameter name specified.
+  Tweaked point size of first-install default font (+1)

Release info
Changes included - Mar 28th 12:00 to Apr 1st 11:00 inclusive (http://ci.bitcoinj.org/job/MultiBit-v0.3/changes)
Scan of release checklist (http://multibit.org/test/releaseCheckList-0.3.2.jpg)


P.S. This release will see any new mining dues you receive but to see any previous ones MultiBit was not showing you need to force it to replay the blocks for the time period in question.  

There are various ways to do this but probably the easiest is:
1) Create a new dummy wallet.
2) Export the private keys NOT PASSWORD PROTECTED for the wallet where you are expecting your mining dues to appear to a key file, say, myWallet.key
3) Open up the myWallet.key in a text editor and change one of the 'createdAt' dates to sometime before your first mining payout.
4) Import the myWallet.key into your dummy wallet.

This will replay the blocks that include your mining dues.   The transactions will appear in both your mining wallet and the dummy wallet.

5) Once the replay is done just delete the dummy wallet (it only has its default key - empty - and duplicate keys in it so is safe to delete).   Delete the unprotected key file just to be on the safe side too.


Title: Re: MultiBit
Post by: jim618 on April 01, 2012, 02:03:23 PM
Thanks to whoever donated 10BTC to the multibit.org donation address on Mar 29th !

:-)


Title: Re: MultiBit
Post by: da2ce7 on April 02, 2012, 09:14:11 AM
Bug in Multibit:

When Sending bitcoins, my ballance is going UP!  This shoudn't be happening...
Multibit is not getting rid of the old bitcoins, and is just adding the cange to my ballance:

http://hostinga.imagecross.com/image-hosting-15/8137multibit-bug.PNG

http://hostinga.imagecross.com/image-hosting-15/8225multibit-bug2.PNG

How can I help debug this problem? I'm running multibit 0.3.1


Title: Re: MultiBit
Post by: jim618 on April 02, 2012, 11:51:01 AM
Hello da2ce7,

Thanks for your post.

Where is the address 1DnHd6... that you are sending to in the transaction you showed the details for ?
I cannot see it on blockchain.info

I don't suppose it is IN the wallet you are sending FROM is it ?

For 1Jojn83 I just see on blockchain.info the 2 transactions:
62632c89d922aa3d43e58d55d306a74c1ac15cbeacc53bbd42a87840254e0497
(funding of 1 BTC)

and

6ff5fd7b2f8045a5d4cbff06bfbb6671878e40d2d4580dda96d27aadad619527
funding of 0.01 BTC to
1JQDEgz9rBb8fnX7PzZgtCTVLTftYtkuTp

Could you PM me a screen shot of the request screen so that I can see what addresses are in there and the multibit_debug.log and multibit_console.log (in your <application data directory>/MultiBit/log directory) please and I will have a look.

Certainly does not look right.



Title: Re: MultiBit
Post by: jim618 on April 02, 2012, 05:19:59 PM
I find myself looking up MultiBit transactions quite often in blockexplorer/ blockchain.info.
I have added a couple of buttons in the transaction details dialog to do the lookup automatically:

http://multibit.org/postImages/transactionDetails.png

If you click the button it opens your default browser viewing the transaction details at blockexplorer.com or blockchain.info

(This behaviour is operating system dependent - the buttons only appear if Java can open your browser).


Title: Re: MultiBit
Post by: jim618 on April 02, 2012, 09:31:46 PM
I have added in a 'Welcome" screen that the user sees when they open MultiBit for the first time:

http://multibit.org/postImages/welcome.png

It is also available as the "Help | Welcome" menu option.
The text is in the localisation files for anyone who wants to translate it.

Oh, and I have put a CSS on the help text so that it uses the user specified font and point size


Title: Re: MultiBit
Post by: bitcoinspot.nl on April 03, 2012, 06:42:50 AM
the "view in blockchain"etc buttons are great!


Title: Re: MultiBit
Post by: jim618 on April 03, 2012, 10:25:17 AM
Yes - they are quite a timesaver.
I do not think blockexplorer or blockchain.info will mind the small increase in traffic.


Title: Re: MultiBit
Post by: jim618 on April 03, 2012, 09:05:35 PM
I have been tidying up the online help tonight as follows:

http://multibit.org/postImages/helpContents.png

There are still a couple of help pages that are "To do" and I will probably add a jargon entry for "What is a private key ?" as well.
You can only write help for so long before your brain melts so I will finish it off tomorrow.   :-)


Edit: Done


Title: Re: MultiBit
Post by: Tittiez on April 04, 2012, 10:51:53 AM
Have you ever considered having Vanitygen included in MultiBit?


Title: Re: MultiBit
Post by: jim618 on April 04, 2012, 01:33:52 PM
Hi Tittiez,

I must admit it had never occurred to me to do a little front end and then call down to Vanitygen to do the grunt work for vanity addresses.

I can see the appeal - it has gone on my list of "MultiBit ideas".

I expect the next couple of months will be tied up with encrypted wallets etc but it is certainly worth thinking about later on.

:-)


Title: Re: MultiBit
Post by: jim618 on April 04, 2012, 09:48:12 PM
freemoney and mrmx have been busy translating the Welcome page into German and Spanish respectively.
Also I have tweaked the MultiBit start up so that it now looks for the user's locale and switches to it directly (or drops to English if the user's language is not supported).

The combination of these means that German and Spanish users see the welcome screen in their native tongue as follows:

http://multibit.org/postImages/welcome_de.png

http://multibit.org/postImages/welcome_es.png


As this is the very first text a user sees after installing MultiBit it is quite "high value".   If you want to localise this text for your language, go to http://translate.multibit.org (http://translate.multibit.org), pick your language and then search for terms with "welcome" in.   This picks up the 4 paragraphs of welcome text.


Title: Re: MultiBit
Post by: bitcoinspot.nl on April 05, 2012, 08:42:22 AM
Dutch is done.  :D


Title: Re: MultiBit
Post by: jim618 on April 05, 2012, 09:00:21 AM
Great - thanks bitcoinspot.nl !

Tim and Gary have some time over the long weekend so we are going to have a push on the ticker.
I expect the next release will thus be early next week so I will include all the new localisation work then.


Title: Re: MultiBit
Post by: jim618 on April 05, 2012, 01:54:27 PM
I have added in a date picker into the 'Reset blockchain and transactions' screen as below:

http://multibit.org/postImages/resetTransactions.png

The 'Reset from date of first transaction' option is the same as before. (This is the default option when the screen is opened).

With the 'Specify reset date' it:

1) Removes all transactions on or after the date specified for the active wallet.
2) Replays the blocks from midnight at the start of the day specified to pick up all the transactions.

The reset date is initially set to "two weeks ago" which I find normally does the job.


Title: Re: MultiBit
Post by: jim618 on April 05, 2012, 10:05:36 PM
It is not quite finished yet
I have just put in quite a handy feature.

The list of addresses in the Send and Request screen is now sorted by label.
And as you type your label text in the main entry form it moves the row to its correct sort position in the addresses list.
It is a bit hard to describe in words:

Screenshot:
http://multibit.org/postImages/sortedAddresses.png

Here you can see I have grouped a few addresses simply by typing 'exact' as a prefix.  You create a new address, type the prefix in the label box and you can easily see the other, related addresses.

(You can also sort by bitcoin address too if you want).


Title: Re: MultiBit
Post by: jim618 on April 07, 2012, 09:43:01 PM
It is the start of a longish road, but I have started on a command line interface for the MultiBit object model.  This will, when it is complete, be able to manipulate all the 'things' in MultiBit using a command line.

At the moment all it can do is show help, create new wallets and exit the shell as follows:
Code:
host47:Java jim$ cat multiBitShell.sh
java -classpath multibit-shell-exe.jar org.multibit.viewsystem.commandline.MultiBitCommandLine
host47:Java jim$ ./multiBitShell.sh
22:31:33.477 [main] INFO  o.m.v.c.MultiBitCommandLine - Starting MultiBitCommandLine
22:31:33.484 [main] INFO  o.m.ApplicationDataDirectoryLocator - Application data directory.1 = '/Users/jim/Library/Application Support/MultiBit'
22:31:33.514 [main] DEBUG o.m.v.c.MultiBitCommandLine - useTestNet = false
22:31:33.545 [main] DEBUG o.m.v.c.MultiBitCommandLine - userLanguageCode = en
22:31:33.564 [main] DEBUG o.m.v.c.MultiBitCommandLine - Creating model
22:31:33.569 [main] DEBUG org.multibit.model.MultiBitModel - Initial view from properties file is '1'
22:31:33.569 [main] DEBUG o.m.v.c.MultiBitCommandLine - Creating views
MB > 22:31:33.576 [main] DEBUG o.m.v.c.MultiBitCommandLine - Registering with controller
22:31:33.577 [main] DEBUG o.m.v.c.MultiBitCommandLine - Creating Bitcoin service
22:31:33.678 [main] DEBUG org.multibit.network.MultiBitService - Reading block store '/Users/jim/Library/Application Support/MultiBit/multibit.blockchain' from disk
22:31:33.683 [main] INFO  o.m.store.ReplayableBlockStore - Reading block store from /Users/jim/Library/Application Support/MultiBit/multibit.blockchain
22:31:33.691 [main] INFO  o.m.store.ReplayableBlockStore - Read chain head from disk: 0000000000000a22f6f29ba1f5ca3c95bcf13d5f2bafeb45028971a154d73026
22:31:33.693 [main] DEBUG org.multibit.network.MultiBitService - Connecting ...
22:31:33.720 [main] DEBUG o.m.v.c.MultiBitCommandLine - Locating wallets
22:31:33.721 [main] DEBUG o.m.v.c.MultiBitCommandLine - Loading wallet from '/Users/jim/real money/blockChain.wallet'
MB:Message   : Opening wallet "/Users/jim/real money/blockChain.wallet"...
22:31:36.204 [main] DEBUG org.multibit.file.FileHandler - rememberFileSizesAndLastModified: Wallet filename /Users/jim/real money/blockChain.wallet , walletFileSize 3728832 ,walletFileLastModified 1333804495000 ,walletInfoFileSize 4399 ,walletInfoFileLastModified 1333804493000
MB:Message   : Opening wallet "/Users/jim/real money/blockChain.wallet"... done.
22:31:36.219 [main] DEBUG o.m.v.c.MultiBitCommandLine - Loading wallet from '/Users/jim/real money/pettyCash.wallet'
MB:Message   : Opening wallet "/Users/jim/real money/pettyCash.wallet"...
22:31:36.547 [main] DEBUG org.multibit.file.FileHandler - rememberFileSizesAndLastModified: Wallet filename /Users/jim/real money/pettyCash.wallet , walletFileSize 452062 ,walletFileLastModified 1333804496000 ,walletInfoFileSize 1246 ,walletInfoFileLastModified 1333804496000
MB:Message   : Opening wallet "/Users/jim/real money/pettyCash.wallet"... done.
22:31:36.563 [main] DEBUG o.m.v.c.MultiBitCommandLine - Loading wallet from '/Users/jim/real money/multibitDonate/donations.wallet'
MB:Message   : Opening wallet "/Users/jim/real money/multibitDonate/donations.wallet"...
22:31:37.072 [main] DEBUG org.multibit.file.FileHandler - rememberFileSizesAndLastModified: Wallet filename /Users/jim/real money/multibitDonate/donations.wallet , walletFileSize 992392 ,walletFileLastModified 1333804841000 ,walletInfoFileSize 1189 ,walletInfoFileLastModified 1333804840000
MB:Message   : Opening wallet "/Users/jim/real money/multibitDonate/donations.wallet"... done.
22:31:37.103 [main] DEBUG o.m.v.c.MultiBitCommandLine - Loading wallet from '/users/jim/test/test1.wallet'
MB:Message   : Opening wallet "/users/jim/test/test1.wallet"...
22:31:37.109 [main] DEBUG org.multibit.file.FileHandler - rememberFileSizesAndLastModified: Wallet filename /users/jim/test/test1.wallet , walletFileSize 3082 ,walletFileLastModified 1333833631000 ,walletInfoFileSize 278 ,walletInfoFileLastModified 1333833631000
MB:Message   : Opening wallet "/users/jim/test/test1.wallet"... done.
22:31:37.110 [main] DEBUG o.m.v.c.MultiBitCommandLine - Loading wallet from '/users/jim/test/test2.wallet'
MB:Message   : Opening wallet "/users/jim/test/test2.wallet"...
22:31:37.115 [main] DEBUG org.multibit.file.FileHandler - rememberFileSizesAndLastModified: Wallet filename /users/jim/test/test2.wallet , walletFileSize 3082 ,walletFileLastModified 1333833671000 ,walletInfoFileSize 395 ,walletInfoFileLastModified 1333833671000
MB:Message   : Opening wallet "/users/jim/test/test2.wallet"... done.
22:31:37.116 [main] DEBUG o.m.v.c.MultiBitCommandLine - Loading wallet from '/users/jim/test/test3.wallet'
MB:Message   : Opening wallet "/users/jim/test/test3.wallet"...
22:31:37.121 [main] DEBUG org.multibit.file.FileHandler - rememberFileSizesAndLastModified: Wallet filename /users/jim/test/test3.wallet , walletFileSize 3082 ,walletFileLastModified 1333833719000 ,walletInfoFileSize 87 ,walletInfoFileLastModified 1333833719000
MB:Message   : Opening wallet "/users/jim/test/test3.wallet"... done.
22:31:37.127 [main] DEBUG o.m.v.c.MultiBitCommandLine - Downloading blockchain
MB:Error     : No view to display with id 1
MultiBitTool#processLine args = --action=HELP

22:31:37.128 [SwingWorker-pool-1-thread-7] DEBUG org.multibit.network.MultiBitService - Downloading blockchain
MultiBitShell: print and manipulate the MultiBit object model

Usage (Implemented):
  HELP           Show this help text.
  EXIT           Exit this MultiBitShell session.
  CREATE         --wallet --filename=<>                     Makes a new wallet in the file specified.

(Not Implemented Yet):
  CREATE         --sendingAddress --address=<> --label=<>   Makes a new sending address with the given address and label.
                 --receivingAddress --label=<>              Makes a new receiving address with the given label.

  EDIT           --preferences                              Edit the MultiBit preferences.
                 --sendingAddress --address=<> --label=<>   Edit the sending address matching the given address or label.
                 --receivingAddress --address=<> --label=<> Edit the receiving address matching the given address or label.

  LIST           --wallets                                  Lists all open wallets in a format suitable for picking.
                 --sendingAddresses                         Lists all sending addresses in a format suitable for picking.
                 --receivingAddresses                       Lists all receiving addresses in a format suitable for picking.
                 --transactions                             Lists all transactions for the active wallet for picking.

  PICK           --number=<> or --value=<>                  Pick from the last list either by list number or match by value.

  DELETE         --wallet --filename=<>                     Delete the wallet with the file specified.
                 --sendingAddress --address=<> --label=<>   Delete the sending address with the given address or label.
                 --receivingAddress --address --label=<>    Delete the receiving address with the given address or label.

  SEND           --address=<> --amount=<>                   Send the specified amount of BTC to the address specified.

  RESET          --date=<>                                  Remove all transactions on or after the date, or all if no date specified.
  REPLAY         --date=<>                                  Replay the blockchain from the date specified.

  IMPORT_KEYS    --filename=<> --password=<>                Import private keys from the filename specified, using the password.
  EXPORT_KEYS    --filename=<> --password=<>                Export private keys from the filename specified, using the password.

  WAIT_FOR       --online or --replayComplete               Wait for MultiBit to come online or for the blockchain replay to complete.

  SHOW           --activeWallet                             Show which wallet is the active wallet.
                 --online                                   Show whether MultiBit is onine or not.
                 --helpAbout                                Show the help about MultiBit details.
                 --ticker                                   Show the most recent ticker details.
                 --messages=<number>                        Show the most recent <number> of messages.
                 --transaction                              Show the details of the last picked transaction.

MB:Message   : Synchronised with network.
MB:Message   : Synchronised with network.. 100.0% complete.
MB:Message   : Synchronised with network.
MB:Message   : Synchronised with network.. 100.0% complete.
MB:Message   : MultiBit is now online

MB > CREATE --wallet --filename=/users/jim/test/test4.wallet
MultiBitTool#processLine args = --action=CREATE --wallet --filename=/users/jim/test/test4.wallet

22:32:07.727 [Thread-2] DEBUG org.multibit.model.WalletInfo - Could not load walletinfo file '/users/jim/test/test4.info'
22:32:07.728 [Thread-2] DEBUG org.multibit.model.WalletInfo - Cause : /users/jim/test/test4.info (No such file or directory)
22:32:07.733 [Thread-2] DEBUG org.multibit.file.FileHandler - Result of check of whether files have changed for wallet filename /users/jim/test/test4.wallet was true.
22:32:07.741 [Thread-2] DEBUG org.multibit.file.FileHandler - rememberFileSizesAndLastModified: Wallet filename /users/jim/test/test4.wallet , walletFileSize 3082 ,walletFileLastModified 1333834327000 ,walletInfoFileSize 87 ,walletInfoFileLastModified 1333834327000
22:32:07.745 [Thread-2] DEBUG org.multibit.file.FileHandler - rememberFileSizesAndLastModified: Wallet filename /users/jim/test/test4.wallet , walletFileSize 3082 ,walletFileLastModified 1333834327000 ,walletInfoFileSize 87 ,walletInfoFileLastModified 1333834327000
22:32:07.746 [Thread-2] DEBUG org.multibit.file.FileHandler - When writing wallets, there were 7
22:32:07.749 [Thread-2] DEBUG o.m.v.s.action.CreateNewWalletAction - User preferences with new wallet written successfully
MB > EXIT
MultiBitTool#processLine args = --action=EXIT

MultiBitTool#processLine - exit called.
host47:Java jim$

It will be a 'background task' whilst I work through other stuff.

Note: Primarily for security considerations none of the code for the MultiBit command line will be put in the regular MultiBit installers.   There is a separate jar file (multibit-shell-exe.jar) that people will have to download if they want to use this.  It is for advanced users so it is better not to have it in the regular installers.

P.S.  The parser (the clever bit of the code that interprets all the commands and options) is a blatant copy of Mike Hearn's wallet-tool which does a similar task for the bitcoinj code. Thanks Mike !


Title: Re: MultiBit
Post by: freemoney458 on April 08, 2012, 10:37:15 AM
Nice idea to put in a CLI for advanced users.

I guess this will make it possible to write testing scripts for automated testing.
Or kind of a validation suite that users can execute on their system to be sure that everything works as intended.
Are you planning in this direction, too?


Title: Re: MultiBit
Post by: jim618 on April 08, 2012, 11:08:34 AM
Hi freemoney,

Functional testing/ test scripts
Yes I am putting in the CLI now (well starting on it) mainly to make scripted / functional testing easier.   There is quite a bit of internal work coming up with encrypted wallets etc so I wanted to improve my testing capability. You can only do so much with unit tests.

The code in the CLI will be exercising the same code as in the GUI (but obviously not the 'click here' stuff) so it will improve my test coverage generally too.

The test scripts could also be used by the end user as validation and diagnostic scripts too.


Medium term - market data
In the medium term the exchange data we are just starting to hook into will also be available on the MultiBit object model (and then subsequently the CLI).   This will give people shell access to:

+ all your wallet information and ability to spend
+ the market data from the exchanges you are hooked into
+ the state of the MultiBit runtime itself (i.e. are all the blocks downloaded ?).

That is *close* to being able to write whole scripted algorithms to, say, trade bitcoin across exchanges. (There is no looping or conditions in the CLI at the moment so that would have to be added.   Or it could be hooked into a rules engine).


Secure shell usage - iOS will fall to bitcoin !
Edit: oh and a CLI means that you could run a secure shell (SSH) from one machine to another if you wanted.
It would be slightly nerdy but you could have an SSH from your iPhone to a cloud VM somewhere if you wanted.

An iOS developer would then have a reasonable interface to write an iOS GUI against.
(I am not really planning to do this - not enough time - just saying what is possible).



Title: Re: MultiBit
Post by: jim618 on April 09, 2012, 11:13:39 AM
You have probably already noticed, but I have started up a dedicated thread for discussion of the MultiBitShell command line interface.

As it is a bit nerdier and most MultiBit users will never feel the need to use it, please post any MultiBitShell comments/ feedback in that thread.

Thanks.


Title: Re: MultiBit
Post by: jim618 on April 11, 2012, 01:13:58 PM
We have made progress on the Bitcoin currency ticker.
This is a little box that gives you the latest exchange rates.

We have not quite got it all hooked up yet but here is what it looks like with (scratched out) randomly generated data:

Image out of date - see further down thread

The user can show and hide the ticker with the "View | Show/Hide currency ticker" menu option.
When you initially show the ticker it shows a single rate (which will be midpoint between bid and ask as reported by the exchange).   This is to keep it simple.

To configure the ticker you simply click it to open the preferences.   At the moment the only option is to show the bid and ask, which gives you a screen like this:

Image out of date - see further down thread

You can see we have scope for the following enhancements over time:
+ Choose the currency to show.
+ Choose the exchange to use (We only have Mt.Gox at the moment.   This comes from the XChange code - we are currently working on Intersango and a Russian exchange IMCEX).
+ Have a second currency+ exchange pair immediately below the first.   This could be, say, the bid and ask for USD from Intersango or the current euro rate from WhateverExchange.



Title: Re: MultiBit
Post by: bitcoinspot.nl on April 11, 2012, 02:22:16 PM
so would it be possible then, that i can fill in an amount in euro's and multibit will translate it to the corresponding amount in bitcoins?


Title: Re: MultiBit
Post by: jim618 on April 11, 2012, 02:47:40 PM
Hi bitcoinspot.nl,

At the moment the ticker is pretty much standalone. The other screens do not know about exchange data (yet).

Mainly because I want to work on the wallets/ encryption I am going to get the basic ticker working and leave it for that now.

As with all things, it gets more complicated. You send 5 euros to me, the exchange rate varies : I only receive 4,50 when I look. So you have to keep the exchange rate at the time of transaction for each transaction as evidence etc etc.



Title: Re: MultiBit
Post by: jim618 on April 11, 2012, 09:19:01 PM
Mike Hearn noticed whilst testing MultiBit that I had not implemented a speed-up technique that he had implemented called FastCatchup:

 http://code.google.com/p/bitcoinj/wiki/FastCatchup (http://code.google.com/p/bitcoinj/wiki/FastCatchup)

This is a technique that speeds up the initial sync of the blockchain that is included in the installer for new users.
I have put this into the MultiBit code base just now.

Results
+ Using a 3G modem
+ Using my 3 year old Mac
+ Using a blockchain that is 10 days old (sync of 1420 blocks).

From double clicking the MultiBit icon to the 'Synchronised with network' message appearing:
27 seconds



Edit: More results:
+ Using coffee shop wifi
+ Using my 3 year old Mac
+ Using a blockchain that is 11 days old (sync of 1500 blocks).

From double clicking the MultiBit icon to the 'Synchronised with network' message appearing:
18 seconds



Excellent !

It will go into the next release (0.3.3).


Title: Re: MultiBit
Post by: Mike Hearn on April 12, 2012, 08:48:05 AM
Note that the speedup only happens for new wallets. After your initial sync as a new user the speed goes back to normal (still much faster than Bitcoin-Qt but not "thousands of blocks per second" which is achievable for first time users).

We'll speed up the active-user case some more later.


Title: Re: MultiBit
Post by: da2ce7 on April 12, 2012, 09:02:25 AM
Of Course you are going to be implementing the Sipa HD Wallet's.

For Random Private Key Generation... It may be beneficial in using the https://en.bitcoin.it/wiki/Mini_private_key_format
This would make the keys smaller for easy transfer on paper.  This may come in handy when you implement a 'print paper backup' feature.


Title: Re: MultiBit
Post by: jim618 on April 12, 2012, 09:11:08 AM
Hi da2ce7,

Thanks for the heads up on that. The mini key format is definitely preferable for QR codes.

Re: Sipa's deterministic wallets. This is very interesting development - I believe it is pencilled in for bitcoind v0.7. And yes it is the obvious one for Multibit to implement.

Jim


Title: Re: MultiBit
Post by: jim618 on April 13, 2012, 03:49:21 PM
After some evening coding last night by Tim, Gary and I we now have the XChange data flowing into MultiBit and have the ticker hooked up:

edit: you can now switch individual columns on and off

http://multibit.org/postImages/currencyTicker3.png

Just showing one "Last price" with all the other columns switched off
http://multibit.org/postImages/currencyTicker4.png

We will initially release with just MtGox as that is the most mature code.
Still a bit of finishing off to do yet.


Title: Re: MultiBit
Post by: CrownCloud on April 16, 2012, 07:57:16 PM
After some evening coding last night by Tim, Gary and I we now have the XChange data flowing into MultiBit and have the ticker hooked up:

edit: you can now switch individual columns on and off

http://multibit.org/postImages/currencyTicker3.png

Just showing one "Last price" with all the other columns switched off
http://multibit.org/postImages/currencyTicker4.png

We will initially release with just MtGox as that is the most mature code.
Still a bit of finishing off to do yet.

Looks awesome !! Great Workk !! MultiBit is awesome !!!


Title: Re: MultiBit
Post by: jim618 on April 16, 2012, 08:48:00 PM
Thanks speedbus !

It is quite a handy little addition having the exchange rate in the corner.

The next release should be out in a day or two - just got to tidy things up.


Title: Re: MultiBit
Post by: jim618 on April 17, 2012, 12:38:24 PM
There is a new release of MultiBit at:

http://multibit.org


Version 0.3.3

Enhancements:
+  Added FastCatchup for fast new user blockchain synchronisation (less than 1 minute)
+  Added currency ticker with support for MtGox exchange
+  Address books are now sorted and current row moves-as-you-type
+  Welcome screen added : available in de, en, es, nl.
+  From the transactions details dialog, the user can open transaction details in blockchain.info or blockexplorer.com in their browser
+  Can now specify a date from which to reset the blockchain and transactions

Release info
Changes included - Apr 1st 12:00 to Apr 16th inclusive (http://ci.bitcoinj.org/job/MultiBit-v0.3/changes)
Scan of release checklist (http://multibit.org/test/releaseCheckList-0.3.3.jpg)


Title: Re: MultiBit
Post by: Tittiez on April 17, 2012, 07:41:57 PM
Can we have the ability to sign messages? I need this feature for P2PMining.com to change my Merged Mining address.


Title: Re: MultiBit
Post by: jim618 on April 17, 2012, 08:06:25 PM
Hi Tittiez,

I will have a look into it.   Not sure if it is in the bitcoinj interface (the underlying library I am using for bitcoin related things)

Jim


Title: Re: MultiBit
Post by: davout on April 18, 2012, 09:23:34 AM
I suggest making the transaction fee a real user-settable setting.


Title: Re: MultiBit
Post by: jim618 on April 18, 2012, 10:47:09 AM
Hi davout,

We covered the pros and cons of zero tx fees in the github issue you raised:
https://github.com/jim618/multibit/issues/23 (https://github.com/jim618/multibit/issues/23)

The main issue with zero tx fees is that sufficient tx see delays that users who 'just want it to work' have a bad user experience. I want to avoid that.


Title: Re: MultiBit
Post by: bitcoinspot.nl on April 18, 2012, 11:39:19 AM
Hi, just to bust in on your discussion:

One of the main selling points for bitcoin is that there are no transaction fees.
Can't you add a warning of some sort that with no transaction fees the transaction will take more time?
Or dont the transactions get processed at all without the tx fee?

Roland.


Title: Re: MultiBit
Post by: Mike Hearn on April 18, 2012, 06:24:44 PM
The only reason TX fees are being set by MultiBit and Bitcoin Wallet for every transaction is that bitcoinj doesn't calculate them correctly yet. That's obviously just a problem that needs to be fixed and then people will be using the same (similar) fee rules as Bitcoin-Qt.


Title: Re: MultiBit
Post by: davout on April 18, 2012, 06:55:59 PM
The only reason TX fees are being set by MultiBit and Bitcoin Wallet for every transaction is that bitcoinj doesn't calculate them correctly yet. That's obviously just a problem that needs to be fixed and then people will be using the same (similar) fee rules as Bitcoin-Qt.
The suggestion is simply to let users set the tx fee to zero if they wish (after a big bold warning), and not force a tx fee even when a human user nicely asked specifically not to add one. It's just an annoyance I had when testing MultiBit, other than that I really like it.


Title: Re: MultiBit
Post by: freemoney458 on April 18, 2012, 07:29:30 PM
Hi,

I tried to activate the currency ticker in MultiBit-0.3.3 on MacOS X 10.5.8.
I tried different settings, but the ticker does not show up.

Any suggestions?


Title: Re: MultiBit
Post by: jim618 on April 18, 2012, 10:20:03 PM
Hi freemoney,

In the view menu, there is an option to 'show currency ticker' that needs to be selected before it appears at all. Did you select that ?


Title: Re: MultiBit
Post by: HostFat on April 19, 2012, 08:55:49 AM
Hi bitcoinspot.nl,

At the moment the ticker is pretty much standalone. The other screens do not know about exchange data (yet).

Mainly because I want to work on the wallets/ encryption I am going to get the basic ticker working and leave it for that now.

As with all things, it gets more complicated. You send 5 euros to me, the exchange rate varies : I only receive 4,50 when I look. So you have to keep the exchange rate at the time of transaction for each transaction as evidence etc etc.
I hope also to see this feature implemented ( or a way to archive it )


Title: Re: MultiBit
Post by: jim618 on April 19, 2012, 09:27:59 AM
Hi HostFat,

Yes it would be very nice to be able to switch MultiBit to present in the user's fiat currency. It would make the whole 'what is a bitcoin ?' question disappear for the average user.


As I am going to concentrate on upgrading wallets for probably the next couple of months it will just have to wait though.

In a commercial environment you would have a team of people working on a product like MultiBit (or Armory or Electrum). With open source you can only really concentrate on one area at a time due to the amount of manpower available.


Title: Re: MultiBit
Post by: freemoney458 on April 19, 2012, 05:50:15 PM
Hi freemoney,

In the view menu, there is an option to 'show currency ticker' that needs to be selected before it appears at all. Did you select that ?

Hi Jim,

that did the trick. Shame on me I did not find it.
Thanks for the hint.


Title: Re: MultiBit
Post by: jim618 on April 19, 2012, 06:04:46 PM
I think I will put a checkbox at the top of the Currency ticker section in the Preferences:

Show currency ticker

Then it will be clearer.


Title: Re: MultiBit
Post by: piuk on April 20, 2012, 11:16:10 AM
Jim, I'd like to make a patch for multibit to import blockchain.info wallets. Is https://github.com/jim618/multibit the latest source tree?


Title: Re: MultiBit
Post by: jim618 on April 20, 2012, 12:29:48 PM
Hi piuk,

That would be a great patch.

I have been committing to the v0.3 branch here:
https://github.com/jim618/multibit/tree/v0.3

As you have probably already spotted, the class you'll be interested in is:
https://github.com/jim618/multibit/blob/v0.3/src/main/java/org/multibit/file/PrivateKeysHandler.java

Just PM me or email me at jim@<the name of the multibit website> if anything in the code is not clear.

Cheers

Jim



Title: Re: MultiBit
Post by: jim618 on April 20, 2012, 12:37:24 PM
@piuk

I presume your wallets are output in JSON as I have noticed your private key exports are JSON. There is already a Jackson parser on the classpath and in the installer (for the XChange data) so it would be good if you could use that. Stops 'jar-bloat' in the executable jar.


Title: Re: MultiBit
Post by: piuk on April 20, 2012, 04:00:59 PM
Made a pull request: https://github.com/jim618/multibit/pull/25

I presume your wallets are output in JSON as I have noticed your private key exports are JSON. There is already a Jackson parser on the classpath and in the installer (for the XChange data) so it would be good if you could use that. Stops 'jar-bloat' in the executable jar.

Sorry only read this message just now. I didn't notice jackson and added json-simple as a dependancy, if you would like me to modify the patch I can do.

Multibit is looking great btw.


Title: Re: MultiBit
Post by: jim618 on April 20, 2012, 04:21:03 PM
Hi piuk,

RE Jackson v json-simple
It would keep the executable jar as trim as possible so would be appreciated yes.   It is always a bit of a battle not to pull in the kitchen sink with dependencies!

I will have a look at your patch over the weekend - it is mainly that import panel and the action from it so I am sure it is fine.

Cheers,

Jim


Title: Re: MultiBit
Post by: jim618 on April 20, 2012, 10:23:35 PM
I've just pulled piuk's patch into the MultiBit code so that you can now:

Export wallet from blockchain.info -> Import to MultiBit
1) Do a wallet export from blockchain.info
and then
2) Import into MultiBit using the 'Import private keys' screen.

It is pretty straightforward:
2.1) In the file chooser you choose the blockchain.info file suffix of ".json" or ".aes.json".
2.2) Choose the blockchain.info export file you want to import.
2.3) Add in either the single password or both passwords if it is double encrypted.
2.4) Press "Import private keys".

Because there are no private key creation dates in the blockchain.info exports I unfortunately have to replay the blocks from the genesis block (this takes a couple of hours) so it is more a "get out of jail" option than something you would use day to day.


Export from MultiBit -> Import to blockchain.info
It has been in our code for a couple of months, but also worth mentioning that you can also do it the other way round as follows:

1) Export your private keys from MultiBit (unencrypted)
2) Open the export file.  Copy everything.  Paste them in the blockchain.info "Import | Import Wallet" text area and press "Import wallet".


Title: Re: MultiBit
Post by: jim618 on April 26, 2012, 02:25:29 PM
There is a new release of MultiBit at:

http://multibit.org


Version 0.3.4

Enhancements:
+  Can now import blockchain.info wallet backups
+  Currency ticker aesthetic improvements


Release info
Changes included - Apr 17th to Apr 26th inclusive (http://ci.xeiam.com/job/multibit-v0.3/changes) (NEW continuous integration build machine!)
Scan of release checklist (http://multibit.org/test/releaseCheckList-0.3.4.jpg)




Title: Re: MultiBit
Post by: CrownCloud on April 27, 2012, 04:39:30 PM
There is a new release of MultiBit at:

http://multibit.org


Version 0.3.4

Enhancements:
+  Can now import blockchain.info wallet backups
+  Currency ticker aesthetic improvements


Release info
Changes included - Apr 17th to Apr 26th inclusive (http://ci.xeiam.com/job/multibit-v0.3/changes) (NEW continuous integration build machine!)
Scan of release checklist (http://multibit.org/test/releaseCheckList-0.3.4.jpg)




MultiBit keeps getting much more awesome release after release !!


Title: Re: MultiBit
Post by: jim618 on April 27, 2012, 04:45:10 PM
Cheers speedbus ! :-)


Title: Re: MultiBit
Post by: jim618 on April 27, 2012, 08:46:59 PM
Thanks to the 5 people who donated to the multibit.org donation address in April !
Much appreciated.

:-)



Title: Re: MultiBit
Post by: jim618 on May 08, 2012, 07:05:54 PM
For the next month or two, I am going to be working on getting new functionality into bitcoinj and MultiBit.
It is things like:
+ coinbase transactions being dealt with properly (e.g. so that coinbase transactions cannot be spent for 120 blocks like bitcoind)
+ wallets knowing the last block they saw (so, for instance, you can have a wallet on a USB drive and plug it in and it will catch up)
+ encrypted wallets
+ watch only addresses
+ some "under the cover" improvements to how things are stored (elimination of *.info files)

As it will take me a while to do this (and because the changes to bitcoinj will be going into the NEXT bitcoinj version) I am going to run TWO versions of MultiBit simultaneously. There will be:

Version 0.3.x - Production version available on the website. This is the current v0.3.4 version together with whatever bug fixes are required to keep it tight and clean.

Version 0.4.x - New version using the newer (daily build) version of bitcoinj. This is where the new stuff will go. There will be some installers on github.com.   It would be great if some people try these out but they will have to be used with care as it will take a while to iron out bugs etc.

Then when the Version 0.4.x is in a "good enough" state it can become the production version and Version 0.3.x can be retired.

As most of the changes are "down in the details" I probably won't bother posting too much about them here. Only geeks can get excited about things like "rework TransactionConfidence API so that depth in best chain and amount of work is cached for quicker access".
This stuff will be worked out on the bitcoinj mailing list if you want to follow the details.

Hope that makes sense.

:-)


Title: Re: MultiBit
Post by: jim618 on May 09, 2012, 02:51:40 PM
Finway has updated the Simplified Chinese translation to include the most recent MultiBit additions (including the currency ticker)

Here is a screen shot:

http://multibit.org/postImages/simplifiedChinese.png

It will go into the next release (v0.3.5) which should be in a day or two.


Title: Re: MultiBit
Post by: jim618 on May 10, 2012, 02:53:33 PM
There is a new release of MultiBit at:

http://multibit.org


Version 0.3.5

Enhancements:
+  Internationalisation update, including Simplified Chinese.


Release info
Changes included - Apr 27th to May 10th inclusive (http://ci.xeiam.com/job/multibit-v0.3/changes)
Scan of release checklist (http://multibit.org/test/releaseCheckList-0.3.5.jpg)


Title: Re: MultiBit
Post by: Tittiez on May 13, 2012, 10:33:10 PM
So I'm guessing its not possible to add a Sign Message feature then? :(


Title: Re: MultiBit
Post by: gaurmiaur on May 14, 2012, 03:58:10 AM
Hello
I'm newbie user of bitcoin, I chose multibit and got into a trouble. My money's lost.

Will describe the situation in details.

1) I have two wallets: oficial client qt-bitcoin and your client -- multibit. Qt-bitcoin waste too much time to synchronising with net, downloading new blocks history, so I started looking for someone else for everyday usage and people onthe forum (bitcointalk.org) adviced me Multibit as more lightweited clien, so I downloaded it and created my second wallet by Multibit.

2) Then I bought about 55btc in the stock (btcchina) and as a newbie decided to test the system and this stock: I sent 10 btc to my qt-bitcoin wallet. It was succeed

3) Then I sent thise 10btc from my qt-bitcoin wallet to my Multibit wallet and ordered another 45btc fronm stock to my Multibit wallet too.
It was yesterday and I still havent't got any btc to my Multibit wallet. It's quiet empty

http://imgs.su/tmp/2012-05-14/1336967987-579.jpg

3.1) I checked if the transaction of 10btc from my qt-wallet (i'll call it Q) to Multibit-wallet (call it M) came out to the net. It has come.

http://imgs.su/tmp/2012-05-14/1336966861-579.jpg

3.2) Then I exported privete keys from M and reset blockchain and transactions. No result.

4) The only strange thing I saw: Q wallet says there are 180060 blocks of history transactions

http://imgs.su/tmp/2012-05-14/1336967124-579.jpg

But M wallet says it's only 178916

http://imgs.su/tmp/2012-05-14/1336967199-579.jpg
And this number doesn't move. As I remember, 178916 blocks was approximately 1 day ago.

 I'm almost in despair, so I wrote to Jim and copy it here
Hope someome will help me to resolve this big trouble.  


Title: Re: MultiBit
Post by: jim618 on May 14, 2012, 10:17:11 AM
So I'm guessing its not possible to add a Sign Message feature then? :(

Hi Tittiez,
It is on my list of TODOs but I must admit I am pushing to get the groundwork done for supporting encrypted wallets so have not worked on it. Supporting encrypted wallets is long overdue so I am going to work on that (and the background work needed to support it) pretty much exclusively until it is done. Sorry.

Jim


Title: Re: MultiBit
Post by: Tittiez on May 14, 2012, 10:17:49 AM
I'm almost in despair, so I wrote to Jim and copy it here
Hope someome will help me to resolve this big trouble.

http://i.imgur.com/iLequ.png

http://i.imgur.com/OVgW6.png


Title: Re: MultiBit
Post by: Tittiez on May 14, 2012, 10:18:40 AM
Hi Tittiez,
It is on my list of TODOs but I must admit I am pushing to get the groundwork done for supporting encrypted wallets so have not worked on it. Supporting encrypted wallets is long overdue so I am going to work on that (and the background work needed to support it) pretty much exclusively until it is done. Sorry.

Jim

Okay, I understand and I agree that it needs to get done.


Title: Re: MultiBit
Post by: jim618 on May 14, 2012, 10:23:07 AM
@gaurmiaur

Thanks for your detailed posting - sorry to hear you are having trouble.
Try Tittiez's suggestion to do a reset as he suggests.

Let us know here if it solves it or not.

Jim


Title: Re: MultiBit
Post by: gaurmiaur on May 14, 2012, 12:06:18 PM
Did it.

http://imgs.su/tmp/2012-05-14/1336997218-579.jpg

I watched at 178910 and movement since than.   :(


Title: Re: MultiBit
Post by: jim618 on May 14, 2012, 02:07:33 PM
I think it is the fact that you are stuck at block 178910 (or 178916 as in your previous post) that is preventing you seeing the transactions at : 185cuK5cLvu7BGPL5Zgnmd1F6bi2Aor1Tw

Block 178910 is about a week ago, whereas the transactions at 185cu are dated May 13th.
I just ran MultiBit (v0.3.5) and reset the blockchain from before that block to see if there was a general problem with reading blocks 178910 and 178916 - they both were read in fine.


I suggest you do a couple of things:
1) Send me your log files, which will be in the Russian equivalent of:
    C:/Documents and Settings/<your username>/Application Data/MultiBit/log

(It might be 'roaming' rather than 'Application Data' depending on your version of Windows).
The two files are multibit_console.log and multibit_debig.log. I will then have a look through them.


2) If Blazr's suggestion does not work and you just want to get your bitcoin now, I suggest you export the private key out of MultiBit and import it into a blockchain.info wallet. (The private key is the most important think with bitcoin - as long as you have that you can get your bitcoin). To do this, do the following:

2.1) Choose the wallet in question in the wallet side panel.
2.2) Export the private keys WITHOUT A PASSWORD in the 'Export private keys' screen.
2.3) Open the output key file, select everything and copy it into your paste buffer.
2.4) Go to http://blockchain.info and either log in to your blockchain.info wallet or create a new one.
2.5) Go to the 'Import/Export' screen.
2.6) In the 'Import Wallet' text area, paste in the contents of the key file.
2.7) Press 'Import Wallet'.

This puts your private keys in your blockchain.info wallet.
(You sometimes have to log out/ shut down/ start up/ login again to get blockchain.info to refresh the wallet to see the transactions).

Let me know how you get on.


Title: Re: MultiBit
Post by: gaurmiaur on May 14, 2012, 03:06:30 PM
I think it is the fact that you are stuck at block 178910 (or 178916 as in your previous post) that is preventing you seeing the transactions at : 185cuK5cLvu7BGPL5Zgnmd1F6bi2Aor1Tw

Block 178910 is about a week ago, whereas the transactions at 185cu are dated May 13th.
I just ran MultiBit (v0.3.5) and reset the blockchain from before that block to see if there was a general problem with reading blocks 178910 and 178916 - they both were read in fine.


I suggest you do a couple of things:
1) Send me your log files, which will be in the Russian equivalent of:
    C:/Documents and Settings/<your username>/Application Data/MultiBit/log

(It might be 'roaming' rather than 'Application Data' depending on your version of Windows).
The two files are multibit_console.log and multibit_debig.log. I will then have a look through them.


2) If Blazr's suggestion does not work and you just want to get your bitcoin now, I suggest you export the private key out of MultiBit and import it into a blockchain.info wallet. (The private key is the most important think with bitcoin - as long as you have that you can get your bitcoin). To do this, do the following:

2.1) Choose the wallet in question in the wallet side panel.
2.2) Export the private keys WITHOUT A PASSWORD in the 'Export private keys' screen.
2.3) Open the output key file, select everything and copy it into your paste buffer.
2.4) Go to http://blockchain.info and either log in to your blockchain.info wallet or create a new one.
2.5) Go to the 'Import/Export' screen.
2.6) In the 'Import Wallet' text area, paste in the contents of the key file.
2.7) Press 'Import Wallet'.

This puts your private keys in your blockchain.info wallet.
(You sometimes have to log out/ shut down/ start up/ login again to get blockchain.info to refresh the wallet to see the transactions).

Let me know how you get on.

1) already sent

2) impossible to do.

http://imgs.su/tmp/2012-05-14/1337007967-579.jpg


Title: Re: MultiBit
Post by: jim618 on May 14, 2012, 03:22:42 PM
Thanks for the logs.
There is an error in them: 'checksum does not verify' when it downloads particular blocks which I think is the cause of the problem. I will have a look to track it down but it will take a while as it may depend on the actual peer/ version of bitcoind being connected to.


(this is the same as Blazr's suggestion)

In the meantime, to get your private key into blockchain.info, try the following:

Open up the private key file you exported from MultiBit.
There is a load of comment text (lines beginning with #) and then the private key - a long mixture of numbers and letters that begins with a '5'.

Copy this out of the file.
Ignore the date that is on the same line as the private key - you do not need that.

In blockchain.info there is an import key option. (I am on my iPhone so cannot give you the exact text).
Import it and make sure you specify the 'sipa wallet import format'. It should be able to understand the key and put it in your blockchain.info wallet.

I think you are in a Russian timezone so it is probably getting late for you. Let me know if this works either tonight or tomorrow morning your time.


Title: Re: MultiBit
Post by: gaurmiaur on May 15, 2012, 01:16:42 AM
Blazr, Jim, thank You very much for your response. Now I use wallet in blockchain.info
When I'll got free time, I'll consider all your advices more detailed.
My timezone is GMT+8


Title: Re: MultiBit
Post by: jim618 on May 15, 2012, 07:59:36 AM
Hi gaurmiaur,
Good that your bitcoin are safe. I will look at the core problem you had with the blocks not verifying/ downloading. That will help other people in the future.


Title: Re: MultiBit
Post by: Tittiez on May 17, 2012, 10:05:29 PM
Code:
18:03:42.622 [main] DEBUG org.multibit.MultiBit - Locating wallets
18:03:42.622 [main] DEBUG org.multibit.MultiBit - When loading wallets, there were 1
18:03:42.622 [main] DEBUG org.multibit.MultiBit - Loading wallet from 'C:\Users\***\AppData\Roaming\MultiBit\Main.wallet'
18:03:48.969 [main] ERROR org.multibit.MultiBit - Could not load the wallet file "C:\Users\***\AppData\Roaming\MultiBit\Main.wallet".
The error message was "invalid type code: 00"

Fuck. I accidentally hit the reset button on my computer while MultiBit was running. I have most of my private keys backed up, but just minutes before I created a few new addresses and hadn't yet backed them up. I was transferring coins to them.

What do?  :-[

If I can't retrieve my wallet luckily I only lost 0.1239 bitcoins.


Title: Re: MultiBit
Post by: da2ce7 on May 18, 2012, 04:19:35 AM
Yeah... I must admit.  I would be much more confable in using multibit if it used an deterministic wallet.  At-least, sipa has completed the BIP:

https://en.bitcoin.it/wiki/BIP_0032


Title: Re: MultiBit
Post by: jim618 on May 18, 2012, 07:38:43 AM
@Tittiez
When you create a new address the wallet gets written immediately so the new private keys would have been written to disk. If you have a look at the size of your main.wallet how big is it ? If it is a little bit bigger than your backups we might be able to recover it. If it is something like zero bytes I am afraid the new private keys might be lost.

I googled the error message you had and the hits are to do with Java writing out objects. MultiBit writes out any wallets that are dirty (ie have changed) when it closes so I suspect there was a problem when you reset.

If the wallet is the right size then I would be happy to try and recover the private key(s) you added by hacking down at the byte level. I cannot promise anything but can try. This does mean you will 'burn' any private keys in the wallet (ie show them to someone else and hence can no longer trust them) so if you have any vanity addresses in the wallet this is a bad idea. If you have ordinary private keys and want to try it you could do the following:
1) keep your current (broken) wallet somewhere safe.
2) make a new wallet.
3) use your backup main.wallet to transfer all the BTC out of your backup to your new wallet. (this is so that I cannot steal your BTC. I won't but never trust anyone with your private keys).
4) send me the broken wallet by email and I will see if I can recover the private keys by looking at the bytes.

@da2ce7 yes the HD wallets where you can back up the seed will be a step change for bitcoin I think. I am going to work on 'vanilla' encrypted private keys first (simply encrypting the private keys with AES) and then looking at supporting HD after that. This should be a contribution into bitcoinj and hence available to everyone. It is quite a lot if work of course.


Title: Re: MultiBit
Post by: Tittiez on May 18, 2012, 10:19:52 AM
@Tittiez
When you create a new address the wallet gets written immediately so the new private keys would have been written to disk. If you have a look at the size of your main.wallet how big is it ? If it is a little bit bigger than your backups we might be able to recover it. If it is something like zero bytes I am afraid the new private keys might be lost.

The wallet still has its file-size, it didn't corrupt.

http://i.imgur.com/WH5AR.png

But I didn't actually have the backup of a wallet, just the backup of the private keys. I don't know how big the file-size was before. :-\

I've transferred all my coins out and I'll email the wallet to jim@multibit.org.

Thanks for trying I guess!


Title: Re: MultiBit
Post by: jim618 on May 18, 2012, 10:36:28 PM
I have made a bit of progress in recovering the keys from Tittiez's wallet.
After staring at the wallet in a hex editor for a few hours I figured out where the public and private keys are exactly and how they are stored. So far I have put exactly one into a MultiBit wallet (it's a start! :-) ). I cannot tell if I can recover every private key yet.

It is all very cut and paste at the moment - I am just doing it manually for now.


Title: Re: MultiBit
Post by: Tittiez on May 18, 2012, 10:52:17 PM
I have made a bit of progress in recovering the keys from Tittiez's wallet.
After staring at the wallet in a hex editor for a few hours I figured out where the public and private keys are exactly and how they are stored. So far I have put exactly one into a MultiBit wallet (it's a start! :-) ). I cannot tell if I can recover every private key yet.

It is all very cut and paste at the moment - I am just doing it manually for now.

Hey, if it helps, I'm looking for 151fndibtR6LBe6VXSYrvV2wjiEGvH9Yhb (https://blockchain.info/address/151fndibtR6LBe6VXSYrvV2wjiEGvH9Yhb). Seeing as I created it shortly before the wallet corrupted, wouldn't it be at the bottom of them all? Thanks for the help jim. :)

As for the rest of them, I have all the private keys except for maybe one or two addresses, which have no coins on them. The one above is the only one I need.


Title: Re: MultiBit
Post by: Tittiez on May 19, 2012, 10:49:18 AM
Awesome, thanks Jim I received what was left in the wallet.


Title: Re: MultiBit
Post by: jim618 on May 19, 2012, 10:51:05 AM
Cheers Tittiez!
Quite good fun trying to hunt down where the private keys were in those megabytes of wallet.

I will write up how to extract the private key from MultiBit wallets in case it is useful to other people and post it here.



Title: Re: MultiBit
Post by: jim618 on May 19, 2012, 10:58:17 AM
To extract the private keys from the current MultiBit wallets is not for the faint of heart!

First you will need a hex editor. I used HexEditor for the Mac.

Here is a typical block of bytes that you are searching for, containing the all important private key and the public key:

Code:
78 70 00 00 00 20                                           << The 20 is the length of the private key in hex
                  e5 d4  25 0e 2e 45 ff 82 4e ff            << private key in hex
3b 49 da 1a 4e 9a 4c b5  3f 71 cb 8f b6 80 46 10            << private key in hex
e1 ed 1a 7b 16 28                                           << private key in hex
                  78                                        << ignore this byte
                     75  71 00 7e 00 11 00 00 00            << search bytes
41                                                          << length of public key in hex
   04 19 0a 40 a0 a7 d0  48 c8 79 eb 93 e9 63 48            << public key in hex
82 09 ea ab 65 13 95 c2  7f 21 c2 0e 79 a0 24 18            << public key in hex
05 62 55 34 fc a2 bb 7f  04 46 ce 23 43 89 06 52            << public key in hex
9a 0c 32 11 c5 ef 1b e1  d4 ca 16 fc e3 48 29 73            << public key in hex
10 14                                                       << public key in hex
      78 73                                                 << public key post amble

In reality your hex editor will show them all together - I have added the line separations just for clarity.

To identify a block of bytes containing a private and public key, seach for the hex "75 71 00 7e 00 11 00 00 00 41". You are actually searching for a boundary between the private key and public key stored in a serialization of the class ECKey (which contains the private and public key).

The "41" is the length of the public key (=65 in decimal) so look forward 65 bytes. It should look completely random. This is the public key in hex. After these bytes there should be "78 73".

Before the search string is a single byte which is usually "78" but does seem to vary. Ignore that. Look backwards for 33 bytes and you should see a "20". This is the length of the private key (=32 bytes in decimal). The 32 bytes following the "20" are your private key in hex.

Result!

Repeat this search through your wallet until you extract all the private keys. You will sometimes get false positives in that you get a search hit but the bytes around it have a different structure. You can ignore these.

In Java this hexadecimal representation of the private key can be added to a bitcoinj wallet using:

Code:
Wallet newWallet = new Wallet(NetworkParameters.prodNet());
ECKey key1 = new ECKey(new BigInteger(1, Hex.decode("e5d4250e2e45ff824eff3b49da1a4e9a4cb53f71cb8fb6804610e1ed1a7b1628")));
newWallet.keychain.add(key1);

A useful check that you have not extracted garbage is to print out the bitcoinj wallet using toString() and look at the public key in hex. It should match the public key you extracted from the wallet at the byte level.

You then need to replay the blocks from the date of the first transaction for that address to get the transactions. I just looked up the address in blockchain.info and looked at the first transaction to see what this date was.


Title: Re: MultiBit
Post by: jim618 on May 21, 2012, 09:18:30 AM
We've had over a 1000 downloads of MultiBit in the last month!

Github download statistics (https://github.com/jim618/multibit/downloads)

I think it is the new clients page on http://bitcoin.org/clients (http://bitcoin.org/clients) that has increased the download rate.

:-)


Title: Re: MultiBit
Post by: Tittiez on May 21, 2012, 10:11:56 AM
Seems blockchain.info changed the way URL's work for transactions. Might wanna fix that.


Title: Re: MultiBit
Post by: jim618 on May 21, 2012, 10:24:41 AM
Hi Tittiez,

Thanks for that headsup.

The URL for, say, tx df06784a5d5d313ddc107fc5c92ebf975f13b9c8500e0897b49a0e3848ee8114

has changed from:
http://blockchain.info/tx-index/df06784a5d5d313ddc107fc5c92ebf975f13b9c8500e0897b49a0e3848ee8114

to:
http://blockchain.info/tx-index/3578082/df06784a5d5d313ddc107fc5c92ebf975f13b9c8500e0897b49a0e3848ee8114

I will ask piuk about what the extra field is and update it if possible. I think it has changed in the last 24 hours as I tried it ok last night.
The transaction lookup for blockexplorer.com in the MultiBit transactions details dialog still works ok.

Cheers


Title: Re: MultiBit
Post by: Tittiez on May 21, 2012, 08:10:53 PM
I will ask piuk about what the extra field is and update it if possible. I think it has changed in the last 24 hours as I tried it ok last night.
The transaction lookup for blockexplorer.com in the MultiBit transactions details dialog still works ok.

Cheers

Seems to be the transaction number. See:

http://blockchain.info/tx-index/3578085/
and
http://blockchain.info/tx-index/3578086/

Are seconds apart. They don't require the transaction hash either.


Title: Re: MultiBit
Post by: jim618 on May 21, 2012, 08:18:24 PM
Yes I think you are right.
Looks like piuk has put in an index for the unique number of the tx (presumably it is faster).
That would scupper me as I do not have that number to do a look up MultiBit -> blockchain.info on.

I have messaged him anyhow so will see what he replies. 


Title: Re: MultiBit
Post by: piuk on May 21, 2012, 09:30:42 PM
Hi Tittiez,

Thanks for that headsup.

The URL for, say, tx df06784a5d5d313ddc107fc5c92ebf975f13b9c8500e0897b49a0e3848ee8114

has changed from:
http://blockchain.info/tx-index/df06784a5d5d313ddc107fc5c92ebf975f13b9c8500e0897b49a0e3848ee8114

to:
http://blockchain.info/tx-index/3578082/df06784a5d5d313ddc107fc5c92ebf975f13b9c8500e0897b49a0e3848ee8114

I will ask piuk about what the extra field is and update it if possible. I think it has changed in the last 24 hours as I tried it ok last night.
The transaction lookup for blockexplorer.com in the MultiBit transactions details dialog still works ok.

Cheers

Oops, This was an unexpected side effect from a change I made. Both links are working again now.

Looks like piuk has put in an index for the unique number of the tx (presumably it is faster).

Yeah this is a database index used to save a little memory. Each input and output needs to reference the transaction so rather than have a 32 byte hash included each time it is cheaper to assign the tx a unique 4 byte integer and use that as the PK.

You can also use:

http://blockchain.info/tx/df06784a5d5d313ddc107fc5c92ebf975f13b9c8500e0897b49a0e3848ee8114



Title: Re: MultiBit
Post by: jim618 on May 22, 2012, 07:55:15 AM
Hi piuk,
Thanks for supporting the original format of tx URLs once more.

:-)

Jim


Title: Re: MultiBit
Post by: Kazimir on May 25, 2012, 10:34:54 AM
Been using MultiBit for a while now, but I'm having problems with transactions I send.

Receiving works OK, but if I want to send coins to another address, they just don't seem to get confirmed. At least not according to MultiBit. If I look up the details on blockchain.info, it's confirmed all right (so the transfer is processed properly by the network) but somehow MultiBit doesn't pick up. Not even after 24 hours, and restarting MultiBit several times (and giving it pleny of time to sync).

Note that it *does* pick up confirmation of transactions I receive from others.

So far I have been able to 'fix' this by using Reset blockchain and transactions. It takes a (quite long) while to replay all the blockchain data and then my wallets are up to date and all transactions appear as confirmed.

What gives?


Title: Re: MultiBit
Post by: jim618 on May 25, 2012, 02:10:44 PM
TBH it sounds like a bug.

You get the zero confirmation on the send when it gets put out to the network(which sounds like it is working) and then the confirmation comes from the block in which the transaction appears in. If MultiBit does not see/ process this correctly when it comes in from the network then the transaction would not confirm.

The fact that it is on the blockchain means it was correctly transmitted out to the network so I suspect it is on the receive side.

Could you PM your log files (in your user data directory/ MultiBit/log) and I will have a look. If you can engineer an example transaction where it has not confirmed (say by sending a small amount to a friend) and let me know the transaction details that would help me identify it in the log.

Oh and let me know which version you are using and the operating system in case it is related to that.

Jim

p.s. It is not a solution I know, but you can save a bit of time in the 'Reset blockchain and transactions' from choosing the option 'Specify reset date'. Then choose a date, say, one day before when the first unconfirmed transaction appears. It will work the same as doing the whole wallet but you can save a lot of waiting.


Title: Re: MultiBit
Post by: CrownCloud on May 27, 2012, 08:47:28 AM
Any way to export all my transactions info to a CSV or XLS file ?


Title: Re: MultiBit
Post by: jim618 on May 27, 2012, 10:27:03 AM
Sorry no - not at the moment. It is on my list on UI enhancements to do but I am concentrating on the lower layers at the moment.

I will probably have an export to CSV as that is simpler to do.





Title: Re: MultiBit
Post by: Lumpy on May 27, 2012, 02:52:17 PM
I like this client quite a bit. :)

I had a couple of small suggestions: the first was for watch-only wallets, but I see from the thread that it's on your todo list.

The others:

1) Customizable decimal places in display. I don't think 8 digits will overwhelm anyone, but if 4 sounds more friendly, maybe add an option to preferences that defaults to 4?
2) A header that shows the current wallet along with (or after) its balance. I know that the wallet is highlighted on the side, but I think it would be nice to see: "3.0000 BTC - Spending" or something of that nature.


Title: Re: MultiBit
Post by: jim618 on May 27, 2012, 03:09:06 PM
Hi Lumpy,

Thanks for your comments and suggestions.

Yes I want to improve the options with the numbers presentations. There is already a suggestion to add support for commas as decimal separators and number of decimal places would be good to do at the same time.

The current wallet description and filename is shown on the top of the window e.g

MultiBit - your wallet description - c:/Jim/pettyCash.wallet

I put it in the window title as it is more conventional and there is more space there.  Also when you have the MultiBit window minimised it normally appears in the minimised icon title.

I imagine it will be a month or so before I do another round of UI improvements (other than wallet related ones).

Thanks for your input.


Title: Re: MultiBit
Post by: CrownCloud on May 27, 2012, 03:22:00 PM
Sorry no - not at the moment. It is on my list on UI enhancements to do but I am concentrating on the lower layers at the moment.

I will probably have an export to CSV as that is simpler to do.



Nice :) CSV sounds good :D Awesome work on MultiBit !!


Title: Re: MultiBit
Post by: Lumpy on May 27, 2012, 04:50:35 PM
Thanks for the consideration, Jim. :)

Does MultiBit have a minimize to tray option? If not, any plans to add one?


Title: Re: MultiBit
Post by: jim618 on May 28, 2012, 01:31:12 PM
It does not have a minimise to tray at the moment.
I seem to remember something in the Java System class improvements about minimize to tray so will put it on the list of things to look at.

Cheers


Title: Re: MultiBit
Post by: Kazimir on May 29, 2012, 10:42:29 AM
p.s. It is not a solution I know, but you can save a bit of time in the 'Reset blockchain and transactions' from choosing the option 'Specify reset date'. Then choose a date, say, one day before when the first unconfirmed transaction appears. It will work the same as doing the whole wallet but you can save a lot of waiting.
Thanks, yeah I found out about this later, helped me save time.

Actually, I'm not sure what happened, but after I tried again, this problem did not occur anymore. I've sent several more payments later on and they were processed normally (I mean they also appeared as 'confirmed' in MultiBit within reasonable time).

Anyway I'll keep checking, and if it shows up again I'll let you know and send some logs.


Title: Re: MultiBit
Post by: jim618 on May 29, 2012, 01:41:30 PM
Thanks Kazimir - good that you are getting clean confirmations. Let me know if you see it again.


Title: Re: MultiBit
Post by: Kazimir on May 30, 2012, 03:12:41 PM
Another question, regarding backups and creation of new keys/addresses.

As far as I understand, the default client (Bitcoin-Qt) precomputed 100 keys in advances. And whenever you make a payment (send some bitcoins to someone else), the change is not returned to the sending address, but to your next address in line. Reason: using a new address after every payment improves anonimity. And calculating 100 keys in advance is to make sure that a backup of your wallet does not become expired/incomplete as soon as you make a single payment (although it will if you'd make more than 100 payments since your last backup and your hdd crashes).

Does MultiBit also do something like this? When looking up my own payments on blockchain.info, I noticed the change is return to same address. So I guess not?

In that case, as long as I don't manually create any new addresses in a wallet myself, will a backup of my wallet remain valid? Even if I get or make new transactions (receive or send) afterwards? I understand I might lose notes, labels, comments, or other personal stuff that I filled in for those new transactions, but I mean 'remain valid' as in I won't lose any actual bitcoins.

Put differently: if I just export the private keys, would that be a sufficient backup (to not lose any bitcoins) as long as I don't add new keys/addresses myself?

(with 'backup' I mean copying up the wallet files or exporting the private keys, and storing them on a remote location (encrypted of course), to avoid losing bitcoins in case my harddisk crashes)


Title: Re: MultiBit
Post by: jim618 on May 30, 2012, 03:25:50 PM
Hi Kazimir,

You are correct. The MultiBit change goes back to the first address used in the transaction inputs. There is not a pool of future addresses like in the Satoshi client.

You can backup the wallet with a private key export as you suggest.

There is a how-to in the MultiBit help (which is basically identical to what you have outlined) here:
http://multibit.org/help_backupWalletUsingPrivateKeys.html (http://multibit.org/help_backupWalletUsingPrivateKeys.html)

If you have a non-trivial amount of money in any bitcoin wallet I would definitely recommend having an encrypted backup of your private keys somewhere safe.

You can also keep a backup of the actual wallet file with the keys in it too but the private keys are all you need.

The encrypted private key file is IMO superior as you can:
+ Decrypt it using openssl i.e. you do not need MultiBit to do the decrypt.
+ Import the keys into pretty much anything - they are standard Satoshi wallet import private key format.



Title: Re: MultiBit
Post by: Kazimir on May 30, 2012, 03:56:54 PM
Awesome. Thanks a lot Jim!

In fact I'll go ahead and create bunch of more new addresses in advance myself, for future usage. Then I'll export the private keys and back them up somewhere safe, and I should be good.
(Regardless, I will still making frequent backups of my regular wallet files as well, just to keep my personal labels and transaction notes and stuff)

One more thing, just wondering: what is in a wallet file, other than the keys + transaction data? For example I've got one wallet that is almost 6 MB now, and there aren't that many addresses or transactions from or to them so far (approx 15 addresses and 20 transactions in total). And a few labels, that's it. Does it contain tons of blockchain data or something?


Title: Re: MultiBit
Post by: jim618 on May 30, 2012, 04:10:16 PM
Hi Kazimir,

Yes that should work.

The current wallet format is a bit 'bloat-ey' yes. It only contains keys and transactions but not in a very compact format.

The underlying library I use (bitcoinj) has a new wallet format that is a lot more compact (based on protobufs - what Google uses for its machine to machine chatter) and I will be moving to this format probably over the next month or so. That should trim the wallet sizes down quite a lot.

(The format change should be transparent to people).

To keep the label information backed up make sure you copy the <wallet name>.info files (stored in the same directory as the main wallet file) as the labels are in there at the moment.


Preserving anonymity
If you have an address that is publically linked to you (a donation address say) then you can improve your privacy by having two wallets:

+ A 'public' wallet with the donation address in
+ A separate more anonymous wallet with a completely distinct set of keys in.

If you make sure you fund the anonymous wallet "anonymously" then the two sets of transactions in the separate wallets will be completely unconnected.

You could then back them up with two separate private key exports.


Title: Re: MultiBit
Post by: Kazimir on June 09, 2012, 10:25:11 AM
Some feature requests / suggestions:

  • 1. Ability to see how much bitcoins are on each individual address.
    Of course I can do so manually through http://blockchain.info/q/getreceivedbyaddress/MyAddressHere but it'd be nice to have an easy gui feature for this. An extra column or tab or something.
    You might wanna make this optional cause in a way it's 'extra clutter' that may confuse people.

  • 2. Ability to move addresses to other wallets. E.g. select one or several addresses, then right click → move to wallet → New / Wallet 1 / Wallet 2 / etc.
    If you move all addresses out of a wallet, offer the option to delete that wallet, or to auto-generate a new address in it.
    (What would happen if you 'split' two addresses that have been in a single transaction together before: uhm, I guess the same as what happens when you export their private keys and import them to two separate wallets)

  • 3. Encrypted wallets. I know this is already on your wish list, but two extra considerations:

    • 3a. Only requesting the password to send money (i.e. to sign a transaction), not just to open the wallet and see its contents.
      (Well in a way this is kinda obvious so maybe you were planning to do it like this already, just mentioning :))

    • 3b. Different passwords per wallet. This allows for an "everyday wallet" with just some spare change, and a "savings wallet" with tons of bitcoins, for example.
      The idea here is to enhance security, by spreading the risk so to speak. Even if your system is compromised with a keylogger or whatever, as long as you are paying with your everyday wallet they still won't be able to access your savings account.

  • 4. Advanced option when sending payments: ability to specify to what address the change is being returned.

Hope this helps! I ♥ MultiBit :)




Title: Re: MultiBit
Post by: Kazimir on June 09, 2012, 11:09:09 AM
Oh and while I'm at it:

  • 5. Make MultiBit portable, i.e. having a data dir relative to the executable, rather than relying on %appdata%\MultiBit (or the Mac and Linux equivalents of that).
    And in the multibit.properties settings file, allow relative paths (relative to the properties file) for example ".\Wallets\mycoinz.wallet" would refer to a "Wallets" subdir inside the same dir where the .properties file is located.

    This will improve security: malware cannot simply scan %appdata%\MultiBit and find references to wallet files. There is no specific path or location where malware can start searching.
    And it also allows MultiBit to completely run on an encrypted location (e.g. truecrypt container). Or from a USB stick. Or both.

    Running from a USB stick is quite useful actually: I can choose to only mount it when I need to do some bitcoin business, and together with feature 3b above I could easily access my wallets and just send small transactions from my spare change wallet on my regular PC. And for rare transactions from my big fat savings wallet, I connect it to a separate ultra clean maximum security dedicated bitcoin laptop, and I will only ever enter the password for the savings wallet there.

Also this comes to mind: when MultiBit signs a transaction, does it need to send that transaction to the network immediately, and otherwise it fails? Or could it also sign the transaction (this is the only part that actually requires the private key, and its password it it's encrypted) and then store the signed transaction in some queue to be sent to the network. Normally this occurs instantly (it's being sent right after signing) but in the above scenario, I could also sign transactions on a dedicated ultra secure machine which is never connected to the internet and then later mount my MultiBit USB stick on a normal PC to actually send them to the network.


Title: Re: MultiBit
Post by: jim618 on June 09, 2012, 12:46:58 PM
Hi Kazimir,

Thanks for your suggestions - if I go through them one by one:

1. Good idea. It could go as an extra column in the list of receiving addresses. You would want it optionally on though - it is quite easy to overwhelm new users with too much information.

2. This is actually a bit tricky to implement as a private key might be used for several of the transactions in a wallet - the receipts are ok but with the spends the transaction outputs for the the private key might be used in various transactions. Imagine trying to unpick a web to pull out a particular node.

There is potential to do things like merging wallets but to pick out a particular key from its 'brethren' when you have transaction connecting them all together would be confusing in practice I think.

The export/ reimport keys can also be confusing to people not familiar with the concept of private keys as you can easily get into the situation where the same key is in two wallets.  You have just doubled your bitcoin !   Well of course you have not but for the lay person it looks like you have.

It is a bit of a balancing act to make bitcoin 'look' like regular money and hide away the technicalities.


3a. This is what I am planning to do - encrypt just the private keys so that you can receive BTC and see all the transactions even when the wallet is password protected. There will probably be a password field in the 'Send Confirm' screen, maybe with a timeout so that you do not have to keep entering it everytime.
3b. Yes, this is the plan - one password per wallet.

4. There is definitely potential to improve the UI be able to specify the send and change addresses yes.

5. If you are willing to do a bit of file copying you can do this already: http://multibit.org/help_runFromUSBDrive.html (http://multibit.org/help_runFromUSBDrive.html)
I would like actually to have a MultiBitPortable which adheres to the PortableApps.com (http://PortableApps.com) specification so that it can be used in their app launcher. I have looked at the spec and it looks doable but of course it takes time to get it all working and get the build to produce the artifacts etc.   

Relative path support for wallets is a good idea yes. Will look into that.

RE: signing transactions. Bitcoinj (the library behind MultiBit) already has separated out the steps of signing and transmitting.
I am sure there was some discussion on the bitcoinj mailing list about enhancing the network layer to retransmit transactions if the network disappears but I am not sure what the status of it is.

To be honest Armory is doing such a good job of offline transaction support I am concentrating on other areas (there is only so much one person can do.   :-) ).   I am concentrating at the moment on backend improvements, the wallet encryption and a conversion of the wallet format so I expect it will be a while before I get back on pure UI improvements.

Thanks for the input - it gives me ideas for where improvements can be made in the future.

Cheers

 


Title: Re: MultiBit
Post by: Mike Hearn on June 10, 2012, 01:55:26 PM
Pending transactions are written to the wallet. When a new peer connects all pending transactions are announced to it (in the latest versions). So that "queue" already exists, it's in the wallet itself.

I think that code may have been in 0.5, don't recall. So it may require a multibit update.


Title: Re: MultiBit
Post by: jim618 on June 10, 2012, 02:42:22 PM
Thanks for the clarification Mike.


Title: Re: MultiBit
Post by: jim618 on June 11, 2012, 12:58:42 PM
Looking for guinea pigs (bleeding edge testers) !

Hi All,

I have just started upgrading MultiBit to use a new format for the wallet, called protobuf.
This format is a lot more compact than the previous one and is more extensible so will make it easier to add features in the future.

In a test I did today an old wallet of size 1.7MB is now only 12KB which is quite an improvement. It is actually the format Google uses for the majority of its machine-to-machine chatter. It can also be read easily by C++ and python code.

Because it is people's BTC we are talking about, I would like to have a few guinea pigs to try it out beforehand to make sure the migration process for the wallets works with zero problems. Obviously this is in addition to the testing I am doing as I work on it.

The testing should be a matter of:
1) backing up your wallets
2) installing a new version of MultiBit (from github, not off the multibit.org website)
3) starting up MultiBit and checking that everything works (send, receive a few transactions etc).
4) stopping MultiBit.
5) restarting it to check all the wallets load ok.

That is pretty much it.

Older versions of MultiBit will not be able to read the new format so it is important it works properly. (I will be putting in an automatic wallet backup in the old format just to be safe).

If you would like to try out the new beta version (which will probably appear later on this week) please post here.  Please also post if you are Win/ Linux/ Mac so that we get good coverage of operating systems. I program on a Mac but it would be good to have independant testers for all three.

Thanks in advance.




Title: Re: MultiBit
Post by: Kazimir on June 11, 2012, 01:38:03 PM
I trust the risk of accidentally sending transaction to wrong destination addresses is non-existent? :)

Cause for insurance reasons I'll just export my private keys and keep them safe, separated from my MultiBit wallet dir. So even if it totally corrupts my wallet or whatever, I could still switch back to the previous version and reimport the keys.

(P.S. sounds like a great improvement!)


Title: Re: MultiBit
Post by: jim618 on June 11, 2012, 01:57:42 PM
Hi Kazimir,

The wallet storing and loading is isolated in the code so it is very unlikely that an address would be displayed as one thing but actually be another as a result of this change.

Exporting the private keys and putting all of the export file, the wallet file (yourName.wallet) and extra information file (yourName.info) somewhere elsewhere would be a good safety measure before upgrading yes.


Title: Re: MultiBit
Post by: jim618 on June 12, 2012, 05:23:28 PM
Mainly in preparation of the wallet upgrade utility I will be writing, I have added a 'Messages' screen to MultiBit.
All the messages that were being put on the statusbar now also go to a store and appear on a screen thus:

http://multibit.org/postImages/messages.png

It gives a bit more visibility to what is going on.

At the moment it just does 'local' messages but in the future I would like to add the Satoshi network message notifications and also MultiBit specific broadcasts (new versions, emergency announcements etc).



Title: Re: MultiBit
Post by: Tittiez on June 13, 2012, 12:57:20 AM
Feature Request:

Dynamic Fee's based on the transaction size.

Reason being, smaller transactions get quickly confirmed even having a 0 fee, while others, like the one I'm waiting for

http://blockchain.info/tx-index/aa4ddd098dd12d58b26ab8e9f452e4be1937f32106e72944b0b489bbe5aa6935

don't get confirmed quickly, even with a 0.0005 fee.


Title: Re: MultiBit
Post by: PTseller on June 13, 2012, 03:50:28 AM
i have 11.6995 BTC in my wallet but when i click on send it asked me for 0.0005 fee so i reduce amount to 11.6990 or 11.6980 but i can't send Sad multibit allow me to send only 7.3 BTC right now donno why ?? i got BTC few days back please help me out how can i make this transaction happen

Thank you !!


Title: Re: MultiBit
Post by: Kazimir on June 13, 2012, 06:02:05 AM
Feature Request:

Dynamic Fee's based on the transaction size.

+1
Or better yet: allow to edit the fee per transaction, i.e. in the Send dialog (with the default fee, or a dynamic value depending on the transaction size, pre-filled in).

By the way, you can already change the fee manually. Closing MultiBit, edit the file "%appdata%\multibit\multibit.properties" (or the equivalent on Mac or Linux) and look for sendFee=xxxx.


i have 11.6995 BTC in my wallet but when i click on send it asked me for 0.0005 fee so i reduce amount to 11.6990 or 11.6980 but i can't send Sad multibit allow me to send only 7.3 BTC right now donno why ?? i got BTC few days back please help me out how can i make this transaction happen
Hmm strange, I personally even tried a fee of 0.0001 for much larger transactions and didn't experience any problems.
Is it possible you still got some of your coins pending? (does it say "available to spend: 7.3" or something?)


Title: Re: MultiBit
Post by: Tittiez on June 13, 2012, 06:43:28 AM
By the way, you can already change the fee manually. Closing MultiBit, edit the file "%appdata%\multibit\multibit.properties" (or the equivalent on Mac or Linux) and look for sendFee=xxxx.

Or you can just go to preferences and change it inside the actual program.


Title: Re: MultiBit
Post by: jim618 on June 13, 2012, 07:46:43 AM
Mike Hearn mentioned that fees were pretty much at the top of his list of TODOs for bitcoinj so I will track that development. That should enable me to work out the minimum fee for any given transaction and both simplify things and make confirmation by the miners more certain.

It is a bit complicated working out the fees, not least because to pay a fee you might have to add another transaction output to pay for it : but that changes the transaction and hence can change the fee !


Title: Re: MultiBit
Post by: PTseller on June 13, 2012, 11:56:47 AM
Quote
author=PTseller link=topic=43616.msg959092#msg959092 date=1339559428]
i have 11.6995 BTC in my wallet but when i click on send it asked me for 0.0005 fee so i reduce amount to 11.6990 or 11.6980 but i can't send Sad multibit allow me to send only 7.3 BTC right now donno why ?? i got BTC few days back please help me out how can i make this transaction happen
Quote
Hmm strange, I personally even tried a fee of 0.0001 for much larger transactions and didn't experience any problems.
Is it possible you still got some of your coins pending? (does it say "available to spend: 7.3" or something?)


yeah it showing me available to spend: 7.3 :( what the hell is that :( i got BTC 3 days back and it is much time to get confirmation ! how can i solve this ? any idea mate ?


Title: Re: MultiBit
Post by: jim618 on June 13, 2012, 01:30:56 PM
If you click on the amount that is 'Available to spend' on the MultiBit screen it takes you to this help page:

http://multibit.org/help_availableToSpend.html (http://multibit.org/help_availableToSpend.html)

It is the amount that you have in your wallet that has been confirmed by a block.
MultiBit only allows you to spend bitcoin that have been confirmed by the block chain.


If it took 3 days to confirm a transaction then the probably reasons are:

+ the fee for the transaction sent to you was lower than the minimum amount. (Eventally the bitcoin in the transaction 'mature' and the required minimum fee drops and then a miner includes it).
+ one of the amounts that the person sent to you used was unconfirmed and hence your transaction was only put onto a block when the previous transaction confirmed. Some of the other wallets, notably blockchain.info, allows you to spend bitcoin as soon as you receive it (i.e. it does not wait for confirmations).

The transaction confirmation is a bitcoin network thing, not a MultiBit thing.
I personally always set a fee a bit more than I have to to avoid my transactions getting 'stuck' in the system and then the recipient experiences the 'transaction takes ages to confirm' that you have just seen.



Title: Re: MultiBit
Post by: PTseller on June 13, 2012, 02:00:34 PM
If you click on the amount that is 'Available to spend' on the MultiBit screen it takes you to this help page:

http://multibit.org/help_availableToSpend.html (http://multibit.org/help_availableToSpend.html)

It is the amount that you have in your wallet that has been confirmed by a block.
MultiBit only allows you to spend bitcoin that have been confirmed by the block chain.


If it took 3 days to confirm a transaction then the probably reasons are:

+ the fee for the transaction sent to you was lower than the minimum amount. (Eventally the bitcoin in the transaction 'mature' and the required minimum fee drops and then a miner includes it).
+ one of the amounts that the person sent to you used was unconfirmed and hence your transaction was only put onto a block when the previous transaction confirmed. Some of the other wallets, notably blockchain.info, allows you to spend bitcoin as soon as you receive it (i.e. it does not wait for confirmations).

The transaction confirmation is a bitcoin network thing, not a MultiBit thing.
I personally always set a fee a bit more than I have to to avoid my transactions getting 'stuck' in the system and then the recipient experiences the 'transaction takes ages to confirm' that you have just seen.




In this case what you suggest me to do everytime before making any deal ? any information will be good for me thanks :) what should i tell to buyer and also take care of myself !


Title: Re: MultiBit
Post by: jim618 on June 13, 2012, 02:48:12 PM
If people send you confirmed coins with a 'minimum or more' fee then you should get your transaction confirmation in a block or two.
(This is regardless of the client software you are using).

I guess the safest thing to do, say for large amounts of BTC, is to only release whatever you are selling when you see the usual 6 confirmations. If you get a transaction and it does not confirm then you are in the 'grey zone' where it could be a genuine delay (as I have described above) or it could be someone trying it on (i.e. the transaction is 'fake' in some way and will never confirm).

An unconfirmed transaction is a bit like someone signing the back of a cheque that someone gave them and saying:
 'This cheque will be fine - trust me. Now if you could just give me that gold bar you are selling me I will be off'.



Title: Re: MultiBit
Post by: PTseller on June 13, 2012, 03:55:49 PM
If people send you confirmed coins with a 'minimum or more' fee then you should get your transaction confirmation in a block or two.
(This is regardless of the client software you are using).

I guess the safest thing to do, say for large amounts of BTC, is to only release whatever you are selling when you see the usual 6 confirmations. If you get a transaction and it does not confirm then you are in the 'grey zone' where it could be a genuine delay (as I have described above) or it could be someone trying it on (i.e. the transaction is 'fake' in some way and will never confirm).

An unconfirmed transaction is a bit like someone signing the back of a cheque that someone gave them and saying:
 'This cheque will be fine - trust me. Now if you could just give me that gold bar you are selling me I will be off'.



thanks for awesome reply will look forward and make good deal and safe deal thank you once again :)


Title: Re: MultiBit
Post by: bitcoinspot.nl on June 14, 2012, 07:25:54 AM
Any additional translation needed before the next version?


Title: Re: MultiBit
Post by: bitcoinspot.nl on June 14, 2012, 07:26:56 AM
Any additional translation needed before the next version?

oops didnt read my inbox :)


Title: Re: MultiBit
Post by: jim618 on June 14, 2012, 07:41:54 AM
Hi bitcoinspot.nl,
Thanks for asking !
There have been a few strings gone in recently to do with the new Message window. The type of wallet is now localised too - though localising 'serialised' and 'protobuf' will be a challenge! (probably best just to treat them as loan words).

I think I will release what I have now quite soon. I have done:
+ new wallets are created/saved/loaded in the new protobuf format
+ old wallets are loaded and saved in the old format i.e. No change.

At the moment there is no auto-upgrade from old -> new. (that will come next once I have done a utility to loop over the old format wallets to test and validate saving in the new format: backup old : write new).

I think I will QA what I have now and release it so that, for new wallets and users, we start using the new format. I will aim to release it, say, Monday next week giving the weekend for 'testing and tidying' (for me) and time for any localisation you want to do.


Title: Re: MultiBit
Post by: bitcoinspot.nl on June 15, 2012, 07:17:27 AM
Ok i will see if i can make some time this weekend, i just have a newborn and am moving to a new home, so its a little bit hectic :)


Title: Re: MultiBit
Post by: jim618 on June 17, 2012, 08:43:30 PM
The main change in the next version of MultiBit is that there is a new wallet format, called 'protobuf'.

In the wallet detail callout (that you get by clicking the twisty in the wallet panel) I have put in an extra tooltip and drill-down help to explain it.
Here is a screenshot:

http://multibit.org/postImages/walletFormatsHelp.png

Hopefully that will be clear to everyone. The 'wallet formats' help will also be a heading in the main Help Contents page.

The next version (v0.4.0) should be out in the next day or two - just spending a bit of time user testing it before it goes on the website.


Title: Re: MultiBit
Post by: Kazimir on June 18, 2012, 07:14:58 AM
The main change in the next version of MultiBit is that there is a new wallet format, called 'protobuf'.
And protobuf = new small wallet format that also supports encryption? (and the password for decryption is only required if I want to make payments from that wallet, not just when checking its balance?)


Title: Re: MultiBit
Post by: jim618 on June 18, 2012, 07:57:20 AM
Protobuf wallets are a lot easier to add new data to compared to the old format which was quite brittle.
At the moment the new format has identical functionality to the old so it does not have encryption yet.

I thought it would be safest to migrate everyone over to the new format first before adding extra things. There are now thousands of MultiBit wallets in existence so I am doing it one step at a time.

When the encryption goes in (next thing after migrating the old wallets) it will be encryption of the private keys yes. You will be able to see the balance and new transactions will be received always.

Then when you want to spend you will have to type in your password. It will be a field on the 'Send confirm' screen.

There are also some discussions needed with other bitcoinj devs to get agreement on how the encryption is done and stored as the protobuf wallet format is shared amongst all bitcoinj users. A good data format would mean other bitcoinj users will be able to use the encryption functionality easily in their apps.  I am proposing to use the same encryption I use with the private key export as that is already working and you can use OpenSSL to do the decrypt (ie you can decrypt outside of MultiBit if you want).

Edit: In addition, you can also read and write protobuf data with other languages like C++, python and C so potentially non-Java devs could use the same wallet storage format. The wallets would all be interoperable.


Title: Re: MultiBit
Post by: jim618 on June 18, 2012, 02:04:12 PM
There is a new release of MultiBit at:

http://multibit.org (http://multibit.org)


Version 0.4.0

Enhancements:
+  Introduction of protobuf format for new wallets
+  Upgrade to bitcoinj v0.5.1 library
+  Upgrade to XChange v1.01 library
+  Added Message window
+  Minor UI improvements to help browser

Release info
Scan of release checklist (http://multibit.org/test/releaseCheckList-0.4.0.jpg)


Note: Protobuf wallets you create with MultiBit 0.4.0 are NOT readable in earlier versions of MultiBit

Next up will be a conversion utility to convert old wallets into the new format.


Title: Re: MultiBit
Post by: CrownCloud on June 18, 2012, 02:12:04 PM
There is a new release of MultiBit at:

http://multibit.org (http://multibit.org)


Version 0.4.0

Enhancements:
+  Introduction of protobuf format for new wallets
+  Upgrade to bitcoinj v0.5.1 library
+  Upgrade to XChange v1.01 library
+  Added Message window
+  Minor UI improvements to help browser

Release info
Scan of release checklist (http://multibit.org/test/releaseCheckList-0.4.0.jpg)


Note: Protobuf wallets you create with MultiBit 0.4.0 are NOT readable in earlier versions of MultiBit

Next up will be a conversion utility to convert old wallets into the new format.

Awesome !! Will upgrade ASAP !! :D


Title: Re: MultiBit
Post by: jim618 on June 18, 2012, 02:17:34 PM
Great - thanks speedbus.

I am hoping that (other than some more information in the wallet details panel) people will not see much difference, except that any new wallets they create are smaller and load quicker.


Title: Re: MultiBit
Post by: jim618 on June 19, 2012, 10:13:52 AM
I noticed this morning that the currency ticker has stopped picking up the MtGox data.
I have mentioned it to Tim Molter (the author of the XChange code that MultiBit uses to get the ticker info).
It is most likely that the ticker information from MtGox has changed in some way.

You can see the raw feed if you are interested at:
https://mtgox.com/api/1/BTCUSD/ticker?raw (https://mtgox.com/api/1/BTCUSD/ticker?raw)


Title: Re: MultiBit
Post by: Tittiez on June 19, 2012, 06:19:03 PM
I noticed this morning that the currency ticker has stopped picking up the MtGox data.
I have mentioned it to Tim Molter (the author of the XChange code that MultiBit uses to get the ticker info).
It is most likely that the ticker information from MtGox has changed in some way.

You can see the raw feed if you are interested at:
https://mtgox.com/api/1/BTCUSD/ticker?raw (https://mtgox.com/api/1/BTCUSD/ticker?raw)

I'm still on 0.3.5 and its working fine for me.


Title: Re: MultiBit
Post by: jim618 on June 19, 2012, 07:04:02 PM
Yeah, Tim and I have been looking at it.
Seems that sometimes MtGox just does not serve up the data - presumably when it is busy.


Title: Re: MultiBit
Post by: flatfly on June 20, 2012, 12:57:54 PM
There is a new release of MultiBit at:

http://multibit.org (http://multibit.org)


Version 0.4.0

Enhancements:
+  Introduction of protobuf format for new wallets
+  Upgrade to bitcoinj v0.5.1 library
+  Upgrade to XChange v1.01 library
+  Added Message window
+  Minor UI improvements to help browser

Release info
Scan of release checklist (http://multibit.org/test/releaseCheckList-0.4.0.jpg)


Note: Protobuf wallets you create with MultiBit 0.4.0 are NOT readable in earlier versions of MultiBit

Next up will be a conversion utility to convert old wallets into the new format.

Nice release!
By the way, how much RAM is it recommended to have (on Windows, for instance)?


Title: Re: MultiBit
Post by: jim618 on June 20, 2012, 01:27:43 PM
Hi flatfly,

Thanks !

For memory, I had a look a while ago and the MultiBit process when it had a 'few, smallish' wallets open and fully synced it was about 120MB RAM.

Wallets with several hundred transactions now store at around a megabyte but in memory the structures will be less efficient.

I think normal users would be able to run it on a device with 256MB RAM no problem.

Storage wise I worked out that MultiBit would not quite fit on a 256MB USB drive (mainly due to the size of the JRE) but would fit happily on a 512MB one. Edit: that was for a completely portable version ie windows plus Linux JRE and all the help stored locally. For a normal install the 150MB you have on your comparison chart is plenty.

I have a Raspberry Pi on order as I reckon it should run on that ok.

Cheers


Title: Re: MultiBit
Post by: ErebusBat on June 21, 2012, 05:06:33 PM
tl;dr:  Encryption Question
MultiBit seems to be the best full client for my OS (OSX); however the lack of encryption makes me leary.

What is current the best way to mitigate that?  Just use a TrueCrypt volume?  Doesn't that leave my coins at risk when I want to monitor TXs, but not send?

Please advise,

Thanks!


Title: Re: MultiBit
Post by: jim618 on June 21, 2012, 06:09:07 PM
Hi ErebusBat,

Yes you are correct, the lack of encryption on the MultiBit wallets is currently its biggest weakness. Some thoughts:

1) I recommend people keep their 'savings' BTC in the Satoshi client and keep relatively small smounts in MultiBit. This is what I do.   
2) Having FileVault switched on for your personal folder keeps your wallets encrypted when your machine is locked/off but does not help when you are logged in / running MultiBit.
3) Similarly you can have your wallets in a Trucrypt volume but they are still vulnerable when the Trucrypt volume is mounted.
4) You can also have MultiBit and your wallets on a USB drive, as described here:
http://multibit.org/help_runFromUSBDrive.html (http://multibit.org/help_runFromUSBDrive.html)
Again, when your USB drive is plugged in and decrypted (if you use TruCrypt in addition) your wallets are still vulnerable to a Trojan.

Wallet encryption is my number one priority to work on as none of the above are satisfactory.

I have the UI work detailed here:
https://docs.google.com/document/d/1_8vwkQcv-Tcfx9aU-lKbWgDhAsOkpug3wiHyTo2sy0Y/edit?pli=1#heading=h.kd3tu753qxq (https://docs.google.com/document/d/1_8vwkQcv-Tcfx9aU-lKbWgDhAsOkpug3wiHyTo2sy0Y/edit?pli=1#heading=h.kd3tu753qxq)
There are few things to do (including some necessary wallet data changes) but it should be 'just' a matter of working through them.

Jim








Title: Re: MultiBit
Post by: ErebusBat on June 21, 2012, 06:24:45 PM
Thanks for the quick reply jim.

If i knew java I would help.... but I am just a Ruby/ex-c# guy.


Title: Re: MultiBit
Post by: Kazimir on June 21, 2012, 07:04:35 PM
1) I recommend people keep their 'savings' BTC in the Satoshi client and keep relatively small smounts in MultiBit. This is what I do.   
2) Having FileVault switched on for your personal folder keeps your wallets encrypted when your machine is locked/off but does not help when you are logged in / running MultiBit.
Until MulitBit supports built-in encryption, here's a workaround: create a separate wallet with your 'savings', and (after closing MultiBit) move that to a truecrypt drive (or partition, or container, etc). Unmount this drive and don't open it again until you actually need to get money out of your savings.

Next time when you start MultiBit, you'll see a warning that your 'savings' wallet is missing. That's correct (cause this wallet is now on your truecrypt drive which is no longer mounted). Keep your pocket change in a regular wallet, and if you copied the addresses (not the private keys!) from the savings wallet when you initially created it, you can still see their balance online on various sites such as blockchain.info.

You can still keep sending money to your savings account (you only need its public address for that) without ever accessing the encrypted storage.


Title: Re: MultiBit
Post by: ErebusBat on June 21, 2012, 09:34:51 PM
1) I recommend people keep their 'savings' BTC in the Satoshi client and keep relatively small smounts in MultiBit. This is what I do.   
2) Having FileVault switched on for your personal folder keeps your wallets encrypted when your machine is locked/off but does not help when you are logged in / running MultiBit.
Until MulitBit supports built-in encryption, here's a workaround: create a separate wallet with your 'savings', and (after closing MultiBit) move that to a truecrypt drive (or partition, or container, etc). Unmount this drive and don't open it again until you actually need to get money out of your savings.

Next time when you start MultiBit, you'll see a warning that your 'savings' wallet is missing. That's correct (cause this wallet is now on your truecrypt drive which is no longer mounted). Keep your pocket change in a regular wallet, and if you copied the addresses (not the private keys!) from the savings wallet when you initially created it, you can still see their balance online on various sites such as blockchain.info.

You can still keep sending money to your savings account (you only need its public address for that) without ever accessing the encrypted storage.


Why dont you just create a new wallet on the TC drive to begin with?


Title: Re: MultiBit
Post by: jim618 on June 21, 2012, 09:39:00 PM
That would also work.


Title: Re: MultiBit
Post by: Kazimir on June 22, 2012, 10:14:59 AM
Why dont you just create a new wallet on the TC drive to begin with?
Eh, right, yeah, I was under the assumption that new wallets were automatically created in the same dir as previous ones. But that's not the case, so yes, you can just create it on the TC drive right away.


Title: Re: MultiBit
Post by: jim618 on June 22, 2012, 10:55:22 AM
@Kazimir
Whichever wallet you have currently highlighted when you click on 'New' it uses that wallet's directory in the File navigation dialog.

So if I have a wallet saved as, say, . . .

/users/jim/savings/xmas.wallet

. . . that is already open in MultiBit and highlighted, I can create a new one in the same directory by clicking 'New' and choosing the new name.   It will then get saved in:

/users/jim/savings


(You can change the directory in the File navigation dialog as you like too - it is just the default directory).


Title: Re: MultiBit
Post by: ErebusBat on June 22, 2012, 12:06:01 PM
Hey Jim, do you have an ETA on the encryption?


Title: Re: MultiBit
Post by: jim618 on June 22, 2012, 12:26:59 PM
I think it will be in about a month.

The main things to do are:
+ move all the existing wallets over to the new format (working on that now)
+ add in the new data for the encrypted keys to the wallets (needs agreement with bitcoinj people)
+ actually write the code and do the UI changes to support it.
+ test it. test it. test it.


Title: Re: MultiBit
Post by: jim618 on June 23, 2012, 03:34:30 PM
Hello All,

I have been working on the code to migrate all the existing wallets to the new protobuf format.
Before releasing it generally I would like some beta testers to try it out.
If you have a bit of time free in the next few days, please download it and test it out.

What the wallet migrate does
1) When MultiBit starts up, it sees if there are any serialised wallets (the old type).
2) If there are, it asks the user if it is OK to upgrade now.
3) If user says yes, then loop over each wallet:
3.1) Create a temporary directory and try saving the wallet as protobuf there.
3.2) Load up the test protobuf wallet that was just saved.
3.3) Compare the new and old (same balance, same keys, same transactions).
3.4) Tidy up the temporary directory once the test save is done.
4) If the test save is successful, do it for real by:
4.1) Backing up the existing wallet
4.2) Saving the wallet to protobuf, for real this time.
4.3) Loading the new, real, protobuf wallet and checking again compared to the original (same balance, keys, transactions).

If any of the wallets cannot be migrated:
+ it prints out an error message (in the new Messages window I added in v0.4.0).
+ it keeps the wallet as serialised
+ it marks the wallet with the version of MultiBit that tried to upgrade and will not try again until a new version comes out.
+ it asks the user to mail me the error message shown on screen so that I can some feedback as to where there are problems.

What I would like the beta testers to do
I would like beta testers to try it out and report back.
This is to try it out on a larger variety of wallets before I roll it out to everybody. I have tried it out with a few dozen wallets on my machine but they all tend to be quite similar so it is not comprehensive enough.

Test plan:
1) BACKUP YOUR WALLETS.
2) Download the beta from the URL given below.
3) Start up the MultiBit v0.4.1beta1 v0.4.1beta2. It should ask you at start up if you want to do the migrate.
4) Try it out.
5) The wallets should all then be converted to protobuf. If you expand the wallet detail panel on the left hand panel for each of your wallets you can see the wallet format. It should be 'protobuf'.
6) If there are any failures with the migrate, the user should still have access to their wallet (in the old format).
7) You should see identical functionality with the new wallet format. (At the moment the only apparent difference it that it is smaller and hence quicker to load).

Download URLs
The installer downloads are all on github.com (NOT on the multibit.org website).
They are are the version 0.4.1beta1 0.4.1beta2 downloads here:
https://github.com/jim618/multibit/downloads (https://github.com/jim618/multibit/downloads)

If you do test it out, please let me know how you get on (both good news and bad news are useful feedback).

Thanks in advance !

p.s. The installers aren't fully QAed. There might be some internationalisation terms missing at the moment - just try it out in English.





Title: Re: MultiBit
Post by: ErebusBat on June 23, 2012, 03:40:47 PM
I will test it out.

On the temp dir issue: is this a sub folder of the existing wallet?  I ask because of the true crypt discussion we had earlier.


Title: Re: MultiBit
Post by: jim618 on June 23, 2012, 04:24:01 PM
Hi,

No the temp dir is system specific. On a Mac it is deep in the /var directory. I delete the file after but do not secure delete it.

Hmm, if someone gets your disk they potentially would be able to undelete it. I think I will change it to be a temp subdir of where you have the wallet for reasons you outline. Then it will be in your Trucrypt container or filevault.

Will have a look for a Java secure delete too.

Good point.

Edit: I should be able to get another beta with both of these (temp directory is under where wallet is + secure delete) out tomorrow (Sunday).


Title: Re: MultiBit
Post by: jim618 on June 24, 2012, 11:51:14 AM
I have just uploaded a new beta (MultiBit 0.4.1beta2) with privacy improvements to where the temporary wallets used in the migrate are stored.

It is available at github.com here:
https://github.com/jim618/multibit/downloads (https://github.com/jim618/multibit/downloads)

The wallet migrate is basically the same as before except that:
+ the temp directory used to test the migrate is now a subdirectory of where the wallet is (and thus will be in any TruCrypt container you use).
+ a secure delete is used - the test wallet files are overwritten with random data (synchronously) before deletion.


If you could download and test out the wallet migration I would appreciate it.

edit: It also is now internationalised into German - thanks freemoney!
edit2: The messagebox asking the user to migrate was a little too narrow in German - in the released version it will look like:

http://multibit.org/postImages/walletMigrateDe.png


Title: Re: MultiBit
Post by: jim618 on June 26, 2012, 06:41:41 PM
I just had a user on MultiBit 0.4.0 who encountered the bug:

Could not load the wallet file "<wallet file>"
The error message was "java.lang.IllegalStateException Wallet contained duplicate transaction
<transaction id>"

I encountered this at the weekend (whilst working on the wallet migration) and have fixed it in the beta I have.
As it stops people accessing their BTC if it happens what I will do is:

1) QA and release the beta code with the fix in it as soon as I can, so that the fix is on the website download.
2) Temporarily switch off the wallet migration code (This is all ready to go but it can wait a few days - better to be sure that any problems are fixed before migrating people).

That is one report out of 550 downloads over a week so I imagine it is an edge condition but all the same better to get the fix out now.
The user loaded his wallet in the end by downloading the 0.4.1beta2 from https://github.com/jim618/multibit/downloads (https://github.com/jim618/multibit/downloads) directly.



Title: Re: MultiBit
Post by: jim618 on June 27, 2012, 09:19:14 AM
There is a new release of MultiBit at:

http://multibit.org


Version 0.4.1

Bug fix:
+  Fix for wallet load error "Illegal state exception - duplicate transaction"


Release info:
Scan of release checklist (http://multibit.org/test/releaseCheckList-0.4.1.jpg)


Next steps:
+ I will release the code to do the wallet migration in a few days (assuming no more bugs are found with the protobuf wallets).
+ The bitcoinj mailing group have started thrashing out the details of the encrypted wallets. The discussion document (read-only) is here:
https://docs.google.com/document/d/1bWtBjzqzSubQZ926sUz5iTeMEK30aNNQXFM9z562m-s/edit#heading=h.clwmv2kkooip (https://docs.google.com/document/d/1bWtBjzqzSubQZ926sUz5iTeMEK30aNNQXFM9z562m-s/edit#heading=h.clwmv2kkooip). PM me if you want the link to the edit/comment version and want to contribute.
+ I will start working on the encrypted wallets user interface changes in parallel to the wallet format discussions. These are specified here:
https://docs.google.com/document/d/1_8vwkQcv-Tcfx9aU-lKbWgDhAsOkpug3wiHyTo2sy0Y/edit#heading=h.kd3tu753qxq (https://docs.google.com/document/d/1_8vwkQcv-Tcfx9aU-lKbWgDhAsOkpug3wiHyTo2sy0Y/edit#heading=h.kd3tu753qxq)


Title: Re: MultiBit
Post by: jim618 on June 29, 2012, 11:12:17 AM
I have added some more error handling code for if anything odd happens at startup.
The user now gets an 'Error' text in the bottom left of the screen and more details in the message window.

Screen shot:

http://multibit.org/postImages/startupError.png

(Note:The error shown is ficticious - I just "jammed a screwdriver in" to make MultiBit fail on startup).

It will appear in the next version, 0.4.2


Title: Re: MultiBit
Post by: jim618 on June 30, 2012, 08:33:36 PM
I have been working on an experimental branch today of MultiBit that is quite interesting.

Currently when you do a 'Replay blockchain and transactions' and 'Import private keys' MultiBit replays the blockchain by downloading the blocks from a Satoshi client. This is quite slow and chews bandwidth.

In the experimental branch I have:
+ It caches any blocks downloaded in a subdirectory 'cache/block' (off the directory with the multibit.properties in)
+ When you do a replay or import private keys it checks if there are blocks cached: if there are it uses them.  


Pros:
+ Much quicker replay and import.

Cons:
+ You are caching the blocks so they take up space - about 100MB per 1,000 of the most recent blocks.


It won't go into the main code just yet but it is an an interesting trade off.




Title: Re: MultiBit
Post by: jim618 on July 01, 2012, 05:34:06 PM
Some results from the simple cache strategy of storing the blocks as they come from the network to disk.

Size for cache (up to block 187,062) = 2.54 GB

Some stats on how long it takes to replay all the blocks from the genesis block (hooked up to half a dozen wallets):

Code:
18:01:48.319 DEBUG org.multibit.network.CacheManager - Replaying a stack of 187062 from the block cache.
18:02:30.410 DEBUG org.multibit.network.CacheManager - The remaining block stack is of size 180000
18:03:32.419 DEBUG org.multibit.network.CacheManager - The remaining block stack is of size 170000
18:04:44.286 DEBUG org.multibit.network.CacheManager - The remaining block stack is of size 160000
18:05:50.056 DEBUG org.multibit.network.CacheManager - The remaining block stack is of size 150000
18:06:52.448 DEBUG org.multibit.network.CacheManager - The remaining block stack is of size 140000
18:07:54.979 DEBUG org.multibit.network.CacheManager - The remaining block stack is of size 130000
18:08:56.652 DEBUG org.multibit.network.CacheManager - The remaining block stack is of size 120000
18:09:53.437 DEBUG org.multibit.network.CacheManager - The remaining block stack is of size 110000
18:10:47.646 DEBUG org.multibit.network.CacheManager - The remaining block stack is of size 100000
18:11:45.749 DEBUG org.multibit.network.CacheManager - The remaining block stack is of size 90000
18:12:49.316 DEBUG org.multibit.network.CacheManager - The remaining block stack is of size 80000
18:13:54.300 DEBUG org.multibit.network.CacheManager - The remaining block stack is of size 70000
18:15:01.551 DEBUG org.multibit.network.CacheManager - The remaining block stack is of size 60000
18:16:33.927 DEBUG org.multibit.network.CacheManager - The remaining block stack is of size 50000
18:17:59.623 DEBUG org.multibit.network.CacheManager - The remaining block stack is of size 40000
18:19:23.757 DEBUG org.multibit.network.CacheManager - The remaining block stack is of size 30000
18:20:52.436 DEBUG org.multibit.network.CacheManager - The remaining block stack is of size 20000
18:22:20.458 DEBUG org.multibit.network.CacheManager - The remaining block stack is of size 10000
18:24:44.032 DEBUG org.multibit.network.CacheManager - The remaining block stack is of size 0

So that is about 23 minutes for (re)processing all the transactions in the first 187062 blocks.

I am not sure that the overall data structure is the one to go for, but it certainly saves on bandwidth and speeds up replays and imports.


Title: Re: MultiBit
Post by: ErebusBat on July 01, 2012, 05:48:39 PM
Some results from the simple cache strategy of storing the blocks as they come from the network to disk.

Size for cache (up to block 187,062) = 2.54 GB

Some stats on how long it takes to replay all the blocks from the genesis block (hooked up to half a dozen wallets):

Code:
18:01:48.319 DEBUG org.multibit.network.CacheManager - Replaying a stack of 187062 from the block cache.
18:02:30.410 DEBUG org.multibit.network.CacheManager - The remaining block stack is of size 180000
18:03:32.419 DEBUG org.multibit.network.CacheManager - The remaining block stack is of size 170000
18:04:44.286 DEBUG org.multibit.network.CacheManager - The remaining block stack is of size 160000
18:05:50.056 DEBUG org.multibit.network.CacheManager - The remaining block stack is of size 150000
18:06:52.448 DEBUG org.multibit.network.CacheManager - The remaining block stack is of size 140000
18:07:54.979 DEBUG org.multibit.network.CacheManager - The remaining block stack is of size 130000
18:08:56.652 DEBUG org.multibit.network.CacheManager - The remaining block stack is of size 120000
18:09:53.437 DEBUG org.multibit.network.CacheManager - The remaining block stack is of size 110000
18:10:47.646 DEBUG org.multibit.network.CacheManager - The remaining block stack is of size 100000
18:11:45.749 DEBUG org.multibit.network.CacheManager - The remaining block stack is of size 90000
18:12:49.316 DEBUG org.multibit.network.CacheManager - The remaining block stack is of size 80000
18:13:54.300 DEBUG org.multibit.network.CacheManager - The remaining block stack is of size 70000
18:15:01.551 DEBUG org.multibit.network.CacheManager - The remaining block stack is of size 60000
18:16:33.927 DEBUG org.multibit.network.CacheManager - The remaining block stack is of size 50000
18:17:59.623 DEBUG org.multibit.network.CacheManager - The remaining block stack is of size 40000
18:19:23.757 DEBUG org.multibit.network.CacheManager - The remaining block stack is of size 30000
18:20:52.436 DEBUG org.multibit.network.CacheManager - The remaining block stack is of size 20000
18:22:20.458 DEBUG org.multibit.network.CacheManager - The remaining block stack is of size 10000
18:24:44.032 DEBUG org.multibit.network.CacheManager - The remaining block stack is of size 0

So that is about 23 minutes for (re)processing all the transactions in the first 187062 blocks.

I am not sure that the overall data structure is the one to go for, but it certainly saves on bandwidth and speeds up replays and imports.

I love it, keep up the good work Jim!


Title: Re: MultiBit
Post by: World on July 01, 2012, 08:09:49 PM
I love it, keep up the good work Jim!
+1


Title: Re: MultiBit
Post by: xorgate on July 01, 2012, 08:51:27 PM
Can't install..

Win7, when I have to enter an installpath, clicking 'next' gives an empty screen. Clicking 'next' again hangs the installer.


Title: Re: MultiBit
Post by: jim618 on July 02, 2012, 04:20:30 PM
Hi xorgate,

Are you using a 64 bit install of Win7 ?

I ask because of this very similar bug report:
http://jira.codehaus.org/browse/IZPACK-673 (http://jira.codehaus.org/browse/IZPACK-673)

On the assumption that you are, I have updated my installation files as per the bug report (it is an extra DLL to include) and created an installer for you to try out. It is at:
https://github.com/jim618/multibit/downloads (https://github.com/jim618/multibit/downloads)

It is the multibit-0.4.2alpha-windows.exe (MultiBit 0.4.2alpha - Windows installer - for xorgate) Edit: now removed

This is an alpha version of the current MultiBit code - it is just for you to try out the installer change. If it works please wait for the next QAed version to come out for any serious bitcoin work. The next version of MultiBit should be out in only a couple of days.

(I test on a Win XP virtual machine and this installer works fine but, of course, this is no test of the 64 bit DLL).

Let me know if this fixes the problem.

Jim


Title: Re: MultiBit
Post by: xorgate on July 02, 2012, 06:45:17 PM
Yup that fixed the install issues, cheerio.


Title: Re: MultiBit
Post by: jim618 on July 02, 2012, 06:48:46 PM
Great!


Title: Re: MultiBit
Post by: jim618 on July 03, 2012, 02:27:04 PM
There is a new release of MultiBit at:

http://multibit.org


Version 0.4.2

Enhancements:
+  Added utility to migrate wallets from serialised to protobuf format.
+  'Delete wallet' now overwrites wallet file with random data before deletion (secure delete).
+  Improved error handling on startup if blockchain cannot be loaded.

Bug fix:
+  Installer now works on Win7 x64.

Scan of release checklist (http://multibit.org/test/releaseCheckList-0.4.2.jpg)


Next up is:
+ dealing with any wallet migration glitches
+ getting the bitcoinj wallet encryption format agreed and working


Title: Re: MultiBit
Post by: finway on July 05, 2012, 12:47:00 PM
Replay blockchain doesn't work!  Import private keys from blockchain.info.aes.json 


Title: Re: MultiBit
Post by: jim618 on July 05, 2012, 02:15:01 PM
Hi Finway,

I will have a look at it. Could be something to do with replaying from the genesis block, which I must admit I do not do very often.


Title: Re: MultiBit
Post by: genjix on July 05, 2012, 04:12:13 PM
I wasn't able to get it to work on Linux :( I'm not too familiar with Java but it just didn't start up.


Title: Re: MultiBit
Post by: jim618 on July 05, 2012, 04:57:29 PM
I wasn't able to get it to work on Linux :( I'm not too familiar with Java but it just didn't start up.

Hi Amir,
If you cd to where you installed it and do . . .

java -jar multibit-exe.jar

the console log should give me an idea of what the matter is.


Title: Re: MultiBit
Post by: jim618 on July 05, 2012, 08:04:27 PM
Replay blockchain doesn't work!  Import private keys from blockchain.info.aes.json  

I have fixed the bug with replaying the blockchain from the genesis block (which happens with blockchain.info backups).
I have also got a 'genesisBlockReplay' functional test that 1) resets the blockchain back to the genesis block, 2) connects to a peer, 3) downloads a couple of dozen blocks, 4) checks the blockchain size.  This should prevent this sort of error getting past me.

The fix will appear in the next version (0.4.3) which will probably be on Monday.


Title: Re: MultiBit
Post by: genjix on July 05, 2012, 08:11:24 PM
$ java -jar multibit-exe.jar
22:09:19.165 [main] INFO  o.m.ApplicationDataDirectoryLocator - Application data directory.1 = '/home/genjix/MultiBit'


Title: Re: MultiBit
Post by: jim618 on July 05, 2012, 08:13:06 PM
$ java -jar multibit-exe.jar
22:09:19.165 [main] INFO  o.m.ApplicationDataDirectoryLocator - Application data directory.1 = '/home/genjix/MultiBit'


Can you PM me the multibit_debug.log and multibit_console.log that will be in:
/home/genjix/MultiBit/log
?


Title: Re: MultiBit
Post by: jim618 on July 05, 2012, 09:16:05 PM
Thanks to whoever donated to the MultiBit donation address on the 4th of July.

Happy (Fiat) Independence Day !

:-)


Title: Re: MultiBit
Post by: genjix on July 05, 2012, 09:41:31 PM
$ cat log/multibit_
multibit_console.log  multibit_debug.log   
$ cat log/multibit_*
16:21:42.276 [main] INFO  org.multibit.MultiBit - Starting MultiBit
16:21:42.277 [main] INFO  o.m.ApplicationDataDirectoryLocator - Application data directory.1 = '/home/genjix/MultiBit'
16:21:42.305 [main] INFO  org.multibit.MultiBit - Configuring native event handling
16:21:42.309 [main] INFO  org.multibit.MultiBit - Checking to see if this is the primary MultiBit instance
16:21:42.314 [main] DEBUG o.m.ApplicationInstanceManager - Listening for application instances on socket 8331
16:21:42.316 [main] DEBUG org.multibit.MultiBit - useTestNet = false
16:21:42.317 [main] DEBUG org.multibit.MultiBit - userLanguageCode = null
16:21:42.336 [main] DEBUG org.multibit.MultiBit - Creating model
16:21:42.343 [main] DEBUG org.multibit.model.MultiBitModel - Initial view from properties file is '17'
16:21:42.343 [main] DEBUG org.multibit.MultiBit - Setting look and feel
16:21:42.459 [main] DEBUG org.multibit.MultiBit - Creating views
Exception in thread "main" java.awt.HeadlessException
   at java.awt.GraphicsEnvironment.checkHeadless(GraphicsEnvironment.java:197)
   at java.awt.Window.<init>(Window.java:534)
   at java.awt.Frame.<init>(Frame.java:420)
   at java.awt.Frame.<init>(Frame.java:385)
   at javax.swing.JFrame.<init>(JFrame.java:174)
   at org.multibit.viewsystem.swing.MultiBitFrame.<init>(MultiBitFrame.java:172)
   at org.multibit.MultiBit.main(MultiBit.java:159)
   at org.multibit.MultiBitInExecutableJar.main(MultiBitInExecutableJar.java:120)
16:28:58.698 [main] INFO  org.multibit.MultiBit - Starting MultiBit
16:28:58.698 [main] INFO  o.m.ApplicationDataDirectoryLocator - Application data directory.1 = '/home/genjix/MultiBit'
16:28:58.727 [main] INFO  org.multibit.MultiBit - Configuring native event handling
16:28:58.731 [main] INFO  org.multibit.MultiBit - Checking to see if this is the primary MultiBit instance
16:28:58.735 [main] DEBUG o.m.ApplicationInstanceManager - Listening for application instances on socket 8331
16:28:58.737 [main] DEBUG org.multibit.MultiBit - useTestNet = false
16:28:58.738 [main] DEBUG org.multibit.MultiBit - userLanguageCode = null
16:28:58.757 [main] DEBUG org.multibit.MultiBit - Creating model
16:28:58.764 [main] DEBUG org.multibit.model.MultiBitModel - Initial view from properties file is '17'
16:28:58.765 [main] DEBUG org.multibit.MultiBit - Setting look and feel
16:28:58.836 [main] DEBUG org.multibit.MultiBit - Creating views
Exception in thread "main" java.awt.HeadlessException
   at java.awt.GraphicsEnvironment.checkHeadless(GraphicsEnvironment.java:197)
   at java.awt.Window.<init>(Window.java:534)
   at java.awt.Frame.<init>(Frame.java:420)
   at java.awt.Frame.<init>(Frame.java:385)
   at javax.swing.JFrame.<init>(JFrame.java:174)
   at org.multibit.viewsystem.swing.MultiBitFrame.<init>(MultiBitFrame.java:172)
   at org.multibit.MultiBit.main(MultiBit.java:159)
   at org.multibit.MultiBitInExecutableJar.main(MultiBitInExecutableJar.java:120)
22:09:19.228 [main] INFO  org.multibit.MultiBit - Starting MultiBit
22:09:19.228 [main] INFO  o.m.ApplicationDataDirectoryLocator - Application data directory.1 = '/home/genjix/MultiBit'
22:09:19.303 [main] INFO  org.multibit.MultiBit - Configuring native event handling
22:09:19.315 [main] INFO  org.multibit.MultiBit - Checking to see if this is the primary MultiBit instance
22:09:19.337 [main] DEBUG o.m.ApplicationInstanceManager - Listening for application instances on socket 8331
22:09:19.339 [main] DEBUG org.multibit.MultiBit - useTestNet = false
22:09:19.339 [main] DEBUG org.multibit.MultiBit - userLanguageCode = null
22:09:19.343 [main] DEBUG org.multibit.MultiBit - Creating model
22:09:19.362 [main] DEBUG org.multibit.model.MultiBitModel - Initial view from properties file is '17'
22:09:19.363 [main] DEBUG org.multibit.MultiBit - Setting look and feel
22:09:19.696 [main] DEBUG org.multibit.MultiBit - Creating views
Exception in thread "main" java.awt.HeadlessException
   at java.awt.GraphicsEnvironment.checkHeadless(GraphicsEnvironment.java:197)
   at java.awt.Window.<init>(Window.java:534)
   at java.awt.Frame.<init>(Frame.java:420)
   at java.awt.Frame.<init>(Frame.java:385)
   at javax.swing.JFrame.<init>(JFrame.java:174)
   at org.multibit.viewsystem.swing.MultiBitFrame.<init>(MultiBitFrame.java:172)
   at org.multibit.MultiBit.main(MultiBit.java:159)
   at org.multibit.MultiBitInExecutableJar.main(MultiBitInExecutableJar.java:120)
16:21:42.276 [main] INFO  org.multibit.MultiBit - Starting MultiBit
16:21:42.277 [main] INFO  o.m.ApplicationDataDirectoryLocator - Application data directory.1 = '/home/genjix/MultiBit'
16:21:42.305 [main] INFO  org.multibit.MultiBit - Configuring native event handling
16:21:42.309 [main] INFO  org.multibit.MultiBit - Checking to see if this is the primary MultiBit instance
16:21:42.314 [main] DEBUG o.m.ApplicationInstanceManager - Listening for application instances on socket 8331
16:21:42.316 [main] DEBUG org.multibit.MultiBit - useTestNet = false
16:21:42.317 [main] DEBUG org.multibit.MultiBit - userLanguageCode = null
16:21:42.336 [main] DEBUG org.multibit.MultiBit - Creating model
16:21:42.343 [main] DEBUG org.multibit.model.MultiBitModel - Initial view from properties file is '17'
16:21:42.343 [main] DEBUG org.multibit.MultiBit - Setting look and feel
16:21:42.459 [main] DEBUG org.multibit.MultiBit - Creating views
16:28:58.698 [main] INFO  org.multibit.MultiBit - Starting MultiBit
16:28:58.698 [main] INFO  o.m.ApplicationDataDirectoryLocator - Application data directory.1 = '/home/genjix/MultiBit'
16:28:58.727 [main] INFO  org.multibit.MultiBit - Configuring native event handling
16:28:58.731 [main] INFO  org.multibit.MultiBit - Checking to see if this is the primary MultiBit instance
16:28:58.735 [main] DEBUG o.m.ApplicationInstanceManager - Listening for application instances on socket 8331
16:28:58.737 [main] DEBUG org.multibit.MultiBit - useTestNet = false
16:28:58.738 [main] DEBUG org.multibit.MultiBit - userLanguageCode = null
16:28:58.757 [main] DEBUG org.multibit.MultiBit - Creating model
16:28:58.764 [main] DEBUG org.multibit.model.MultiBitModel - Initial view from properties file is '17'
16:28:58.765 [main] DEBUG org.multibit.MultiBit - Setting look and feel
16:28:58.836 [main] DEBUG org.multibit.MultiBit - Creating views
22:09:19.228 [main] INFO  org.multibit.MultiBit - Starting MultiBit
22:09:19.228 [main] INFO  o.m.ApplicationDataDirectoryLocator - Application data directory.1 = '/home/genjix/MultiBit'
22:09:19.303 [main] INFO  org.multibit.MultiBit - Configuring native event handling
22:09:19.315 [main] INFO  org.multibit.MultiBit - Checking to see if this is the primary MultiBit instance
22:09:19.337 [main] DEBUG o.m.ApplicationInstanceManager - Listening for application instances on socket 8331
22:09:19.339 [main] DEBUG org.multibit.MultiBit - useTestNet = false
22:09:19.339 [main] DEBUG org.multibit.MultiBit - userLanguageCode = null
22:09:19.343 [main] DEBUG org.multibit.MultiBit - Creating model
22:09:19.362 [main] DEBUG org.multibit.model.MultiBitModel - Initial view from properties file is '17'
22:09:19.363 [main] DEBUG org.multibit.MultiBit - Setting look and feel
22:09:19.696 [main] DEBUG org.multibit.MultiBit - Creating views


Title: Re: MultiBit
Post by: jim618 on July 05, 2012, 10:12:59 PM
Hmm, I've only seen that HeadlessException when running Multibit (tests) on a server with no graphics capability. It's when it cannot open a window due to there not being a graphics environment it can hook into.

The Linux version I use for testing is a Ubuntu 10.4 VM (it works on later Ubuntus I know).

I am sure you just wanted to install it and run it and have a look and not answer all these questions !
What variant of Linux are you running and is it Gnome or KDE ?

I will also beef up the feedback to give a bit more useful info to the user.


Title: Re: MultiBit
Post by: jim618 on July 05, 2012, 10:23:35 PM
I think you might have a headless java runtime environment.

You could try installing the Openjdk Java 7 with:

sudo apt-get install openjdk-7-jdk


Edit: bumped to open jdk Java 7 rather than 6


Title: Re: MultiBit
Post by: genjix on July 05, 2012, 11:38:26 PM
woo! that was it. thanks


Title: Re: MultiBit
Post by: jim618 on July 06, 2012, 06:10:04 AM
Great - glad you have got it starting ok.
You have inspired me to improve the checking of things at startup and improve the documentation.

:-)

Edit: I have put in a bit more error handling code at startup so the user gets more useful information in the logs. Also the Linux install help now explains how to install Java. http://multibit.org/help.html (http://multibit.org/help.html)


Title: Re: MultiBit
Post by: jim618 on July 07, 2012, 08:39:39 AM
I thought I would give you all an update on the wallet encryption work.

I have started a code branch labeled "v0.5" where all the password work is going into. There will probably be a couple more releases of the 0.4.x MultiBit code (bug fixes etc) before a v0.5.0 comes out.

There are various strands of work to do for the encrypted wallets:

1) User interface changes.
So far I have just added some menu options:

edit: removed

I'll be working on these over the next week or two as they can be done in parallel with items 2 and 3 below.
(Spec: https://docs.google.com/document/d/1_8vwkQcv-Tcfx9aU-lKbWgDhAsOkpug3wiHyTo2sy0Y/edit#heading=h.kd3tu753qxq)


2) Encryption/ decryption code
This is not finalised yet but I have some demo code using scrypt and AES (this describes how the password you type gets turned into an encryption key and how that encryption key actually encrypts the bitcoin keys respectively).

Code:
https://github.com/jim618/multibit/blob/v0.5/src/main/java/org/multibit/crypto/EncrypterDecrypterScrypt.java (https://github.com/jim618/multibit/blob/v0.5/src/main/java/org/multibit/crypto/EncrypterDecrypterScrypt.java)
Test:
https://github.com/jim618/multibit/blob/v0.5/src/test/java/org/multibit/crypto/EncrypterDecrypterScryptTest.java (https://github.com/jim618/multibit/blob/v0.5/src/test/java/org/multibit/crypto/EncrypterDecrypterScryptTest.java)


3) Storing the encryption data in the wallets
There is a draft google doc with the format for storing the encryption information:
https://docs.google.com/document/d/1bWtBjzqzSubQZ926sUz5iTeMEK30aNNQXFM9z562m-s/edit (https://docs.google.com/document/d/1bWtBjzqzSubQZ926sUz5iTeMEK30aNNQXFM9z562m-s/edit)
This is has had one review cycle with the bitcoinj devs but needs more work yet. Then there is actually implementing the change to the protobuf wallets.

4) Testing
Due to the nature of this work, it needs a thorough testing before letting everyone use it. I will produce a release candidate and ask people to test it out before it is released generally.


Title: Re: MultiBit
Post by: jim618 on July 07, 2012, 04:08:57 PM
The 'Add Password' screen:

http://multibit.org/postImages/addPassword.png (http://multibit.org/postImages/addPassword.png)

Screenshot for "Remove Password:
http://multibit.org/postImages/removePassword.png (http://multibit.org/postImages/removePassword.png)

(eye candy only - they do not do anything yet)


Title: Re: MultiBit
Post by: bitcoinspot.nl on July 08, 2012, 01:01:52 PM
thats great man!
Keep up the good work, really looking forward to the version with wallet encryption.

Will you be adding some support for offline wallets you think ?


Title: Re: MultiBit
Post by: bitcoinspot.nl on July 08, 2012, 01:23:32 PM
wanted to do some translation for you today but http://translate.multibit.org/project/multibit is not working.

Do you know of problems with the site?

Roland.


Title: Re: MultiBit
Post by: jim618 on July 08, 2012, 02:22:07 PM
I just tried http://translate.multibit.org/project/multibit (http://translate.multibit.org/project/multibit) and it worked ok.
It resolves directly to the crowdin.net site (under the covers) so maybe they were doing something with their servers (Sunday maintenance?)
Seems ok now.

RE: offline wallets.
I am not sure actually.
I will certainly be doing watch-only wallets (which have been supported in bitcoinj for a while).

I have a Raspberry Pi on order to see if I can run MultiBit directly on it (with practically no modification).
In which case I might suggest doing something like:
1) Create encrypted wallet using MultiBit on Raspberry Pi.
2) Create watch only wallet and copy it to your main machine.
3) Lock your Raspberry Pi in your safe.
4) You can use your watch only wallet on your main machine to receive tx and check balance.
5) When you want to do a spend, take out your Raspberry Pi, let it sync, fire off send, get the send confirmation, switch off, lock away again.

It is not offline signing as you are connecting the Raspberry Pi to the network. To get your private keys someone has to steal or hack your Raspberry Pi for the few minutes it is out of your safe and connected to the network.


Title: Re: MultiBit
Post by: jim618 on July 09, 2012, 02:39:16 PM
There is a new release of MultiBit at:

http://multibit.org


Version 0.4.3

Bug fix:
+  Fix for replay from genesis block

Scan of release checklist (http://multibit.org/test/releaseCheckList-0.4.3.jpg)



This is a bug fix release only.


Title: Re: MultiBit
Post by: teste on July 09, 2012, 04:15:04 PM
Hi, I have a feature request.

1- Add on transactions tab a column showing what was the usd value of 1 bitcoin in the time someone sent me the coins.
If I'm a merchant that accept bitcoin I would like to record the value of bitcoin on each transaction. So I can choose to only sell it if bitcoin price is = or higher when I received it.


Title: Re: MultiBit
Post by: jim618 on July 09, 2012, 08:06:40 PM
Hi Teste,

Thanks for your feature request.
I have been thinking about how best people can do their "Analytics" on their transaction data.

(Commercial companies always try to sell another software package called "Business Analytics" for the decision makers to take a bit more cash off them :-) )

Due to me pretty much being a one-man-band I cannot really do this properly so I think I will go down the route of exporting the raw data so that users can work on it.  There have been previous requests to export as CSV so I will probably support that. That way people can import it into Excel / Open Office Spreadsheet and slice and dice it to their heart's content.

You would have all the transaction data (including date of transaction and hence can do a rate lookup on whichever exchange rate you want to use).  Hopefully people will start sharing their solutions/ charts so that people will not have to do it from scratch.

I think that is the only practical way to do it - I know we had 2 or 3 people permanently on Analytics at my last place and we could never keep up with the requests for different data presentations.


Title: Re: MultiBit
Post by: jim618 on July 10, 2012, 12:33:55 PM
The screen layout for "Change Password":

http://multibit.org/postImages/changePassword.png (http://multibit.org/postImages/changePassword.png)


Title: Re: MultiBit
Post by: bitcoinspot.nl on July 10, 2012, 02:43:44 PM
Hi!,

Just installed the lastest version and it seems a-ok, so thumbs up for that!

I was wondering: i once remarked that a "portable" option in the installer would be a great thing, you know so that the app can be installed on a usb stick.
It seems to me that the app is portable already, or does the normal install put files in other directories?

Thanks!

Roland.


Title: Re: MultiBit
Post by: jim618 on July 10, 2012, 03:00:15 PM
Hi Roland,

Thanks for your feedback.

MultiBit is quite easy to run off a USB drive, you just have to copy a few files around. There is a 'how-to' here:
http://multibit.org/help_runFromUSBDrive.html (http://multibit.org/help_runFromUSBDrive.html)

I would like to have a version that integrates smoothly with PortableApps.com as that is a very good environment for USB drives. I have looked at what it entails and it is various configuration files etc. It is a bit of work but would be worth doing I think.

If you are happy to move a few files around it does not take very long to set MultiBit up for a USB drive. In some of my tests I create a temporary directory, copy in a blockchain, create a multibit.properties, run the test with the 'MultiBit runtime' I just created, then throw it all away. It is that easy.


Title: Re: MultiBit
Post by: jim618 on July 11, 2012, 04:15:36 PM
I have put an icon for the wallet type (i.e. encrypted, unencrypted) into the individual wallet panels:
Composite with wallet details shown and not shown:

http://multibit.org/postImages/walletTypeIcons.png

As MultiBit understands more wallet types, there can be different icons (e.g. an eye for a watch only wallet). There are tooltips for all the icons.

Also I have removed the 'Type' row from the wallet details panel as it is redundant.


edit: twisties back.


Title: Re: MultiBit
Post by: jim618 on July 12, 2012, 10:11:39 AM
When you are importing or exporting private keys on an encrypted wallet, you also need the wallet password so I have added it to the corresponding screens:

http://multibit.org/postImages/importKeysWithPassword.png (http://multibit.org/postImages/importKeysWithPassword.png)

There are two passwords required (the wallet password and the password for the export file) but hopefully the labelling and different sections makes it reasonably clear.

edit: playing around with the icons



Title: Re: MultiBit
Post by: jim618 on July 13, 2012, 12:08:15 PM
Wallet password added to spend confirm dialog:

http://multibit.org/postImages/sendConfirmDialog.png


Title: Re: MultiBit
Post by: ErebusBat on July 13, 2012, 02:48:22 PM
I am getting excited!!!!


Title: Re: MultiBit
Post by: jim618 on July 13, 2012, 03:08:22 PM
Thanks!

Note that this is all pure user interface work. The buttons click and everything but they they don't do much of anything yet.

There is still a fair amount of "down in the engine-room" work todo yet.


Title: Re: MultiBit
Post by: ErebusBat on July 13, 2012, 03:09:18 PM
Thanks!

Note that this is all pure user interface work. The buttons click and everything but they they don't do much of anything yet.

There is still a fair amount of "down in the engine-room" work todo yet.

I understand... I do software development for a living, so I understand that there is WAY more work to do than looks like. 

But I love what I am seeing :)


Title: Re: MultiBit
Post by: jim618 on July 13, 2012, 05:47:51 PM
Now if you click on the wallet type icons the appropriate help page opens:

http://multibit.org/postImages/walletTypeHelp.png


Title: Re: MultiBit
Post by: jim618 on July 14, 2012, 10:04:50 AM
There has been a flurry of translation work on MultiBit in the last week or so:

  • Dutch. This is now at 94% of all texts (including the encrypted wallet ones!). Translators: damnek, grouver, Wim, dutchbrat, bitcoinspot, Marius van Voorden
  • Danish has now been added to the target languages and started by D4CH
  • Esperanto has also been added and has been started by Colin Dean

Thanks to all for their efforts.
I will do another MultiBit v0.4 build around the middle of next week. (I want to upgrade to bitcoinj 0.5.2 as well at the same time).


The encrypted wallet localisation phrases are now all on the http://translate.multibit.org (http://translate.multibit.org) site so please log on and translate some of your mother tongue. :-)


Title: Re: MultiBit
Post by: Mageant on July 14, 2012, 02:55:48 PM
Can Multibit import a Satoshi client wallet?

If not, is there a plan to add this feature sometime?


Title: Re: MultiBit
Post by: jim618 on July 14, 2012, 03:43:25 PM
Hi Mageant,

Not directly no.
If you export your Satoshi wallet keys then you can put them in a file and import them using 'Tools | Import Private Keys'. It imports the sipa key wallet format (the ones starting with 5) but not the compressed private keys.

I was not planning to add this feature no as it would be a lot of work for not that much extra gain.


Title: Re: MultiBit
Post by: jim618 on July 16, 2012, 11:43:22 AM
Over the weekend I hooked up the UI work I have done to the code that actually does the encryption.
Now when you 'Add Password', 'Change Password', 'Remove Password' it actually encrypts/ decrypts the wallet.

Screenshot for change password (though it does not look very different)
http://multibit.org/postImages/changePassword.png (http://multibit.org/postImages/changePassword.png)

There is also more feedback to the user on whether the encrypt/ decrypt was successful or not.

There are various changes still to do (e.g. wallet persistence still not done) but I am going to swop back to the v0.4 branch and work on that for a few days now.


Title: Re: MultiBit
Post by: xorgate on July 16, 2012, 04:20:23 PM
In short:

- wallet file on truecrypt drive
- dismount truecrypt drive
- multibit = b0rked


Title: Re: MultiBit
Post by: ErebusBat on July 16, 2012, 04:27:11 PM
In short:

- wallet file on truecrypt drive
- dismount truecrypt drive
- multibit = b0rked

I think that is to be expected... didn't TC warn you about open files?


Title: Re: MultiBit
Post by: jim618 on July 16, 2012, 06:14:23 PM
It would be better if it handled the disappearance of a wallet's drive a bit more gracefully (as there is still a copy in memory that can be saved 'somewhere'). I will put it on the issues list.

Edit: https://github.com/jim618/multibit/issues/40 (https://github.com/jim618/multibit/issues/40)


Title: Re: MultiBit
Post by: alocacoc on July 16, 2012, 06:24:35 PM
Hello

I downloaded Bitcoin a few days ago and it works very well. Thanks to the developers. Bitcoin looks like that waht i searched for. A lightweight Bitcoin client. Easy to handle and fast.

I guess, my question was already answered here, but i didn't read all the 26 pages. Shame on me  :'(

Is it possible to "torify" the Bitcoin client? In the options i didn't found any proxy settings for that. But may be there is another way to realize this.

  


Title: Re: MultiBit
Post by: jim618 on July 16, 2012, 09:35:46 PM
RE: setting a proxy.

With Java generally you can set up a proxy on, say, localhost port 8123, by passing in parameters on the command line.

For Mac and Linux instead of starting MultiBit with:
java -jar multibit-exe.jar

you would start it with:
java -jar -Dhttp.proxyHost=127.0.0.1 -Dhttp.proxyPort=8123 multibit-exe.jar

(I have not tried this as I don't run Tor but a user reported it worked successfully)


A bit of a complication is that the installers on Mac and Linux install the file "multibit-exe.jar" but for Windows I wrap this file into a "multibit.exe" (i.e. a Windows native exe file). Checking the manual of the product I use to make it (JSmooth) it does not look like you can pass in parameters on the command line. You can actually use the multibit-exe.jar from any of the other installers - it works on all 3 platforms.

It would certainly be easier for it to be settings in the Preferences panel that is for sure so I will put it on the TODO list.
edit: https://github.com/jim618/multibit/issues/35 (https://github.com/jim618/multibit/issues/35)


Title: Re: MultiBit
Post by: alocacoc on July 17, 2012, 01:13:17 PM
Thank you for the explanation. I will give it a try.


Title: Re: MultiBit
Post by: jim618 on July 17, 2012, 02:18:29 PM
Let me know how you get on as I can write up your experience as a how-to for other people.

Cheers


Title: Re: MultiBit
Post by: jim618 on July 17, 2012, 02:32:59 PM
There is a new release of MultiBit at:

http://multibit.org

Version 0.4.4

Enhancements:
+  I18n update
+  Update to bitcoinj 0.5.2


Scan of release checklist (http://multibit.org/test/releaseCheckList-0.4.4.jpg)



This is mainly to update the localisation files and update the bitcoinj version (which has a fix for a sidechain block bug).


Title: Re: MultiBit
Post by: jim618 on July 17, 2012, 08:22:44 PM
Back to the v0.5 encryption work . . .

When you add new keys/ receiving addresses to an encrypted wallet, you need to supply the wallet password.
This is to encrypt the new keys to match the existing ones.

As this would get tiresome to enter a long password repeatedly, I have put in a dialog where you can choose via a combobox to generate 1, 5, 20 or 100 new keys at a time. It is like populating a keypool. You see it when you click the 'New' on the 'Request Bitcoin' screen.

For unencrypted wallets the wallet password field is disabled but can still choose a number.

edit: finished off dialog.

Screenshot:

http://multibit.org/postImages/createNewReceivingAddresses.png



Title: Re: MultiBit
Post by: teste on July 17, 2012, 11:03:50 PM
Hi,

I generated an address on www.bitaddress.org and copied a private key like this one: (5KkRwQXHo7ke9yYSMH3vfFj7DqE3iwktHtkfb7NEwft2i3wJGCa)

Is it possible import this private key on Multibit? If not, is on TODO list?


Title: Re: MultiBit
Post by: jim618 on July 18, 2012, 05:53:14 AM
Hi Teste,

Yes you can put it in a file and import it.

The easiest way to get the exact format is:
1) Create a new wallet saved to a file, say, teste.wallet
2) Export the private keys, UNENCRYPTED, to a file teste.key.
3) Open up the key file in a text editor. There is a big comment at the top that describes the format.  It is simply lines, each line containing the sipa format key - beginning with 5 - and the key creation date in a particular format. You will have an example in there to copy as a new wallet has one key in it.
4) Add in your new key and a date a bit before when you created it.
5) Import the key file back into the wallet.
6) Multibit will then replay the blocks to get the transactions and work out the balance.  

Then it is good idea to secure delete the key file so it is not lying around. If you want a quick key backup you can do another key export but add a password so that the key export file is encrypted.

edit: I have added a help 'how-to' note about this here:
http://multibit.org/help_importASingleKey.html (http://multibit.org/help_importASingleKey.html)


Title: Re: MultiBit
Post by: bitcoinspot.nl on July 18, 2012, 07:39:42 AM
Excuse me for maybe asking a earlier asked question, but the ticker isn't working for me, not before or after the upgrade to the latest version. any tips ?

Roland.


Title: Re: MultiBit
Post by: jim618 on July 18, 2012, 09:52:22 AM
Hi bitcoinspot.nl,

If you do not see the currency ticker at all, it might be that you have accidentally switched it off. You should be able to do 'View | Show Currency Ticker' to get it back.

If you see the currency ticker but there is no data in it, then it is most likely that MtGox is not serving you up the data. If you look in the log/multibit_debug.log you will see an error like 'TickerTimerTask - HTTP get failed'. There is not that much we can do about that (well, other than writing an interface to another exchange). If there are any other errors in the log then post them here or PM me as it means it is something else that I need to look into.

Jim


Title: Re: MultiBit
Post by: bitcoinspot.nl on July 18, 2012, 10:09:13 AM
Hi bitcoinspot.nl,

If you do not see the currency ticker at all, it might be that you have accidentally switched it off. You should be able to do 'View | Show Currency Ticker' to get it back.

If you see the currency ticker but there is no data in it, then it is most likely that MtGox is not serving you up the data. If you look in the log/multibit_debug.log you will see an error like 'TickerTimerTask - HTTP get failed'. There is not that much we can do about that (well, other than writing an interface to another exchange). If there are any other errors in the log then post them here or PM me as it means it is something else that I need to look into.

Jim

Nopes no error.
Will you be having plans to integrate other exchanges?

Roland.


Title: Re: MultiBit
Post by: jim618 on July 18, 2012, 10:24:28 AM
Tim Molter is the developer working on XChange (which I use to get the exchange data). I think he has some early work done on Intersango but it is not yet ready to be used in production yet.

Could you PM me the log just in case there is something in there to indicate what the problem is please ?


Title: Re: MultiBit
Post by: HostFat on July 18, 2012, 10:27:14 AM
Any news about a function to export transactions in csv?


Title: Re: MultiBit
Post by: bitcoinspot.nl on July 18, 2012, 10:31:47 AM
Tim Molter is the developer working on XChange (which I use to get the exchange data). I think he has some early work done on Intersango but it is not yet ready to be used in production yet.

Could you PM me the log just in case there is something in there to indicate what the problem is please ?

just did :) but my multibit_debug.log says that it was last modified: 20-4-2012.. strange


Title: Re: MultiBit
Post by: jim618 on July 18, 2012, 10:37:45 AM
Well there is nothing unusual in that log.
It is getting the ticker currencies ok just not the data.
I will put a bit more error logging in the code to try to pin it down in the future.


Title: Re: MultiBit
Post by: jim618 on July 18, 2012, 11:59:27 AM
Any news about a function to export transactions in csv?

Hi HostFat,
I have put everything except bug fixes on hold whilst I am working on the encrypted wallets as there are a lot of details to work through.
Jim


Title: Re: MultiBit
Post by: jim618 on July 18, 2012, 04:00:36 PM
I have now got the Send Confirm, Export Private Keys and Import Private Keys hooked up to the encryption. They now:

1) Check if encryption is required.
2) Prompt the user for the password.
3) Checks the wallet password correctly decrypts the wallet.
4) Actually decrypts the wallet
5) Does the Send/ Export/ Import
6) Re-encrypts the wallet afterwards.

Screenshot of the Send Confirm dialog, with some of the checking as "MS Paint" annotations:

http://multibit.org/postImages/sendWithPassword.png


Title: Re: MultiBit
Post by: World on July 18, 2012, 07:22:08 PM
hi Jim,
can you add pls. to your To-Do list some artwork and bitcoin banknote printing function?
https://bitcointalk.org/index.php?topic=92969.msg1037251#msg1037251 (https://bitcointalk.org/index.php?topic=92969.msg1037251#msg1037251)


Title: Re: MultiBit
Post by: jim618 on July 18, 2012, 07:35:47 PM
I have been following that thread. The artwork is pretty amazing now!

In addition to the construction of the notes, it also needs some sort of key management so that you do not use the keys that you have 'printed out' for something else and effectively double spend them. Have not thought that through yet.

But yes, will put it on the list (which is getting longer everyday!).   :-)


edit: https://github.com/jim618/multibit/issues/41 (https://github.com/jim618/multibit/issues/41)



Title: Re: MultiBit
Post by: freemoney458 on July 19, 2012, 07:43:31 PM
Hi Jim,

In addition to the construction of the notes, it also needs some sort of key management so that you do not use the keys that you have 'printed out' for something else and effectively double spend them. Have not thought that through yet.

An 'automatic' key management like 'printout of note and immediately remove the key' might be difficult, because in case of printer malfunction one could loose money. But you also want to prevent accidental double spending, and everything should be simple.

Here is my suggestion:
I think printing out a note should be handled similar to spending a cashier cheque:
-After printing, the address should be marked as 'printed' or 'in transfer' or 'cashier cheque obligo'
-This key should not be used for spending anymore.
-When Multibit notices that the address is used on the blockchain, the key should be marked as 'spent'
-If after a defined time the address has not been redeemed on the blockchain (=expiry date of the note), Multibit should transfer the amount from the address automatically to a new address in the same wallet by doing a regular transfer from the address to a new adress on the blockchain.
-This way, it can be ensured that printer malfunctions do not lead to loss of bitcoins or private keys and everything is still simple from a users perspective: No need to recover the key from a backup copy, no need to worry about double spending, etc.
-On the note, an expiry date should be printed, like :"Bitcoins to be redeemed on the blockchain until <date>, otherwise the note becomes invalid".
-The expiry date should be choosable by the user.


Title: Re: MultiBit
Post by: jim618 on July 19, 2012, 09:48:51 PM
Hi Freemoney,

Yes I think that would work.

By marking it as "printed" and then "spent" in your wallet you would not accidentally double spend it.
By having an expiryDate it's state is less ambiguous as time goes on.

It would have to be clear on the note that you have to check the BTC is on the address even if it is before the expiry date.

By their very nature a printed note of a key is a one time use so I imagine they will either have a very short life (print them off just before you need them) or be 'perpetual' in that you are printing them off to save "somewhere safe". In the latter case you would probably want to delete the key out the wallet entirely for more security (once you have checked it has printed ok, obviously).


Title: Re: MultiBit
Post by: jim618 on July 20, 2012, 12:57:55 PM
Previously in MultiBit there have been three sorts of testing done:
1) Unit tests. This is low level code testing.
2) Functional tests to check things like replaying from the genesis block. You do everything for real i.e. connect to the network and actually download blocks.
3) Manual testing on my Mac plus virtual machines (Windows, Linux) against a checklist for each release.

For the encrypted wallet testing I have added a new layer of testing (UI robot testing if you are familiar with it). This is testing at the level of:

  • Action: simulate clicking a particular button.
  • Expected response: message saying 'Enter the wallet password'.
  • Action: simulate entry of wallet password. click another button
  • Expected response: export file written. message saying 'Private keys exported'.

etc

They are a bit laborious to write but in combination with the other tests hopefully leave little space for bugs to lurk. (Well, that is the theory!).

You can see an example (for the Export Private Keys) here:
Export Private Keys robot test (https://github.com/jim618/multibit/blob/v0.5/src/test/java/org/multibit/viewsystem/swing/action/ExportPrivateKeysSubmitActionTest.java).




Title: Re: MultiBit
Post by: ErebusBat on July 20, 2012, 01:46:22 PM
In the latter case you would probably want to delete the key out the wallet entirely for more security (once you have checked it has printed ok, obviously).
This got me thinking.... it would be nice to have a verify function, where you could scan the bill and MultiBit would give you a go/no-go if it could read+decode the bill.

Obviously this would depend on a suitable QR scanning library being available


Title: Re: MultiBit
Post by: jim618 on July 20, 2012, 02:42:48 PM
Hi ErebusBat,

The google zebra-crossing library (zxing) is very good for reading QR codes. (I use it already). The problem with a general scan solution is camera support. There are too many different sorts of camera on various platforms.

You can imagine:
'I have a OEM Logitech 933 scanner hooked up via wifi to a Windows Vista machine and your software does not work.'
That's a semi-infinite task I would not want to do if being paid, nevermind for free.

:-)

Jim


Title: Re: MultiBit
Post by: ErebusBat on July 20, 2012, 07:02:01 PM
Hi ErebusBat,

The google zebra-crossing library (zxing) is very good for reading QR codes. (I use it already). The problem with a general scan solution is camera support. There are too many different sorts of camera on various platforms.

You can imagine:
'I have a OEM Logitech 933 scanner hooked up via wifi to a Windows Vista machine and your software does not work.'
That's a semi-infinite task I would not want to do if being paid, nevermind for free.

:-)

Jim
Good point.

I had assumed that the library would abstract the camera out (like any supported windows imaging supported camera)


Title: Re: MultiBit
Post by: xorgate on July 20, 2012, 08:25:46 PM
Since I am trying out multibit, I sent 1 btc to it in 1 tx.

Then I used multibit to send 0.1xxx btc to another address. Now, I cannot send another tx,
the client tells me there are not enough funds. This is confusing because there are at least 0.8xxxx btc in the wallet.

The message (translated) contains 'Important: you can only spend confirmed bitcoins'.

(This was written when the last block was 189983 which was created 45 minutes ago)

(Tip: have an irc channel)


Title: Re: MultiBit
Post by: jim618 on July 20, 2012, 08:31:50 PM
@xorgate
It is most likely this:

http://multibit.org/help_availableToSpend.html (http://multibit.org/help_availableToSpend.html)


Title: Re: MultiBit
Post by: jim618 on July 20, 2012, 08:36:57 PM
@xorgate

p.s. I was just wondering why you recommend having a multibit irc channel ?
I ask because there is already this thread, messaging and email (on the multibit.org site) as possible contact methods.

Do you find it more productive?





Title: Re: MultiBit
Post by: jim618 on July 20, 2012, 08:44:09 PM
I have been investigating the long time it takes to get from "Connecting..." to "Online" in the last couple of versions.

This is due to a couple of the default hosts used in the initial DNS lookup being offline.
I have changed how it does the lookup so that it tries the 'good' hosts first and then only tries the 'possible' hosts if it is desperate.
On my machine that cuts the connect time down to around 15 seconds (which is about what it used to be).

The fix will go into the next production release (v0.4.5) which will probably be on Monday.


Title: Re: MultiBit
Post by: xorgate on July 20, 2012, 08:52:20 PM
Hi Jim,

Idunno forums to me feel 'official' whereas irc feels more 'apropos' (?) I tend to be on irc always so it's like second nature to me,
to have quick conversations.

I guess I prefer chatting over writing official document :)


Title: Re: MultiBit
Post by: jim618 on July 20, 2012, 09:12:40 PM
I will start using the #multibit channel on irc.freenode.net



Title: Re: MultiBit
Post by: xorgate on July 20, 2012, 11:06:13 PM
 :-*


Title: Re: MultiBit
Post by: jim618 on July 22, 2012, 05:20:55 PM
I have tweaked the message users get when they try send bitcoin but do not have enough available to spend.

They now get the message:

http://multibit.org/postImages/notEnoughFunds.png

If they click on the 'More Help' button they get shown the help for "What does 'Available to spend' mean ?":
http://multibit.org/postImages/availableToSpend.png (http://multibit.org/postImages/availableToSpend.png)


Title: Re: MultiBit
Post by: jim618 on July 23, 2012, 02:08:33 PM
There is a new release of MultiBit at:

http://multibit.org

Version 0.4.5

Enhancements:
+  Faster connection to the Bitcoin network at startup
+  More help on 'Available to spend'



Scan of release checklist (http://multibit.org/test/releaseCheckList-0.4.5.jpg)



Title: Re: MultiBit
Post by: jimbobway on July 23, 2012, 06:37:28 PM

Scan of release checklist (http://multibit.org/test/releaseCheckList-0.4.5.jpg)


Great checklist!  Old school on paper works too!


Title: Re: MultiBit
Post by: jim618 on July 23, 2012, 06:41:25 PM
Thanks - it is pretty old school yes. :-)

I find it quite useful as it picks up quirks here and there. If they are not critical I will ship it anyhow but it gives me an idea of areas where some more work is needed.


Title: Re: MultiBit
Post by: jim618 on July 25, 2012, 10:31:04 AM
I have got the encrypted wallet load and save working now.
I.E. you can password protect a wallet, save it and it gets loaded up properly.

Lots more testing etc to do on it but that is progress.


Title: Re: MultiBit
Post by: World on July 25, 2012, 01:11:37 PM
Mac OS X 10.8 (Mountain Lion) is out and I think MultiBit and Satoshi Bitcoin-Qt application should be on the list
http://roaringapps.com/apps:table (http://roaringapps.com/apps:table)


Title: Re: MultiBit
Post by: jim618 on July 25, 2012, 01:25:05 PM
That is a good site.

I am on 'one of the leopards' on my Mac laptop - cannot remember which.
MultiBit just needs Java 6 or higher but can anyone definitely confirm it works on Lion and Mountain Lion ?
I will then add it in.


Title: Re: MultiBit
Post by: ErebusBat on July 25, 2012, 07:04:19 PM
That is a good site.

I am on 'one of the leopards' on my Mac laptop - cannot remember which.
MultiBit just needs Java 6 or higher but can anyone definitely confirm it works on Lion and Mountain Lion ?
I will then add it in.
I works on Lion for sure.  I am waiting a few days to update to Mt. Lion.


Title: Re: MultiBit
Post by: jim618 on July 25, 2012, 07:47:58 PM
Thanks - I have added it in with a tick for Lion and a question mark for Mountain Lion. Let me know if it is happy with Mountain Lion when you install it.


Title: Re: MultiBit
Post by: jim618 on July 29, 2012, 01:13:15 PM
I thought I would give an update on the encryption work.
In the v0.5 branch I now have a version of MultiBit that is feature complete with the encryption i.e. all the UI work is done and you can actually send bitcoin, import keys, export keys etc for real with encrypted wallets. The wallets save and load.

There has been a lot of new code that has been added to MultiBit in the month of July.
  • Number of lines of code at beginning of July: 25,000
  • Number of lines of code now: 33,700

The test coverage (a measure of how much automated testing there is) has also gone up as I have written more tests:
  • Test coverage at beginning of July: 15.0% (this is a bit low TBH)
  • Test coverage now: 29.4% (getting better)
For comparison the bitcoinj project - which has a LOT of tests - has a test coverage of 56.5%


I am going to do a maintenance release of the production code (v0.4.6) probably tomorrow - that is the code on the multibit.org website - and then work on getting the v0.5 code good enough for an alpha release maybe by the end of the week. You will able to try the encryption functionality out for yourself. (There will be some caveats and 'alpha-code' warnings that I will explain at release).


Title: Re: MultiBit
Post by: vv01f on July 29, 2012, 05:58:24 PM
i figured out for some friends how to import keys from vanity gen..
parsed them with excel and stored in csv again
why the hell is the import (client on win7) only accepting files ending on .key ?

request import single / grou of keys

I'd like some simple function to im-/export a single or group of private keys

I imagine export:
simple selection of adress(es) in the list then tolls/export selected key(s)

and import:
gibe some text field where I can paste some standard-encoded keys (and choose a date from when to recheck the chain, standard should be first block already stored)

swatch in custom layout including text

besides from that only one complain from user-side:
storing the pubkeys as swatch is nice, but the key also should appear in textform on websites - you could provide template-functionality (qr-code, swatch-img are provided via some variable) for custom layouts *edit: e.g. to avoid sth. like this glitch you presented: https://www.youtube.com/watch?v=MnkssdmlaWw#t=17m45s


have fun!


Title: Re: MultiBit
Post by: jim618 on July 29, 2012, 06:41:42 PM
Hi vv01f,

RE *.key files only accepted.
The import/ export keys started out primarily as a way for users to extract their private keys out of MultiBit and reimport them back in hence the file filter was originally just "*.key".   I will put in a extra row for 'all files' like in the wallet open etc.
Edit: https://github.com/jim618/multibit/issues/43 (https://github.com/jim618/multibit/issues/43)

RE: importing/ exporting single/ group/ specify text keys.
Those are good ideas. If and when I improve the key management side of things I will have a look at implementing those.

Because the blockchain (with all the transactions) is not stored in MultiBit the 'general import' of a key is not one of MultiBit's strong areas - because of the need to replay the blocks. This might change in future if and when Bloom filters are added to the server connection. (This should speed up replay).

It would be good for the user to be able to see/ copy the actual private key values (as text and QR code/ swatch) which I think is your last section's emphasis. I will have a look into this in the next round of UI work I do after the encryption goes in.

Thanks for your ideas.


Title: Re: MultiBit
Post by: vv01f on July 29, 2012, 06:57:25 PM
RE *.key files only accepted.
[...] I will put in a extra row for 'all files' like in the wallet open etc.
The problem is not selection of the file; i selected it - it just wasnt recognised.

RE: importing/ exporting single/ group/ specify text keys.
Those are good ideas. If and when I improve the key management side of things I will have a look at implementing those.
no more I'd like ;)

Because the blockchain (with all the transactions) is not stored in MultiBit the 'general import' of a key is not one of MultiBit's strong area - because of the need to replay the blocks - but this might change in future if and when Bloom filters are added to the server connection. (This should speed up replay).
I do not see any problem - ok, it takes time.. if you can improve this, also ok. But for now I do not see a Tool "rescan chain (from date) ..."

It would be good for the user to be able to see/ copy the actual private key values (as text and QR code/ swatch) which I think is your last section's emphasis. I will have a look into this in the next round of UI work I do after the encryption goes in.
nice ideas from your side, but I really also meant a custom layout of swatches (that could be saved or imported to some shop-system most easily) via some template for making it a better integration in e.g. shops. I imagine something smarty-like (popular with cms using php) as template and outputting them as e.g. html.
An example you showed up yourself: There is a video on youtube where you present the server-version with some made up online-shop (books) and the swatch breaks the layout there by outstanding over right border - such could be avoided by custom layouts. And like you already catched we do not need all as image but the qr-code. The key as Text we need more as text in in shops, e.g. to mark them (via js) or even copy (via flash as js aint allowed due to most browsers security model). Also this would enable to view information on certain gadgets in different form.

I appreciate more non-techies using Bitcoin - thanks also to your client ;)


Title: Re: MultiBit
Post by: jim618 on July 29, 2012, 07:47:16 PM
RE *.key files only accepted.
[...] I will put in a extra row for 'all files' like in the wallet open etc.
The problem is not selection of the file; i selected it - it just wasnt recognised.

You mentioned that you originally started with a CSV file.
If your file is not being imported, it might be that the format of the private key export file is space-separated, not comma-separated.
The format is specified in detail here:
https://github.com/jim618/multibit/wiki/Export%20and%20limited%20import%20of%20private%20keys (https://github.com/jim618/multibit/wiki/Export%20and%20limited%20import%20of%20private%20keys)

Note that the createdAt date is in a specific UTC format too.


Title: Re: MultiBit
Post by: vv01f on July 29, 2012, 08:31:58 PM
i have to add it was version 0.4.5 ..

I already read the hints in the documentation (found via website) and the problem wasnt csv (just renamed the export to csv because I thougt that might be the internal format, opened in excel and saved after sorting the rest out and deleting temp. data) as I simply copied the timestamp to every key incremented by 1sec - the single problem was file-extension had to be .key otherwise the client ignores the file (not showing up number of keys and the date) although I could select it after entering filename *.csv manually (I think dropdown all files also was available, but didnt help either) . so simply after changing fileextension it worked, and that was a bit odd to me ^^ .

another usecases not covered
delete single/group of selected key(s) from wallet
just for making a paperwallet I could use another wallet, but perhaps I wanna kill some keypair from the current wallet and keep the others without editing some textfile where I cannot identify the private keys due to missing public ones

move key(s) into another wallet
same as above, plus adding to another wallet before deletion

observation of public keys
perhaps one want so watch specific pubkeys .. e.g. the pubkey of my favorite charity or other known ones
(really was a question by user.. for now he was pointed to several website which he didnt like)

I can think more of using this for cold stored keys, thats why:
delete private key, keep public one
would make sense too - or simply make im-/export/deletion selectable if both ones or just private key


sorry for spamming users ideas, caint stop it as we just talked about this ^^



Title: Re: MultiBit
Post by: jim618 on July 30, 2012, 01:52:02 PM
There is a new release of MultiBit at:

http://multibit.org (http://multibit.org)

Version 0.4.6

Enhancements:
+  Better handling of wallet versions from the future


Scan of release checklist (http://multibit.org/test/releaseCheckList-0.4.6.jpg)


Title: Re: MultiBit
Post by: vv01f on July 30, 2012, 04:31:10 PM
@jim

you forgot:
update-info in forums - check!

btw:
you're able to write?! I cannot remember not typing :D


Title: Re: MultiBit
Post by: jim618 on July 30, 2012, 04:44:27 PM
Ha ha - yes.

Initially I found it a bit of a chore putting my 'test hat' on and just working through a few simple scenarios but now I don't mind doing it. It is a good real world test.

Today for instance, I had my Linux MultiBit with the fee accidentally set at 0.0001 BTC. This is too low now to reliably get into the next block (which confused me until I realised what I had done). 0.0005 or 0.001 is the minimum now to get into the next block for small BTC transfers.


Title: Re: MultiBit
Post by: vv01f on July 30, 2012, 04:49:50 PM
oh - one still is forced to a preset fee?! or is it calculated..
why not chose-able 0-fee with warning for the user? that would be the most user-friendly I think :\ shure you already had the discussion..
although I appreciate fees as a miner ;) at some point 0-fee will not be reliable any more


Title: Re: MultiBit
Post by: jim618 on July 30, 2012, 05:01:20 PM
It is not calculated yet but that is the medium term plan.
Mike (Hearn) has it on his todo list to add to bitcoinj.

I will then show the recommended fee and I guess people will be able to tweak it at their own risk (but this would possibly involve adding another transaction input and hence the recommended fee!)

At the moment there is no way in the bitcoin protocol to 'add a fee to a stuck transaction' to entice a miner to pick it up which would be handy.

There is a good chart - bitcoinstats.com I think - which shows confirm times for transactions with and without fees.


Title: Re: MultiBit
Post by: vv01f on July 30, 2012, 05:19:33 PM
jap, nice chart :D - for others interested: it's on http://bitcoinstats.org/ and announcement was here (https://bitcointalk.org/index.php?topic=46057.0)

I mean especially at very small transactions it hurts having percentage-fees, also I like using a pool not dropping transactions

another idea, also interesting for business-users I think - i dunno if already possible in bitcoinj

forward transaction/transfer
giving a transaction a time when the client shall send it AND the possibility to cancel it

and
multisend
stack some payments/transfers and send 'em as as one transaction (via gui!) to save fees


..yes, still dreaming of perfect user-experience :)


Title: Re: MultiBit
Post by: Gavin Andresen on July 30, 2012, 05:22:03 PM
At the moment there is no way in the bitcoin protocol to 'add a fee to a stuck transaction' to entice a miner to pick it up which would be handy.
That's not quite right.

The protocol supports it-- just take the output of an unconfirmed transaction (paying to you) and then broadcast a send-to-self transaction that uses it as input and has a big, juicy fee.

I think the Eligius mining pool might even notice and confirm both transactions-- Luke DashJr has a pull request (https://github.com/bitcoin/bitcoin/pull/1240) to change the reference implementation's transaction selection code to consider fees for sets of related transactions when deciding what to include in a block.


Title: Re: MultiBit
Post by: jim618 on July 30, 2012, 05:28:30 PM
Hi Gavin,

Oh I see - chain a tx with a nice fat fee onto the one you want confirmed and a pool will pick the both of them to get both the fees. I did not know they did that but it makes sense from their point of view.

Thanks for the clarification.


Title: Re: MultiBit
Post by: Mike Hearn on July 30, 2012, 08:31:15 PM
Miners don't do it. This is a suggestion I made some time ago and brought up again recently. Luke has implemented it for his pool and Gavin is working on something similar for the main software. Until that's done attaching fees via dependent transactions won't work well.


Title: Re: MultiBit
Post by: jim618 on July 30, 2012, 08:46:36 PM
It sounds like whilst it would not work at the moment, it would be handy technique for the future.

If the tx volumes increase I can imagine that the end user might want to send a tx "on the cheap" on the off chance that a miner picks it up. Then later you think, oh, okay I really need that confirmed now and bump the fee up to make it irresistible. It is almost a multi-round negociation between the sender and the miners.

Of course it makes things more complicated but I could imagine a right click on an unconfirmed transaction with a menu option "Increase fee to miner" or similar.


Title: Re: MultiBit
Post by: jim618 on August 01, 2012, 05:29:57 PM
In anticipation of an alpha release of the wallet encryption code, I have tweaked the installer code so that it installs MultiBit in "portable mode".

It loads up wallets as specified in a multibit.properties that is stored in the same directory as the install (rather than the MultiBit user data directory). This is so that your real wallets aren't exposed to the alpha code.

You can see what I mean if you look at the wallet path in this screen shot:

http://multibit.org/postImages/v050alpha.png


This only affects the 0.5.0alpha code (i.e NOT the download on the website) and I will remove it when the code is a bit more mature.
You will probably need Administrator rights to write wallets to the default install directory but you can always install it somewhere else if that is a problem.


Title: Re: MultiBit
Post by: Mike Hearn on August 03, 2012, 05:08:43 PM
Right. The way I intended chained txns to be used is that buyers pass free transactions to merchants/receivers. The merchant then decides as and when to attach a fee and get confirms. Therefore the only people who pay fees are those receiving coins across a trust boundary. If you trust the sender to not double spend, you don't need to attach a fee (or indeed broadcast at all)


Title: Re: MultiBit
Post by: molecular on August 04, 2012, 10:10:44 PM
Right. The way I intended chained txns to be used is that buyers pass free transactions to merchants/receivers. The merchant then decides as and when to attach a fee and get confirms. Therefore the only people who pay fees are those receiving coins across a trust boundary. If you trust the sender to not double spend, you don't need to attach a fee (or indeed broadcast at all)

genius! I vaguely remember an effort to switch fee-burden to recipient via protocol/rule changes. This is so much more elegant and less invasive.


Title: Re: MultiBit
Post by: jim618 on August 06, 2012, 01:48:47 PM
There is a new alpha version of MultiBit that supports encrypted wallets available.
This is version 0.5.0alpha.

As this is primarily for people to test out, it is available only at:
https://github.com/jim618/multibit/downloads (https://github.com/jim618/multibit/downloads)

There are the usual installers for Windows and Linux and a Mac DMG file. (install help (http://multibit.org/help.html) - but use the 0.5.0alpha installers)

The readme.txt is important to read.
It is in the installers/ DMG file but I have included it at the bottom of this post too.

Your feedback is very welcome.


---------------
README.TXT
---------------

MultiBit 0.5.0alpha is a test version of MultiBit that supports encrypted wallets. Please try it out cautiously.

This is NOT production code yet so please read the following notes:

1) The encryption algorithm and/ or wallet persistence format may be improved between now and the production version. Any change will most likely make any wallets you create in MultiBit 0.5.0alpha unreadable by the final 0.5.x release. Older pre-encryption wallets will be read ok. It is just not worth supporting a wallet format that we intentionally improve on during the alpha test period.

It is recommended you create a test directory and save any wallets you create for testing in there. Then if the wallet format/ encryption routines change you can just open the wallets using MultiBit 0.5.0alpha, transfer the bitcoin out and throw the test wallets away.


2) There is a lot of new code that has been added to MultiBit to support encrypted wallets. New code usually means new bugs. For this reason I have temporarily altered the MultiBit build so that MultiBit 0.5.0alpha opens in 'portable mode'. It has its own startup file (multibit.properties) so that it does not open your 'real' MultiBit wallets.

At this stage do not put large amounts of bitcoin in the encrypted wallets just in case there is a bug that zaps your private keys. Do an export of your private keys to be on the safe side. You can probably use the testnet - see the configuration.txt - but I never bother and just use the production network with small amounts of bitcoin.

I have managed to zap my private keys a couple of times in development so please be careful!


3) Let me know if you have any problems even if they are difficult to reproduce or a little vague. Improving the code now may save someone's hard earned bitcoins in the future.


4) Caveats aside - I hope you like the new encrypted wallets functionality. :-)



Title: Re: MultiBit
Post by: jim618 on August 07, 2012, 10:50:14 AM
For Mac OSX 10.8 Mountain Lion users.

Currently the MultiBit DMG file is not signed with an Apple Developer key. When you download the DMG file and try to open it you get the rather abrupt error message:
"MultiBit-[version number]” is damaged and can’t be opened. You should eject the disk image.

I have written up the fix, which is to change the default security settings, and updated the MultiBit help (http://multibit.org/help.html) accordingly.


Title: Re: MultiBit
Post by: ScarecrowMagick on August 08, 2012, 09:46:45 PM
Multibit will not open my wallet. It reports the error is null. How can I get my 0.7116 bitcoin out?

Forgot to mention I am using MultiBit 0.3.5 on Ubuntu 12.04, sorry.



Title: Re: MultiBit
Post by: jim618 on August 08, 2012, 10:07:56 PM
Hi ScarecrowMagick,

Version 0.3.5 is a couple of months old now so definitely download the latest version from multibit.org (version 0.4.6) and try that out first.

If the problem persists PM me the log files (in the multibit/log directory) and I will have a look.


Title: Re: MultiBit
Post by: ScarecrowMagick on August 08, 2012, 10:11:36 PM
Ok - thanks. I'll upgrade and test now.

Scarecrow


Title: Re: MultiBit
Post by: ScarecrowMagick on August 08, 2012, 10:41:07 PM
It could not open the wallet after upgrade to 0.4.6

The error message is "Could not load the wallet file"<file address>" The error message was "java.io.EOFException null"

I have sent you the log file.

Thanks in advance for your help.

Scarecrow


Title: Re: MultiBit
Post by: jim618 on August 10, 2012, 09:11:32 AM
private keys recovered
In the end Scarecrow Magick managed to recover all but 0.03 BTC by recovering the private key from his wallet directly.

Checking the code, writing the protobuf wallets now uses a "write to temp file, rename, delete old" technique so this problem should not occur in any recent code.


local caching of blocks
On another note, a while ago I experimented with simply caching the blocks as they come down the wire into a directory on your machine. Nothing fancy. I am going to put it into the 0.5.x codebase with it being switched on with a property in the multibit.properties file. It gives people a way to trade off disk space (currently 3.1 GB) for faster block replay. It works but it is not finished yet.

I have a machine that sustains 6 MB/s reads from disk and it gives me 200/ 100/ 50 blocks per second for early blocks /  2011 blocks / more recent blocks. A full block replay takes about 20 minutes. A modern desktop machine should give 50 MB/s and an SSD ten times that (though no doubt something else will be rate limiting for SSD).

To cache the blocks is not really the "right" way to manage the blockchain for an SPV client. It will be far better to have a server side bloom filter. I am going to put it in anyway as it will help us cope with the blockchain in the meantime.



Title: Re: MultiBit
Post by: Grouver (BtcBalance) on August 10, 2012, 09:17:10 AM
The translation for dutch is almost completed. (not yet approved though, when is it gonna get approved?)
Though, I can't figure out what the following words should be translated into since i don't know what it means or what it is.

-serialised
-protobuf


Title: Re: MultiBit
Post by: jim618 on August 10, 2012, 11:25:11 AM
Thanks Grouver.

For the 'approved' label I think crowdin.net have that for when there are larger teams (or perhaps someone managing a team in a company). I have given you 'proofreader' rights so you can go in and approve everything in Dutch now.

I think 'serialised' and 'protobuf' are probably best left as proper nouns/ import words and not translated. They are mentioned on the UI and in the help for if someone uses different versions of MultiBit. They refer to the format the wallets are stored in. I have written up some help for it here:

http://multibit.org/v0.5/help_walletFormats.html (http://multibit.org/v0.5/help_walletFormats.html)

As the help is just in English that is another good reason just to leave these phrases unlocalised.

I will pick up your localisation work in the next release.

Thanks for your efforts.

Jim


Title: Re: MultiBit
Post by: freemoney458 on August 10, 2012, 11:30:16 AM
Hi Grouver,

I did the German translation, so I think I can help.

Both phrases refer to the wallet format. Serialised is the 'old' format, protobuf the new one. It appears as information if you click on the wallet details triangle.
For the German translation, I translated serialised literally into German ('serialisiert'), and regarding protobuf I translated it 'protobuf' because it is a name.

Cheers, freemoney458


Title: Re: MultiBit
Post by: TheButterZone on August 11, 2012, 04:27:05 AM
Just generated a vanity address, imported it in the clear, securely deleted, then exported to encrypted .key file.

These might be stupid questions, but how do I
1) stop MultiBit from generating new addresses
2) delete the new addresses it generated and their associated private keys that I never used...
... so that the only address I have access to is the vanity one (or any future vanities that I generate)?

(Mac OSX client)


Title: Re: MultiBit
Post by: jim618 on August 11, 2012, 06:56:00 AM
Hi ButterZone,

Thanks for your post - it is not a stupid question no.

MultiBit will only generate new addresses and private keys when you click on the 'New' button on the Request tab but there is one automatically generated when you create a new wallet which you do not want.

At the moment there is no way to delete addresses - it is a limitation on the UI I am going to fix in the next round of UI tidy up. I am thinking of doing:

1) show the balance on each receiving address/ private key so that you can see which have zero BTC.
2) have a right click / delete that opens a confirmation dialog.
3) on the dialog get the user to type in a couple of randomly generated letters shown on the dialog (as you are deleting private keys that other people may have the address for).

That will enable you to have a wallet with just your single vanity address in.


Title: Re: MultiBit
Post by: TheButterZone on August 11, 2012, 07:59:15 AM
Sounds great, thanks!


Title: Re: MultiBit
Post by: Mike Hearn on August 11, 2012, 06:32:09 PM
bitcoinj does not support deleting keys from a wallet deliberately, because keys are tiny and that is a very easy way to accidentally destroy money. You'd have to add it.

I think a better solution is to have a kind of "hide mode" where a key exists in the wallet but is ignored.


Title: Re: MultiBit
Post by: jim618 on August 11, 2012, 06:43:36 PM
Yes - a hide would be better.


Title: Re: MultiBit
Post by: jim618 on August 12, 2012, 04:53:30 PM
In parallel with testing etc of the encrypted wallets I plan to do some UI tidy up.

I have tweaked the sidepanel as shown below:

http://multibit.org/postImages/newSidePanel.png

This has the following changes:
+ removes the swatch support (which has been pretty much replaced by bitcoin URI links)
+ moved the icons for the side panel to the top
+ removed the "More" and "Less" buttons and replaced them with a custom "separator hugging icon"

This will appear in the the next production release (0.4.7) and the code I will put into the 0.5.x code too.
These changes were suggested by freemoney a couple of months ago.


Title: Re: MultiBit
Post by: freemoney458 on August 12, 2012, 08:16:10 PM
Looks great!


Title: Re: MultiBit
Post by: Tittiez on August 12, 2012, 10:14:18 PM
Linux here, seems like copying doesn't work outside of Multibit, if I copy something in Multibit then I can paste it in other parts of multibit, but I cannot paste it outside of the program. 0.4.6


Title: Re: MultiBit
Post by: jim618 on August 13, 2012, 09:14:02 AM
Hi Tittiez,

A few questions:
+ what Linux are you running ?
+ are you trying to paste text or QR codes ?
+ what application are you pasting into ?

How the cut and paste works is that the source and destination both need to 'talk' the same data format. Especially with images there are a few formats. Give me the details of what you are trying to do and I will raise an issue against it.

Cheers


Title: Re: MultiBit
Post by: Tittiez on August 13, 2012, 11:32:58 AM
Hi Tittiez,

A few questions:
+ what Linux are you running ?
+ are you trying to paste text or QR codes ?
+ what application are you pasting into ?

How the cut and paste works is that the source and destination both need to 'talk' the same data format. Especially with images there are a few formats. Give me the details of what you are trying to do and I will raise an issue against it.

Cheers

+ Ubuntu 12.04
+ Text (Addresses)
+ Chromium (18.0.1025.168 (Developer Build 134367 Linux) Ubuntu 12.04)


Title: Re: MultiBit
Post by: jim618 on August 14, 2012, 04:32:34 PM
Linux here, seems like copying doesn't work outside of Multibit, if I copy something in Multibit then I can paste it in other parts of multibit, but I cannot paste it outside of the program. 0.4.6

Raised as:
https://github.com/jim618/multibit/issues/45 (https://github.com/jim618/multibit/issues/45)


Title: Re: MultiBit
Post by: jim618 on August 15, 2012, 10:59:54 AM
freemoney has refreshed the German translation and corn3 has got the Portuguese up to 100% - see the screen shot below.

Thanks !

http://multibit.org/postImages/portuguese.png

Also, we are making a push on getting a Japanese translation of MultiBit available. This is primarily because MemoryDealers is presenting about Bitcoin in the Akihabara (http://wikitravel.org/en/Tokyo/Akihabara) district in Tokyo later on this month and it would be very useful to have at least one Japanese language wallet available by then.
(I am not sure the exact date).

If you are a native Japanese speaker or have a Japanese friend that would be interested in helping please go to the MultiBit translation site. (http://translate.multibit.org)


The current translation work will appear in the next production release - 0.4.7 - which will probably be next Monday.



Title: Re: MultiBit
Post by: jim618 on August 16, 2012, 05:08:15 PM
I have put in a 'Delete' button in the Sending addresses panel that deletes the label+address that is highlighted:

http://multibit.org/postImages/deleteSendingAddress.png

(It does not delete any transactions).

Also, I have tidied up the StatusBar and Messages window so that:
+ At start up you do not see 'Wallet loading' messages. They are still written into the Messages window.
+ In the help browser, when you hover over a link you see it in the status bar but it does not appear in the Messages window.

It is basically a bit of tidying up.


Title: Re: MultiBit
Post by: Mike Hearn on August 17, 2012, 12:06:29 PM
That UI does not make it very obvious that you can lose money by deleting addresses.

It's for this reason that I'd simply never allow delete in any client I wrote. It's very dangerous and there's no good reason for it. Just call it "hidden" and the confusions can go away.


Title: Re: MultiBit
Post by: jim618 on August 17, 2012, 12:58:50 PM
Hi Mike,

That delete button is only on the list of addresses you have SENT to. ie you are only deleting the label for the send address. The delete button does not appear on the Request screen (ie you cannot delete private keys).
It does not delete any transactions out of the wallet so you cannot lose BTC (though the sends do become unlabelled which is by design).


For the request screen I plan to add a Boolean onto ECKey (need to mail out on the proto changes) and then have a control with:
+ archive address ie hide address, do not use in spends
+ reuse archived address, show it and use it.

and a control to show/ hide the archived addresses (so that you can see what is hidden, if you see what I mean)

For the private keys there will also be a 'Balance' column in the list of addresses so that you can see how much that key controls.

If an archived address receives a payment I will automatically unarchive it.

I have used 'archived' rather than 'hide' just because blockchain.info uses that terminology so it makes sense to reuse it as it is more consistent for the user across wallets.


Title: Re: MultiBit
Post by: Grouver (BtcBalance) on August 17, 2012, 01:06:14 PM
The dutch translation is done.
I am gonna verify and validate it all one more time this weekend and then give you a 'Go'  Jim!


Title: Re: MultiBit
Post by: jim618 on August 17, 2012, 01:11:57 PM
Thanks Grouver !
I normally do the weekly builds on Monday and always pull in all the localisation files so your Dutch will be in v0.4.7.

Cheers


Title: Re: MultiBit
Post by: jim618 on August 20, 2012, 12:55:19 PM
There is a new live release of MultiBit at:

http://multibit.org (http://multibit.org)

Version 0.4.7

Enhancements:
+  Refresh of I18n, especially German, Portuguese and Dutch (thanks freemoney, corn3 and grouver!)
+  Sidepanel UI improvements
+  Less noisy at startup with wallet loading messages
+  Better error handling with currency ticker
+  Various minor UI enhancements


Scan of release checklist (http://multibit.org/test/releaseCheckList-0.4.7.jpg)


Title: Re: MultiBit
Post by: Mike Hearn on August 20, 2012, 01:08:42 PM
OK, sounds good.


Title: Re: MultiBit
Post by: World on August 20, 2012, 03:22:33 PM
 Any chance to release MultiBit in the App Store?


Title: Re: MultiBit
Post by: jim618 on August 20, 2012, 03:26:56 PM
Well I have to get a developer certificate to get round that pesky Mountain Lion GateKeeper anyhow.
I imagine that is what you have to sign your app with to get it into the App Store so yes, why not!

If it is like the iPhone store free apps do not pay anything to Apple for the 'privilege' of being in there.
I will look into it.



Title: Re: MultiBit
Post by: vv01f on August 20, 2012, 04:11:33 PM
is there any native wallet in the app store already?  :-\


Title: Re: MultiBit
Post by: jim618 on August 20, 2012, 05:02:18 PM
I just searched the Mac app store for all of:

   bitcoin
   bitcoind
   armory
   electrum
   blockchain

And it came up with nothing bitcoin releated.

At the moment I think only bitcoind and multibit produce a Mac app wrapped up in a DMG file. I do not think anyone has tried submitting anything to the Mac app store yet. (Tachikoma and Alan are both working on getting app files for electrum and armory I know but have not released anything yet AFAIK).


Title: Re: MultiBit
Post by: jim618 on August 22, 2012, 02:34:50 PM
There is a new test release of MultiBit at:

https://github.com/jim618/multibit/downloads (https://github.com/jim618/multibit/downloads)


Version 0.5.1alpha (Encrypted wallet support)

Enhancements:
+  All changes added to v0.4.7 forward ported.
+  Encrypted wallets no longer have WrappedWallet message
    (see readme.txt if you have MultiBit 0.5.0alpha encrypted wallets)
+  Ability to cache blocks locally (see configuration.txt).


Screenshot from testing : MultiBit on a Mac and Windows XP VM together (http://multibit.org/postImages/v051alpha_test.png)
Scan of release checklist (http://multibit.org/test/releaseCheckList-0.5.1alpha.jpg)

The main work to do now before release onto the multibit.org website is to get the wallet encryption code into bitcoinj (i.e. into the mothership). It is all in the MultiBit code base at the moment so needs to go through code review/ add more tests/ add any improvements people come up/ etc. Then it will be available to everyone and as solid as possible.


Title: Re: MultiBit
Post by: jim618 on August 25, 2012, 06:08:47 PM
I have started adding the ability to have a background task for each of the wallets.
This is so that time consuming activities (like importing a big import file, encrypting thousands of private keys etc) run in separate processes and do not "jam up" the GUI.

You can see an example in this composite screenshot here:
http://multibit.org/postImages/busy.png

You can see that whilst the process to create, encrypt and add the 100 requested private keys is running, there is an hourglass in the wallet panel for that wallet.

To keep things orderly I will hook up all the 'wallet sensitive' operations like import/ export/ send/ encrypt/ decrypt so that if a background task is running for that wallet you cannot then start off another one. (The action buttons will be disabled and the tooltip will tell you the process that is 'hogging' the wallet).

You can still receive transactions when background tasks are running : the bitcoin network connections are in different threads.

There will be one background task for each wallet, so if one wallet is busy you can still do whatever you like with the others.

It will take a few days to add - I have just done one so far.


Title: Re: MultiBit
Post by: da2ce7 on August 26, 2012, 11:34:53 AM
neat!  ;D


Title: Re: MultiBit
Post by: bitcoinspot.nl on August 26, 2012, 02:13:32 PM
wow man, been a little busy lately so havent been following the project as closely as i did, but again im impressed with the progress you are making.

Will you be going to the bitcoin conference in london?

roland.


Title: Re: MultiBit
Post by: Tittiez on August 26, 2012, 02:23:12 PM
Are we ever going to see sendmany support? That would be nice.


Title: Re: MultiBit
Post by: jim618 on August 26, 2012, 02:52:55 PM
Yes I will be at the London conference.
I have a technical slot to go over what I have been doing on MultiBit over the summer.

RE: sendmany - I would like to beef up the send options to include sendmany and choosing change addresses etc but I must admit I would like to first get in:
 + encryption out the door (useful for everyone)
 + support for displaying fiat amounts and then switching it around so that you enter in fiat and see the bitcoin amount (useful for 'fiat people' and merchants)
 + would really like to get in server side bloom filters if and when that becomes live. (should see big speedups and it is an enabler for other things).

Oh well - it is a fact of life that our imaginations can run a 1000 times quicker than our ability to implement things.


Title: Re: MultiBit
Post by: bitcoinspot.nl on August 27, 2012, 07:39:19 AM
ok great,

when are you scheduled?

Roland.


Title: Re: MultiBit
Post by: jim618 on August 27, 2012, 08:46:13 AM
Hi Roland,

I presume from your question that you are going too so we can meet up !

I do not think the schedule is fixed yet - there are two rooms they have for talks apparently so I imagine there is a bit of juggling to do.

My talk will be mainly going over what has been done over the summer, demo and a look at what work is planned next.

I think it is going to be a really interesting conference as Bitcoin is popping up all over.


Title: Re: MultiBit
Post by: bitcoinspot.nl on August 27, 2012, 01:10:03 PM
yeah im really psyched too :)

im planning to make my little list of bitcoin-questions, cause theres still a lot of stuff that i dont understand.

r.


Title: Re: MultiBit
Post by: jim618 on August 27, 2012, 03:22:43 PM
There is a new live release of MultiBit at:

http://multibit.org (http://multibit.org)

Version 0.4.8

Enhancements:
+  I18n update. Hebrew added as target language. Lots of new texts including fr:95%, ja:44%, he:24%



Scan of release checklist (http://multibit.org/test/releaseCheckList-0.4.8.jpg)


This release is mainly because there has been quite a lot of localisation work over the last week that I wanted to get out. Thanks to everyone who has spent time translating source text.


Title: Re: MultiBit
Post by: jim618 on August 28, 2012, 05:56:24 PM
Thanks to the localisation effort this week translators !
French is now at 100%.

Also, I could not resist posting some links of screenshots of MultiBit in Asian languages:

Japanese (http://multibit.org/postImages/japanese.png)

and

Korean (http://multibit.org/postImages/korean.png)


They are both at 67% translated as I type. (The Japanese screenshot is from a couple of days ago so is actually more done than shown).

Ideographic languages are certainly more space efficient than our rather long and rambling Roman character transliterations.


Title: Re: MultiBit
Post by: jim618 on August 29, 2012, 02:25:52 PM
There is a new test release of MultiBit at:

github.com (https://github.com/jim618/multibit/downloads)

Version 0.5.2alpha

Enhancements:
+  Faster wallet encrypt/ decrypt
+  Background tasks added
+  I18n. Lots of new text.

Scan of release checklist (http://multibit.org/test/releaseCheckList-0.5.2alpha.jpg)


The languages available are now:
Code:
Arabic             19%
Chinese Simplified 83%
Croatian           7%

Danish             11%
Dutch              97%
Esperanto          6%

Finnish            38%
French             100%
German             100%

Greek              67%
Hebrew             24%
Hindi              39%

Hungarian          44%
Italian            62%
Japanese           83%

Korean             100%
Latvian            38%
Norwegian          33%

Persian            21%
Polish             53%
Portuguese         97%

Russian            73%
Spanish            77%
Swedish            42%

Thai               6%
Turkish            48%
Vietnamese         5%

Here is the MultiBit translation site (http://translate.multibit.org/)





Title: Re: MultiBit
Post by: Technomage on August 30, 2012, 01:47:26 PM
I've totally failed on the translation duties. I translated the wallet to Finnish once and afterwards I've just been so busy with other stuff. But this is one of my favorite wallets so I will get the Finnish translation up-to-date asap.


Title: Re: MultiBit
Post by: jim618 on August 30, 2012, 01:58:11 PM
Hi Technomage,

Thanks for the help!

At the moment bitcoin is still quite English centric and geeky but the language work is all about making it easy for new people to start using bitcoin. Bitcoin is confusing enough for new starters so you want the text they are reading to be their mother tongue.

I am hoping other projects will recycle the MultiBit translation work, as the text probably covers 80% of a typical bitcoin wallet's words.


Title: Re: MultiBit
Post by: jim618 on August 30, 2012, 09:45:50 PM
There is a nice appearance of MultiBit in this video that Tony Gallippi@bitpay has made for Max Keiser's PirateMyFilm.com website:

http://youtu.be/spFOQ-fsz4Y (http://youtu.be/spFOQ-fsz4Y)

Good one Tony!


Title: Re: MultiBit
Post by: Sovereign108 on August 31, 2012, 09:49:05 PM
Hi, Hopefully this is the right place to post problems with Multibit! My bitcoins are stuck, I can't spend them!! The transaction when the bitcoins were transferred shows up as confirmed with a tick, but my available balance shows up as 0, what is going on? Some minor transactions are being shown as waiting to be confirmed but they are small amounts.

Blockchain.info shows 8 confirmations already with that amount. HElp!

Update: Ok, after a long while I figured out that after sending, say a very small amount, the whole balance is locked down until that transaction I just sent gets at least 1 confirmation! Is this supposed to happen? Never happened to me with the other clients???


Title: Re: MultiBit
Post by: jim618 on August 31, 2012, 11:01:09 PM
Yes - it is most likely this:
http://multibit.org/help_availableToSpend.html (http://multibit.org/help_availableToSpend.html)

It does not appear in other clients that have the whole blockchain (or talk to a server with the whole blockchain).
Because MultiBit does not have the whole blockchain to check against, it has to wait until the transactions you send appear in a block before it is sure that everything worked ok.

If you have an unspent output of, say 50 BTC even a small spend can make that unavailable to spend. e.g. the transaction might be:

You spend: 0.01 BTC to address 1aaa

The transaction consumes your 50 BTC transaction output, sending 0.01 BTC to 1aaa and 49.99 BTC back to one of your addresses as change. Until the transaction appears on the blockchain MultiBit will not you spend the 49.99 BTC.

It is mainly in there because otherwise you can get into complicated and confusing situations such as:

1) first transaction gets sent but never confirms (say fee is too low)
2) a second transaction that uses the change from transaction 1 then also does not confirm because transaction 1 does not.
3) the user that received transaction 2 may have a client that allows them to spend unconfirmed BTC, in which case THEIR recipient gets BTC that is dependent on the very first of your transactions confirming.

This all gets too confusing hence the restriction in MultiBit.


Title: Re: MultiBit
Post by: jim618 on September 01, 2012, 03:29:42 PM
I have put in the ability to change the Look and Feel (http://en.wikipedia.org/wiki/Pluggable_look_and_feel). You can use this to effectively skin MultiBit.

In the 'Preferences' tab there is now an 'Appearance' section with a 'Look and Feel' combo box:

http://multibit.org/postImages/appearance.png

Here is an example - this is the Nimbus Look and Feel with the font set to Verdana.

http://multibit.org/postImages/nimbus.png

So far I am just listing the available Look and Feel that are available on the system but if there is a particularly nice one I like I might bundle it in.

This code is currently in test but I will copy it back to the live branch and put it in the next live release.
This code will appear in the next live release.


Title: Re: MultiBit
Post by: jim618 on September 02, 2012, 11:46:30 AM
For Arabic, Hebrew and Persian/Farsi users I have been working on right-to-left layouts.
Currently all three of these languages are between 20 and 25% translated.

There is still some work to do, but here is a screenshot of MultiBit set to Hebrew:

http://multibit.org/postImages/rtl.png

You have to use your imagination a bit as the English is rendered left-to-right but when translated to Hebrew it will be rendered right-to-left. This work will appear in the next live release.


Title: Re: MultiBit
Post by: World on September 02, 2012, 12:19:42 PM
I like the differences between a languages.
good work Jimi


Title: Re: MultiBit
Post by: jim618 on September 02, 2012, 01:20:29 PM
Thanks !

Lots of languages in the world but everyone can use Bitcoin.

:-)


Title: Re: MultiBit
Post by: tpantlik on September 03, 2012, 11:16:47 AM
Hi, thanks for a good work on great client!

There is a lot of languages available but there isn't Czech translation yet. Can I work on that?


Title: Re: MultiBit
Post by: jim618 on September 03, 2012, 01:40:37 PM
Thanks!

Sure - I will add Czech as a target language.
I will add it in tonight.


Title: Re: MultiBit
Post by: jim618 on September 03, 2012, 02:18:08 PM
There is a new live release of MultiBit at:

http://multibit.org (http://multibit.org)

Version 0.4.9

Enhancements:
+  Look and feel added. (Nimbus is the nicest IMHO).
+  Improved right-to-left layouts for Arabic, Hebrew, Persian/ Farsi.
+  Internationalisation: Chinese Simplified, French, German, Korean, Spanish translated 100%. Slovak:98%. Dutch:97%. Japanese:88%.

Scan of release checklist (http://multibit.org/test/releaseCheckList-0.4.9.jpg)


Thanks to all the localisers for their efforts.


Title: Re: MultiBit
Post by: jim618 on September 04, 2012, 07:03:27 PM
Courtesy of translators tpantlik and moole, there is now a Czech translation of MultiBit.
Here is a screenshot (using the 'metal' look and feel for a bit of variety):

http://multibit.org/postImages/czech.png

It will be included in the next test version, which should be out tomorrow (Wed) and the next live (probably out early next week).


Title: Re: MultiBit
Post by: knight22 on September 04, 2012, 07:09:44 PM
Great! A lot of new translations these last days. It's a giant step for bitcoin world wide accessibility.
Thanks Jim for this client!


Title: Re: MultiBit
Post by: World on September 04, 2012, 07:22:17 PM
definitely the best BTC wallet


Title: Re: MultiBit
Post by: jim618 on September 04, 2012, 07:23:32 PM
Yes! Great to see the text being translated.

Thanks World!
And thanks knight22 <- I noticed your posts in fluent Greek and Arabic/Persian? in the Local forum asking for translations for MultiBit. :-)


If, like me, you are curious as to the differences between Czech and Slovak here is exactly the same screenshot as the post above but in Slovak:

http://multibit.org/postImages/slovak.png



Title: Re: MultiBit
Post by: mila on September 05, 2012, 01:45:23 PM
If, like me, you are curious as to the differences between Czech and Slovak here is exactly the same screenshot as the post above but in Slovak:

thanks for including it so fast :)


Title: Re: MultiBit
Post by: jim618 on September 05, 2012, 03:35:32 PM
There is a new test release of MultiBit at:

github.com (https://github.com/jim618/multibit/downloads)

Version 0.5.3beta (Encrypted wallets)

Enhancements:
+  Forward port of everything from v0.4.9
+  Czech translation 100% added.


Scan of release checklist (http://multibit.org/test/releaseCheckList-0.5.3beta.jpg)


I have bumped the release up to 'beta' as I been using the encrypted wallet code for real for a couple of weeks now.

I had hoped to get all the relevant code into bitcoinj and release the encrypted wallet code as 'live' before the conference but have run out of time. It is not something you want to rush so it will have to be afterwards now. A little longer for user testing will be a good thing in the long run anyhow.


Title: Re: MultiBit
Post by: jim618 on September 05, 2012, 03:44:57 PM
If, like me, you are curious as to the differences between Czech and Slovak here is exactly the same screenshot as the post above but in Slovak:

thanks for including it so fast :)

Thank you for the translation text!


Title: Re: MultiBit
Post by: tpantlik on September 05, 2012, 04:50:48 PM
Yes! Great to see the text being translated.
If, like me, you are curious as to the differences between Czech and Slovak here is exactly the same screenshot as the post above but in Slovak:

Yeah, it seems like similar, both languages are close relatives. We are like like brothers, our nations were in one federative republic for a long time - Czechoslovakia. I can speak and understand Slovak but a lot of younger people don't.


Title: Re: MultiBit
Post by: jim618 on September 06, 2012, 11:24:04 AM
At the request of user welyoe I have just added Bahasa Indonesia as a target language for MultiBit translation.
If you would like to help him in translating the 400 or so texts remaining please have a look at:

http://translate.multibit.org (http://translate.multibit.org)

Terima kasih.


Title: Re: MultiBit
Post by: jim618 on September 07, 2012, 08:55:57 PM
For users of non-Roman script languages (e.g. Chinese, Korean, Japanese) they typically use an Input Method Editor (IME) to enter the correct characters using their keyboard.
For instance you type 'ni hao' and it converts it to 你好 (= 'Hello' in Chinese).

I have been assuming that the Java components in MultiBit 'play nicely' with the operating system's IMEs but can someone confirm this please ? I only use Roman script so do not know.

Thanks.


Title: Re: MultiBit
Post by: jim618 on September 08, 2012, 09:47:56 AM
Thanks to the efforts of user welyoe there is now a translation of MultiBit for Bahasa Indonesia.

Screenshot:

http://multibit.org/postImages/bahasaIndonesia.png

This will appear in the next live version of MultiBit, which should be out on Monday.


Title: Re: MultiBit
Post by: Sovereign108 on September 08, 2012, 10:24:08 AM
Multibit's great, but surely the icon should be a nice gold colour! :P Just an opinion...


Title: Re: MultiBit
Post by: jim618 on September 08, 2012, 10:43:32 AM
Hi Sovereign108,

That is quite an observant comment - originally (in the very first release)  it WAS the gold Bitcoin icon. But then I could not tell the difference between the MultiBit I had running and the Satoshi client. Both looked the same in my dock on my Mac.

So I opened it up with Seashore (graphics app). Made it monochrome and fiddled around with the contrast and thought - yeah that will do.

Now of course it is in every installed MultiBit, on the website, twitter account, in the send confirmation dialog etc. Apparently with anything 'iconic' or brand related it is better just to leave well alone and not change things (unless absolutely necessary).

:-)


Title: Re: MultiBit
Post by: Sovereign108 on September 08, 2012, 11:48:20 AM
Oh, I understand now. It just sort of points to a silver standard at first! Its ok though!!!!

Hi Sovereign108,

That is quite an observant comment - originally (in the very first release)  it WAS the gold Bitcoin icon. But then I could not tell the difference between the MultiBit I had running and the Satoshi client. Both looked the same in my dock on my Mac.

So I opened it up with Seashore (graphics app). Made it monochrome and fiddled around with the contrast and thought - yeah that will do.

Now of course it is in every installed MultiBit, on the website, twitter account, in the send confirmation dialog etc. Apparently with anything 'iconic' or brand related it is better just to leave well alone and not change things (unless absolutely necessary).

:-)


Title: Re: MultiBit
Post by: freemoney458 on September 09, 2012, 08:30:09 PM
Hi Jim,

great work so far on the encrypted wallets.

I just stumbled on 2 a bit unexpected behaviours when playing around a bit on my MacOS X 10.5.8 with the MultiBit-0.5.3beta client. I do not think it is a bug, but maybe you want to change it anyway:

1) I installed the client with administrator privileges, just using the built-in multibit.wallet which is by default created inside the client folder. When I log in as a different user, I can start the MultiBit client and get access to the default multibit.wallet. Unless the wallet is encrypted, I guess it will let me spend bitcoins (I have not tried it). Even if the wallet is encrypted, any user can inspect the transaction log etc. which I do not like from a privacy point of view.
On the other hand, this behaviour can be useful in e.g. a small enterprise where different people with different computer accounts shall still be able to access the same wallet.
--> I think the default multibit.wallet file should be saved somewhere / somehow different so that only the appropriate user can access the wallet. For locations where the above behaviour is desired, an option might enable it.

I have not tried it to create a second wallet as an alternative user. But how would multibit in this case handle the blockchain file? Will it create a blockchain file for every wallet or will it keep the blockchain in one file for all wallets? Where will the blockchain file be stored? What about the other files that MultiBit creates like properties file etc.?
--> Can you add this to the documentation?

2) By default MultiBit creates every wallet unencrypted and with one first receiving address inside. I consider that even if I encrypt the wallet, at least the first receiving address and its private key was stored unencrypted on the filesystem. Therefore I consider that this first address is vulnerable from a security point of view. So I would not want to ever store bitcoin in this address, since they could get stolen. My current solution is to tag this address with a comment like 'DO NOT STORE BITCOIN HERE', because I can not delete or hide the address at the moment.
--> Is it possible to create wallets without a first receiving address? Or to create them from the start up encrypted (so the add password dialog would be invoked BEFORE the creation of the first receiving address)?


Title: Re: MultiBit
Post by: jim618 on September 09, 2012, 08:57:04 PM
Hi freemoney,

Thanks for trying out the encrypted wallets code.
To answer your queries:

1) It is only a temporary thing to have the multibit.properties in/next to the multibit executable. I have done it just so that people can install the encrypted wallet code with no danger of it messing up their real multibit wallets.

When it gets released generally it will use the same storage regimen as the current live code which is:
   a) The initial wallet (multibit.wallet) is stored in the "user's application data directory"/MultiBit. It will thus have the visibility of all your other user documents.  If you encrypt your user data (say using FileVault on a Mac) it will be encrypted on the disk.
   b) Each user gets their own block chain (which is used by all their wallets). When they first start multibit the blockchain that was installed gets copied to their user data/MultiBit directory.
   c) Each user has their own multibit.properties.

There is a bit of help on where MultiBit stores the user data but I will add in more details.
http://multibit.org/v0.5/help_troubleshooting.html (http://multibit.org/v0.5/help_troubleshooting.html)

2) Yes, I know what you are saying. I put an initial receiving address in so that a new user can always get started. When you start up multibit for the first time you want the user to have a wallet with at least one receiving address, but the new user has not had the opportunity to read any help so will not know about security or anything.

I think I will end up with a "New Wallet Wizard" where the user chooses the type of wallet they want to create (from a list of types) and then fills out the required data for that wallet type.

Then you would be able to create an encrypted wallet that was never saved unencrypted.

Also in the future you will be able to "archive" a receiving address and it will never be used (similar to blockchain.info). I don't want to just delete them as if anyone sends bitcoin to an old address they will lose the money. (The private key is only 32 bytes so it is easy to store-but-just-never-use).

It is one step at a time I am afraid to get things implemented and released!

Hopefully this answers your queries.
Let me know if you have any other points that you notice.

:-)



Title: Re: MultiBit
Post by: freemoney458 on September 09, 2012, 09:16:17 PM
Hi Jim,

thanks for your fast response, the answers are fair enough.

I tried out the export keys feature and import the keys in the MyWallet demo account, but it could not read the keyfile.

Is it due to the demo MyWallet account?

If you want, I can send you the keyfile, it contains only unused addresses, so no security vulnerability can arise.


Title: Re: MultiBit
Post by: jim618 on September 09, 2012, 09:27:31 PM
Hi freemoney,

Yes send me the keyfile to jim@multibit.org and I will see if I can load it into my blockchain.info wallet.
Obviously do not use those addresses for anything.

Also, thinking about it, I could change the behaviour of the 'New wallet' so that it did not add a receiving address. It is only really the very first wallet (multibit.wallet) that wants a default receiving address.

If you create a wallet yourself later you can easily add however many receiving addresses you want with the 'New' receiving addresses dialog. That way you can:
1) create wallet
2) add password ie encrypt
3) create new receiving addresses

All the private keys will then only ever be stored to disk encrypted.

This also gets round the annoying feature that if you 'clone' a wallet with an export followed by an import there is always an extra key in there.


Title: Re: MultiBit
Post by: freemoney458 on September 09, 2012, 09:39:13 PM
Sent you a PM with the keyfile.

I think your solution to change the behaviour of 'New wallet' is a good one.


Title: Re: MultiBit
Post by: freemoney458 on September 10, 2012, 01:47:05 PM
I tried out the export keys feature and import the keys in the MyWallet demo account, but it could not read the keyfile.

Is it due to the demo MyWallet account?
Hi Jim,

I just got your message that you were able to import it in MultiBit and in your MyWallet account.
So I guess the fault is either at my side or a restriction on the MyWallet demo account.

Thank you for checking it.


Title: Re: MultiBit
Post by: jim618 on September 10, 2012, 02:03:17 PM
No problem FreeMoney.
The private key export/ import is pretty important so I am quite happy to check.

I suspect it is just that piuk has switched off the advanced functionality in the demo wallet just to keep things simple.


Title: Re: MultiBit
Post by: jim618 on September 10, 2012, 02:40:09 PM
There is a new live release of MultiBit at:

http://multibit.org (http://multibit.org)

Version 0.4.10

Enhancements:
+  Internationalisation: Czech and Bahasa indonesia has been translated 100%.

Scan of release checklist (http://multibit.org/test/releaseCheckList-0.4.10.jpg)


Note that github.com (that hosts the installers) went down earlier today so if you get any 404s just wait a while and try again later.
It is only early morning on the US Pacific coast where the servers are so I imagine it is a "Monday morning : servers just went down" experience for the github.com staff.


Title: Re: MultiBit
Post by: freemoney458 on September 10, 2012, 02:54:54 PM
Hi Jim,

I have been thinking a bit more about the export from MultiBit specifically into the blockchain info MyWallet.

MyWallet expects the private keys unencrypted, they need to be pasted into the browser input field. So no file upload is possible nor is it needed.
Currently I have to export the keys in MultiBit to an unencrypted file, view it with an editor and copy the contents to the clipboard to be finally able to import the keys into MyWallet.

I see a security vulnerability here, because I am forced to store the keys unencrypted although it would not be needed.
Moreover, there are a lot of steps to go through.

Could you add an option in the export keys panel to show the keys directly on screen or to copy them to the clipboard instead of storing them to a file?
Maybe this could also be useful in the import keys panel.

Would it also be possible to add a comment after each key which indicates to which address the key belongs?
This way I could selectively import keys for specific addresses into another wallet.


Title: Re: MultiBit
Post by: jim618 on September 10, 2012, 03:07:31 PM
Hi freemoney,

Yes it would be possible to have a text area on both the import and export so that you can cut and paste between them.
It will have to be in the 'input file/data' section of the two screens.

Will add it onto my TODOs.

I am thinking of beefing up the export format to do exactly you ask and add:
+ bitcoin address of key
+ label
+ whether it is archived or not (when that functionality goes in)
+ provision for watch-only addresses (when that functionality goes in) which are in blockchain.info but MultiBit does not support yet but should.

That way when you import you get all the label details and you can cut and paste just the keys you are interested in.

Because the export format is shared between MultiBit and the Andreas Schildbach's Android Bitcoin wallet there is a bit of tweaking needed to maintain backwards compatibility.

Cheers.


Title: Re: MultiBit
Post by: World on September 10, 2012, 05:55:56 PM
hi Jimi,
How do I get an encrypted wallets' in Version 0.4.10 ??
http://cl.ly/JMa4/Screen%20Shot%202012-09-10%20at%207.50.28%20PM.png
Thank you


Title: Re: MultiBit
Post by: jim618 on September 10, 2012, 06:25:28 PM
Hello World,

The encrypted wallets are in the 0.5.x code only. This is still in beta and hence not on the multibit.org website.
There are installers you can download directly from:

https://github.com/jim618/multibit/downloads (https://github.com/jim618/multibit/downloads)

It is not quite ready for general release yet. If you have a read through the readme.txt and make sure your wallets are backed up by exporting your private keys you should be fine. I have been using it with my real wallets for the last couple of weeks but at the moment I am advising people to use it just with small amounts (just as a precaution).

The help has been redone for almost every page so that should explain the new functionality. You can see the help in MultiBit using 'Help | Help Contents' or go here:
http://multibit.org/v0.5/help_contents.html (http://multibit.org/v0.5/help_contents.html)

If you have any questions or spot ANYTHING unusual let me know.

Jim


Title: Re: MultiBit
Post by: World on September 10, 2012, 09:10:57 PM
hi Jimi,
Thank you for your quick answer ⬆
You can add MultiBit for downloading also here:
http://appbodega.com/index.php (http://appbodega.com/index.php)  
There is no Bitcoin-related software or services.


Title: Re: MultiBit
Post by: jim618 on September 10, 2012, 09:41:43 PM
Hi World,

No problem.
I had a look at appbodega.com.

The thing is, every extra channel for sales means more uploading and work for me which is less programming time. A simple download link on multibit.org works pretty well and is minimal work. I do not need any billing or anything as it is all free.

Most of my referrals either come direct from google or the bitcoin.org clients page. They land on the index.html and the download links are right there.

My pageview stats are about a minute which means visitors read the index page, decide if they want it, download and they are done.

I will probably put MultiBit in the Mac App store mainly as I have to get it signed anyway for Mountain Lion's GateKeeper. 

Of course if it was commercial software I would get my sales and marketing team working on appbodega.com uploads straight away !

:-)


Title: Re: MultiBit
Post by: tpantlik on September 11, 2012, 10:42:39 AM
Hello!

I just downloaded and installed 0.4.10 to check translations and I have done some minor changes. But then I switch Multibit to Slovak language to compare and was shocked by this gem:
http://i.imgur.com/99EG2.png

Maybe the slovak translator hates a lot Currency ticker to name it vulgarly - "pičovina s výmenným kurzom". ;D ;D ;D ROFL


Title: Re: MultiBit
Post by: World on September 11, 2012, 12:06:33 PM
LOL >Slovak Completed on 97%  ;D
http://translate.multibit.org (http://translate.multibit.org)


Title: Re: MultiBit
Post by: jim618 on September 11, 2012, 12:08:12 PM
Thanks for highlighting that tpantlik.

Of course I have to trust that the translations people provide are faithful to the original and in neutral language.
The intention of MultiBit is to make it as easy as possible to use bitcoin so any translation needs to be in as standard vocabulary as possible.   Lots of languages are used in several countries (e.g Spanish, Portuguese) and I know the translators go to great efforts to choose words that work in all countries.

If it is not fixed by the time of the next release I will have to remove Slovak as a language.

edit: I have changed the Slovak Currency Ticker text back to the English at translate.multibit.org for now.


Title: Re: MultiBit
Post by: World on September 11, 2012, 03:08:56 PM
correct translation of the words " Show Currency Ticker" is "Zobraziť kurzový lístok" and "Hide Currency Ticker" is "Skryť kurzový lístok"


Title: Re: MultiBit
Post by: jim618 on September 11, 2012, 03:28:31 PM
thanks - I have added it into translate.multibit.org

It will have to wait until next week before I reissue the code as I don't have time this week.


Title: Re: MultiBit
Post by: Mike Hearn on September 11, 2012, 03:54:49 PM
Haha. It might be worth running translations you get via Google Translate in future to spot obviously bogus stuff. It correctly translates

pičovina s výmenným kurzom -> bullshit with exchange rates


Title: Re: MultiBit
Post by: jim618 on September 11, 2012, 05:12:02 PM
Yeah - might start doing that !

:-)


Title: Re: MultiBit
Post by: DanielVG on September 14, 2012, 11:24:45 PM
Hi jim,

Is there any way i could export my transactions as text into an excell file or simular?


Title: Re: MultiBit
Post by: jim618 on September 15, 2012, 03:17:48 PM
Hi DanielVG,

Not at the moment no, but it us quite high up on my list of things to do.
I am thinking of putting a button on the transactions tab to export all the transaction details to a CSV file.


Title: Re: MultiBit
Post by: jim618 on September 16, 2012, 06:44:12 PM
Here is the presentation that I did this morning at the London Conference:

"MultiBit - The Summer of 2012"

Open Office format: http://multibit.org/postImages/MultiBit%20talk.odp (http://multibit.org/postImages/MultiBit%20talk.odp) (1.9 MB)

Powerpoint format: http://multibit.org/postImages/MultiBit%20talk.ppt (http://multibit.org/postImages/MultiBit%20talk.ppt) (2.0 MB)


The notes on each slide I more or less stuck to - including the outline of the demo on the "Demo" slide.


Anecdote: I checked the venue WiFi was OK as soon as I got into London - Friday night.
Then when I fired everything up 40 minutes before my talk start time the WiFi was non-existent. OMG. Fortunately I had my 3G modem with me and even inside the conference centre the network connection was good enough.


Title: Re: MultiBit
Post by: bullioner on September 17, 2012, 07:06:41 AM


Anecdote: I checked the venue WiFi was OK as soon as I got into London - Friday night.
Then when I fired everything up 40 minutes before my talk start time the WiFi was non-existent. OMG. Fortunately I had my 3G modem with me and even inside the conference centre the network connection was good enough.


This is expected behaviour for low to mid budget conference wifi.  The number of devices just overwhelms it.

Glad it worked out with the 3G connection.  That's also what I was using for internet access during the conference.


Title: Re: MultiBit
Post by: jim618 on September 17, 2012, 09:58:32 AM
Good plan to take your 3G modem to any conference by the sounds of it.


Title: Re: MultiBit
Post by: bitcoinspot.nl on September 17, 2012, 11:13:41 AM
I really enjoyed the demo and enjoyed our luch together :)

I still have a few points i would like to bring up concerning the client,
shall i do it here or do you have some kind of list for that somewhere else?

Greetz
Roland.


Title: Re: MultiBit
Post by: jim618 on September 17, 2012, 11:26:45 AM
Hi Roland,

Yes it was good fun the whole conference and great to meet you.

If you have points, add them in here certainly.
If you number the points/ queries that will make it easier for me to answer them one-by-one and other people can add their comments.


Title: Re: MultiBit
Post by: jim618 on September 18, 2012, 11:16:38 AM
To make it easier to see your BTC going in and out of your wallets, I have added a "View | Charts" menu option.
Currently the only one is "Balance over last 30 days". See screenshot:

http://multibit.org/postImages/charts.png


This uses a third party library called XChart, written by Tim Molter.

Also, you can now drag and drop the MultiBit QR codes to and from your desktop/ file browser, which is quite handy. Screenshot:

http://multibit.org/postImages/dragToDesktop.png

(edited) The file name for the PNG file is "[label of address] - [amount] - [bitcoin address]" so that you can identify the QR codes. It works ok in Mac, Win and Linux as long as you have the permissions to write to the target location.


These will go into the next test code which should be later this week and then the next live which will probably be next week.
(The chart is not perfect yet as the dates aren't localised but I wanted to get it out as I mentioned it in my conference talk).


Title: Re: MultiBit
Post by: freemoney458 on September 18, 2012, 06:36:56 PM
1) The charts are cool. Can I view them in fiat currency, too? Maybe this is useful for people who 'invest' in bitcoins.

BTW, one can accomplish the same thing and more once MultiBit is able to export all transaction data together with date/time and exchange rate from the time of the transaction into a CSV file.

You might need to add the exchange rate to every transaction in the wallet file for such a feature, though.

2) I really like the ability to drag and drop QR codes from and to files.



Title: Re: MultiBit
Post by: jim618 on September 18, 2012, 06:56:27 PM
Hi Freemoney,

For the charts in MultiBit I will probably keep them fairly simple. They can be a huge time soak if you are not careful.
We had three full time people at my last code shop working on the 'Analytics" i.e charts and stuff and we could never keep up with user requests.

I am planning to put  an 'Export' button on the Transactions page so that people can export a CSV file as you suggest, yes. Then people can do whatever they like.

I am not sure about putting the exchange rate on the tx actually as "exchange rate" actually needs:
1) actual exchange rate (including exchange currency)
2) the source exchange e.g. Mt Gox, A.N.Other exchange (in the future).
3) the type of exchange rate from that exchange (e.g last, 24 hour rolling exponential mean, whatever).

If people have the raw data they can look up historical exchange rates from the exchange/ datasource they are interested in.

MultiBit is not really meant to be a full blown Sage!   :-)


Yeah - the QR code drag onto the desktop is pretty useful.


Title: Re: MultiBit
Post by: jim618 on September 18, 2012, 07:49:22 PM
I have just been playing around with the QR codes generated when you drag onto the desktop.
If you put the png files in a folder and use coverplay (on a Mac) they look like this:

http://multibit.org/postImages/coverPlay.png

Experimenting with my phone, only the central QR code scans.
Pretty easy to create a small catalog of QR codes and say, print them out or keep on a handheld device or whatever.

The file name tells you what it is and the price. If someone scans it and sends BTC, it goes straight to your wallet.

I have changed the order so that you can have pngs called:

   Regular coke (330ml) - 0.05 - 12F8uztWoQQRPuZ7XPSnYDkKJ5MnvQZuwC.png  
   Diet coke (330ml) - 0.05 - 1Eb3bi7tpaQJUVdmN9rrCyMKwQSizFhymZ.png

etc

A bit easier to see the price.


Title: Re: MultiBit
Post by: World on September 19, 2012, 02:33:03 PM
Here is a demonstration of how to use QR code opposite direction
https://www.youtube.com/watch?v=LlFPYBYIayU&feature=youtube_gdata_player (https://www.youtube.com/watch?v=LlFPYBYIayU&feature=youtube_gdata_player)


Title: Re: MultiBit
Post by: teste on September 19, 2012, 05:58:59 PM
1) The charts are cool. Can I view them in fiat currency, too? Maybe this is useful for people who 'invest' in bitcoins.

BTW, one can accomplish the same thing and more once MultiBit is able to export all transaction data together with date/time and exchange rate from the time of the transaction into a CSV file.

You might need to add the exchange rate to every transaction in the wallet file for such a feature, though.

2) I really like the ability to drag and drop QR codes from and to files.



Hi freemoney458

I requested a feature like this for piuk of blockchain.info.info wallet and he said that can be useful. See his reply: https://bitcointalk.org/index.php?topic=40264.msg1203713#msg1203713

I posted on uservoice too, http://blockchain.uservoice.com/forums/152743-general-ideas/suggestions/3173858-show-the-usd-price-of-1-btc-in-the-exact-time-of-s


Title: Re: MultiBit
Post by: Joe200 on September 20, 2012, 04:32:04 PM
Could you please add an option to MultiBit to allow the user to refuse to accept certain coins. If he receives certain coins, he sends them back right away.

Here is the full proposal: https://bitcointalk.org/index.php?topic=110749.0

Thanks.


Title: Re: MultiBit
Post by: DanielVG on September 20, 2012, 04:47:59 PM
Hey Jim,

I'd like to report something:
During "reset block chain and transactions" the power of my computer went out.  The .wallet files that were updating got destroyed.  Luckily i had backups of my important wallets.
The file size of all wallets was 0 kb when i rebooted my computer. I opened them with texteditor and they were completely empty.
There was one wallet though with a few coins in it that i didn't back up.
You think there is a possibility to recover it?  For what i've seen so far i doubt it actually.

the error message i get when i try to open it is:
cannot read file /tralala/tralala/tralala/multibit.wallet with wallet.
the error is "com.google.protobuf.InvalidProtocolBufferException Message missing required fields: network_identifier"


I'm using mac OSX 10.7.4 with multi bit 0.5.3beta

something else:
I have the feeling it's too hard to find the .wallet file for common users.
I can imagine some people will have problems locating the file.
An option to backup the .wallet files in the menu would be very useful.
Or even an automated backup, so even the most stupid lazy ass people can't loose their wallets when the power goes out.


Title: Re: MultiBit
Post by: jim618 on September 20, 2012, 05:48:19 PM
Hi DanielVG,

When it writes out the wallet MultiBit stores to a temporary file called 'wallet[a random number].tmp', then renames the file to the actual wallet filename. See if you have a file called that and, if so, rename it to the wallet file and try opening it.

Also, have a look in the same directory if you have any files called [myWalletName].wallet.yyyymmddhhmmss

(where the yyyymmddhhmmss is the date when the wallet is saved)
When MultiBit has trouble saving over the original wallet file it will save to a backup filename with a date in it.

Again, if you have a wallet file with that name rename it and try opening it again.

RE: the location of the wallet
The file the wallet is stored in is shown in the title bar of MultiBit so that the user can see it at any time MultiBit is open. It is also shown on screens such as import keys, export keys, reset blockchain. Also, in the Wallets panel if they open the wallet detail panel they can see where the file is stored by hovering over the filename.

Also, I have written up how I normally back up my wallets (by exporting the private keys encrypted) here:
http://multibit.org/help_backupWalletUsingPrivateKeys.html (http://multibit.org/help_backupWalletUsingPrivateKeys.html)
You can do this completely in the user interface so there is no need to copy files around.

It is a difficult problem to cope with - sudden power loss - which is why the two stage save is in there.

I hope you recover your wallet file/ keys.
Let me know if the wallet file is there (albeit with a different suffix) or not.

Jim


Title: Re: MultiBit
Post by: jim618 on September 20, 2012, 06:50:08 PM
I have had a look at the wallet save code and improved things for DanielVG's scenario of sudden power loss.

In the current code MultiBit now saves like this:

UPDATED BELOW
1) Create a temporary file called [wallet file name]-new-[random number].tmp and write to that.
2) Copy the existing wallet file to [wallet filename]-old-[random number].tmp and check the file sizes match. Delete the existing wallet file if copy went ok.
3) Copy the temporary wallet file to the actual wallet file and check the file sizes match.
4) If everything worked ok, tidy up by deleting the [wallet filename]-old-[random number].tmp and [wallet filename]-new-[random number].tmp. This leaves just the actual wallet file.


It is 3 times the disk IO but the wallets are typically small so it is worth the extra safety.   Should the power just disappear at any stage there is always a fully saved copy of either the old or new wallet.

The filenames used should make it easier for someone in the future to recover their wallet if a similar thing happens.
This change will appear in the next test and live releases.


Title: Re: MultiBit
Post by: garyrowe on September 20, 2012, 09:15:09 PM
Also, if you find yourself in a situation where you need to do a data recovery, the following article might help you: http://gary-rowe.com/agilestack/2012/08/17/how-to-recover-your-bitcoins-from-a-failed-hard-drive/ (http://gary-rowe.com/agilestack/2012/08/17/how-to-recover-your-bitcoins-from-a-failed-hard-drive/)


Title: Re: MultiBit
Post by: jim618 on September 21, 2012, 09:33:46 AM
I have refined the writing/ backup of wallet files in MultiBit so that it now does the following:

1) Create a backup file called <wallet file name>-<the current date>.wallet and copy the original wallet to that. This is the "new" backup file. Secure delete the original wallet stored with the walletFilename.
2) Write the details of the new wallet to the walletFilename.
3) Lookup in the wallet info file the name of the wallet backup. This is the "old" backup file.
4) Put the "new" backup file in step 1) into the wallet info file and save it.
5) Secure delete the "old" backup file.

This way you always have one wallet backup file and the working files are secure deleted. If the power goes you always have at least one of:
a) The 'old' wallet backup
b) The 'new' wallet backup
c) The actual wallet.

You can see the backup wallet files in this screenshot:

http://multibit.org/postImages/walletSave2.png


Title: Re: MultiBit
Post by: alocacoc on September 22, 2012, 09:36:09 AM
Hello

The second time i got the same problem, and i dont know what is exactly happen. After the first time, i did download and extract Multibit from new, and it did works. But now, this procedure dosent help.

After is start Multibit i see my Wallet and the amount. But i get the error message: Unable to load blockchain "multibit.blockchain". The error  was "java.lang.IllegalStateExeption -40".

How i can resolve this?


Title: Re: MultiBit
Post by: alocacoc on September 22, 2012, 09:49:45 AM
To make it easier to see your BTC going in and out of your wallets, I have added a "View | Charts" menu option.


Are this functions only available for ios, or in a not official version? So far i only use the Win Version of Multibit.


Title: Re: MultiBit
Post by: jim618 on September 22, 2012, 11:26:38 AM
Hi alocacoc,

They are in the MultiBit code at the moment but have not made it into the downloads on the website yet.
The chart will be available in the next release on multibit.org, which will probably be next week.

This will be for Windows, Mac and Linux.

edit: You can follow "MultiBitOrg" on Twitter for tweets of when the code actually gets released.


Title: Re: MultiBit
Post by: jim618 on September 24, 2012, 03:37:42 PM
Hello

The second time i got the same problem, and i dont know what is exactly happen. After the first time, i did download and extract Multibit from new, and it did works. But now, this procedure dosent help.

After is start Multibit i see my Wallet and the amount. But i get the error message: Unable to load blockchain "multibit.blockchain". The error  was "java.lang.IllegalStateExeption -40".

How i can resolve this?

When you reinstall MultiBit it reuses the blockchain file (to save time in redownloading blocks).

You can force it to reuse the one in the installer by:

1) Shutting down multibit
2) Renaming the multibit.blockchain that is in your application data directory (where your default wallets are).

Then if you restart multibit it recopies the one in the install directory.


Title: Re: MultiBit
Post by: jim618 on September 24, 2012, 04:05:11 PM
There is a new test release of MultiBit at:

github.com (https://github.com/jim618/multibit/downloads)

Version 0.5.4beta (Encrypted wallets)

Enhancements:
+  Faster bitcoin network connection
+  Rolling wallet backup to mitigate sudden power loss
+  Chart of wallet balance for last 30 days added
+  Drag and drop QR code to desktop
+  Eliminated tab flicker
+  Tab title tooltips now show ok
+  Update to bitcoinj version 0.6-SNAPSHOT
+  Update to XChart 0.2.0


Scan of release checklist (http://multibit.org/test/releaseCheckList-0.5.4beta.jpg)


The version of bitcoinj used in this is a couple of days old so is not *quite* the 0.6.0 release that Mike just posted about today - I will fix this next release.


Title: Re: MultiBit
Post by: freemoney458 on September 24, 2012, 07:54:29 PM
Hi Jim,

I just noted an unexpected behaviour in MultiBit-0.5.3beta (on Mac OS X 10.5.8 ):
1. In the 'Request' pane, I can enter a description for a receive address and MultiBit will store this description.
2. If I click on another receive address or use the up/down cursor keys, MultiBit will show the description of the corresponding receive address.
3. If I revisit the receive address from 1) MultiBit shows the correct description.
So far, so good.

4. If I enter an amount in the amount field, e.g. 5, MultiBit does not store this information as belonging to the receive address. The QR-code is updated, though.
5. If I now visit another receive address with the cursor up/down keys or by clicking, MultiBit keeps the amount in the amount field, e.g. 5 and also generates a new QR code for the visited receiving address.
6. After exiting and restarting MultiBit, the amount information seems lost.

My impression is that the amount information is not handled the same like the address description.
This can be confusing, e.g. if you want to use also the amount information for later bookkeeping, say e.g. as a merchant.
Or if you want to regenerate a QR-code, you have to type in the amount again.

So I suggest that MultiBit should handle the amount information the same like the receiving address description.


Title: Re: MultiBit
Post by: jim618 on September 24, 2012, 08:12:32 PM
Hi Freemoney,

Yes, at the moment the amount is not stored on either the receiving addresses (nor on the send addresses).

It is difficult to generalise how the addresses are used - one person might have an address for an item, another might use it for dealings with a particular person or another might use each address only once and not want ANY extra information stored with it.

To store a given amount with the label + address is equivalent to saying "the address describes a thing with a certain price" i.e it makes the list of receiving addresses into a "catalog of items for sale".

I get the feeling half the users would want it, half the users would not want it, and the other half would be undecided !  :-)


Title: Re: MultiBit
Post by: vitruvio on September 24, 2012, 10:42:05 PM
Hi, I've installet 0.4.10 version and tryed to import my private key from satoshi client to multibit, I type dumprivkey 1xxxxxxxxx..... in satoshi to get my private key and seems to be Ok, I save in a txt file to import it in multibit, and gives OK too, but the new address that apears in multibit doesn't corresponds with my old address.

Am I missing something?


Regards


Title: Re: MultiBit
Post by: jim618 on September 25, 2012, 04:56:08 AM
Hi vitruvio,

That is the general way to do it yes.

Things to look out for:
1) MultiBit only imports the sipa format keys - they begin with 5.
2) you could try exporting the private keys from MultiBit unencrypted into a different file and looking at the contents. If the private key in the exported file is different it suggests there is some mismatch in formats.

Slightly difficult to pin down as of course you do not want to reveal the private key value.
Let me know what you find out as it will be useful for other people.


Title: Re: MultiBit
Post by: alocacoc on September 25, 2012, 06:53:06 AM
thanks jim618. I followed your advise and it did work.


Title: Re: MultiBit
Post by: vitruvio on September 25, 2012, 11:45:55 AM
Hi vitruvio,

That is the general way to do it yes.

Things to look out for:
1) MultiBit only imports the sipa format keys - they begin with 5.
2) you could try exporting the private keys from MultiBit unencrypted into a different file and looking at the contents. If the private key in the exported file is different it suggests there is some mismatch in formats.

Slightly difficult to pin down as of course you do not want to reveal the private key value.
Let me know what you find out as it will be useful for other people.


Hi jim618, thank you for the response, I supose it must be this, my private key start with L, is the one dumped by satoshi client, so must be diferent format, but when I import it all procedure seem to be Ok.

http://i.imgur.com/VThU7.jpg

http://i.imgur.com/PYC8d.jpg

As you may see it says completed sucessfully, and indeed I have a new address in my wallet.

Regards


Title: Re: MultiBit
Post by: jim618 on September 25, 2012, 12:11:37 PM
Hi Vitruvio,

Thanks for the screen shots - I will have to look into that in more detail.
MultiBit should at the minimum give the user more feedback if the format is not what it expects.

Also, as I am sure you realise, make sure you do not ever use that private key in the future as it is in the public domain. 


Title: Re: MultiBit
Post by: jim618 on September 25, 2012, 12:21:20 PM
Gary Rowe is taking all of October off his regular job to work solidly on MultiBit Merchant, a new sister offering to MultiBit.

This will be an open source Bitcoin web retail offering - he describes what he is doing here:

http://www.reddit.com/r/Bitcoin/comments/10fzgn/my_october_of_bitcoin_project_multibit_merchant/ (http://www.reddit.com/r/Bitcoin/comments/10fzgn/my_october_of_bitcoin_project_multibit_merchant/)


This is exciting stuff as it will be great to have an open merchant solution in the Bitcoin space.


Title: Re: MultiBit
Post by: vitruvio on September 25, 2012, 01:35:14 PM

Also, as I am sure you realise, make sure you do not ever use that private key in the future as it is in the public domain. 

Captures are photoshped, priv key is 52 chars long and you can see less than 20, I supose with this is imposible to recreate the key, am  I wrong?


Regards


Title: Re: MultiBit
Post by: Grouver (BtcBalance) on September 25, 2012, 02:11:28 PM
Jim is there already maybe a option available to see how many nodes your already connected to?
Thanks.  :)


Title: Re: MultiBit
Post by: jim618 on September 25, 2012, 02:23:05 PM

Also, as I am sure you realise, make sure you do not ever use that private key in the future as it is in the public domain. 

Captures are photoshped, priv key is 52 chars long and you can see less than 20, I supose with this is imposible to recreate the key, am  I wrong?


Regards


You are probably ok.


Title: Re: MultiBit
Post by: jim618 on September 25, 2012, 02:31:48 PM
Jim is there already maybe a option available to see how many nodes your already connected to?
Thanks.  :)

Hi Grouver,

There is no 'network' tab in MultiBit (though I am thinking of putting one in).

Normally MultiBit connects to 4 nodes pretty quickly and then, if it loses one, connects to another.
You can see this indirectly by going to the Transactions tab, right clicking on a pending transaction and doing 'Show transaction details'.

It normally says 'Seen by 4 peers' and then some extra info. Typically a transaction comes in from each of the peers in turn as it propagates through the network.

To save on bandwidth it downloads the full blocks from one peer only.

Just wondering if there any particular reason you need to know the number of peers MultiBit is connected to ?


Title: Re: MultiBit
Post by: vitruvio on September 25, 2012, 02:34:20 PM

Also, as I am sure you realise, make sure you do not ever use that private key in the future as it is in the public domain. 

Captures are photoshped, priv key is 52 chars long and you can see less than 20, I supose with this is imposible to recreate the key, am  I wrong?


Regards


You are probably ok.

I'm scared, you said only "probably"?  :D


Congratulations for the good job in Multibit.

Regards


Title: Re: MultiBit
Post by: jim618 on September 25, 2012, 02:47:01 PM
Thanks !

Well the keyspace someone has to search is around 58^30 which is still a pretty big number !

Private keys are so important though that it is worth getting in the habit of never exposing anything about them. I remember once I did a demo to a roomful of people and accidentally typed my password in the username field. Everyone saw it. Ooops.



Title: Re: MultiBit
Post by: jim618 on September 25, 2012, 07:59:46 PM
As it is very much the convention in Bitcoin land I have changed MultiBit to show all the BTC digits.  Screenshot below:

http://multibit.org/postImages/allDigits.png


The 'Satoshi digits' are starting to be used to convey extra information (e.g. the dice throws in SicBo) so I have added them in due to popular demand.

This change will appear in future releases.



Title: Re: MultiBit
Post by: freemoney458 on September 25, 2012, 08:26:41 PM

Hi Jim,

Yes, at the moment the amount is not stored on either the receiving addresses (nor on the send addresses).

It is difficult to generalise how the addresses are used - one person might have an address for an item, another might use it for dealings with a particular person or another might use each address only once and not want ANY extra information stored with it.

To store a given amount with the label + address is equivalent to saying "the address describes a thing with a certain price" i.e it makes the list of receiving addresses into a "catalog of items for sale".

I get the feeling half the users would want it, half the users would not want it, and the other half would be undecided !  :-)

I can understand the differences in usage and that users will have varying preferences even when talking about a single user.

However: If MultiBit would save the amount then users will still be able to choose how to use the amount field.
If somebody does not like to see past amounts for a specific address then he can leave the field empty from the beginning (at least for receiving addresses) or delete the amount later.


Title: Re: MultiBit
Post by: jim618 on September 25, 2012, 08:38:13 PM
Hi Freemoney,

I will have a think about.

Trouble is, the user interface is starting to be a bit complicated for the average user.
For instance, to be able to "delete" i.e archive/ hide a receiving address I need to show the balance controlled for that address.

Adding in the amount as well goes from:

Receiving addresses is a list of:
    label + address

to

Receiving addresses is a list of:
    label + address + amount + balance.

That's quite a lot more information being shown (and with decreasing marginal utility).



Title: Re: MultiBit
Post by: freemoney458 on September 25, 2012, 08:51:31 PM
Hi Jim,

fair enough that you consider it.

I fully understand that keeping MultiBit simple to use is becoming a challenge since the userbase grows and with it the demands.
Maybe you can make some of the advanced features accessible through 'right click context sensitive menus' like in the transaction screen.

Keep up the great work.



Title: Re: MultiBit
Post by: jim618 on September 25, 2012, 09:03:28 PM
Cheers Freemoney

Funny you should mention the Transactions right click context menu as it is on my list to remove it ! :-)

For use on tablet machines the right click has disappeared, replaced with either a button (or two) or a menu button if there are more options than that.

For the transaction screen I was going to put in a button bar down at the bottom with:
   "Show details button" and "Export all button"

I am assuming that with Windows Metro/"Whatever It Is Called Today" tablets will become more common. I want MultiBit to be tablet friendly.

Maybe the way to go is what Armory does is have a Basic, Pro, Developer mode the user can switch between.


Title: Re: MultiBit
Post by: freemoney458 on September 25, 2012, 09:22:14 PM
Hi Jim,

I just noted the following:

1) When sorting entries in the transaction screen by the amount, the sorting algorithm uses alphabetical ordering instead of numerical ordering.

2) The user is able to make columns in the transaction screen wider and can choose a column to sort the entries, but currently these settings are not stored.

I guess fixing this will be a low priority.


Title: Re: MultiBit
Post by: jim618 on September 25, 2012, 09:29:25 PM
Your number 1) I will have a look at sooner, as that is not what a user would expect for a numeric field.

Yes - there are various things not saved (e.g. screen size and placement and the position of the divider between the wallets) but there is other stuff to work on first.

Did you notice that you can reorder the columns in the Transactions tab by clicking on the column header and dragging it ?   :-)


Title: Re: MultiBit
Post by: freemoney458 on September 25, 2012, 09:33:25 PM
Hi Jim,

sorry to find another small strange behaviour:

3) When changing the user language, and afterwards changing from the preferences screen to any other screen, e.g. transactions screen, the language of the elements *inside* of this screen is still in the old language.
The change of the language only takes full effect after exiting and restarting MultiBit.

BTW: I agree that right click menus are not the best way on tablets or cell phones   :(.

Edit: The reordering of columns by dragging the column header is cool  8)! I didn't notice it. Glad you mentioned it.


Title: Re: MultiBit
Post by: jim618 on September 25, 2012, 09:43:14 PM
Hi Jim,

sorry to find another small strange behaviour:

3) When changing the user language, and afterwards changing from the preferences screen to any other screen, e.g. transactions screen, the language of the elements *inside* of this screen is still in the old language.
The change of the language only takes full effect after exiting and restarting MultiBit.

BTW: I agree that right click menus are not the best way on tablets or cell phones   :(.

Edit: The reordering of columns by dragging the column header is cool  8)! I didn't notice it. Glad you mentioned it.

Yes, the language change (and the change of Look and Feel) can be a bit quirky but if you restart MultiBit it always get it right.
It is things being cached and then not being completely reinitialised I think but i have not pinned them all down.


Title: Re: MultiBit
Post by: Grouver (BtcBalance) on September 26, 2012, 11:08:51 AM
Regarding your question Jim.
I was curious how many connections i had since the blockchain downloading went really quick.
But since i only download the blockchain from one node it doesnt really matter i guess.

I noticed when I download the client and start it up it downloads the blockchain and light-speed.
Do you download the blockchain within the client? If yes, how does this exactly work.


Title: Re: MultiBit
Post by: jim618 on September 26, 2012, 12:41:40 PM
Hi Grouver,

There are a combination of techniques used to get the initial startup time as quick as possible:
1) With bitcoinj based code only the block headers are stored in the blockchain. These are 100 bytes per block. So the 200,000+ blocks take about 20 MB. I include an up to date copy in the installer. This means you only have to catch up the blockchain since the date of the last installer.
2) When you first start MultiBit you do not have a wallet yet. Thus it can save time because it does not have to check old blocks to see if there any relevant transactions. It thus tells the bitcoind it is connected to: 'just give me the block headers, do not bother giving me the transactions'. This can download at 1000+ blocks a second on a good connection.

Once you have a wallet it currently downloads the full blocks to check the transactions. In the next few months I hope to get server side Bloom filters in (see conference presentation) which should speed up the downloads when you have wallets. It won't ever be as fast as the initial setup but should be a good bit quicker than now.


Title: Re: MultiBit
Post by: Grouver (BtcBalance) on September 26, 2012, 01:47:39 PM
Regarding Multibit Merchant.
Now businesses will only start using Bitcoin to promote there company.
I mean most companies still need to buy there products or pay there employees in euros/dollars or whatever mainstream currency.
So they need there currency instead of bitcoins.

Now Bit-pay gives you the option to withdraw euros/dollars/pounds from your account to your company bank account so you can buy in your product again.
Though, the rates are crazy and do not really attract companies to start accepting Bitcoin that are in the euro zone for instance. They need to pay bit-pay 4% of there withdraw transaction wich is crazy.

Does Multibit Merchant offer any solution(s) for this problem or does the owner of the webshop get there bitcoins and still needs to go to an exchange and trade there bitcoins for euros/dollars/pounds?

If this exchange problem gets solved Bitcoin will grow huge.


Title: Re: MultiBit
Post by: molecular on September 26, 2012, 01:52:25 PM
some feedback/questions: I just checked out multibit for the first time together with my brother (recovered some coins from an old electrum wallet and we imported a private key).

  • How is the change address chosen? It seems (unlike satoshi client), multibit does not generate new addresses on it's own but uses some existing address for change. Why is that? I'm assuming to solve the "wallet backup problem"?

  • It seems funds are unspendable until the previous tx is in a block. Why? (this could be pretty annoying, say in case I want to send money to multiple different recipients. I would have to wait for a block in between each transaction)

  • A suggestion regarding key import: I expected to be able to import a private key by pasting it into some textentry field. Instead we had to generate a file (we used key export to see what the format was). We didn't know what to use for the date and so we used todays date. As we later discovered this was a mistake, we should've entered the date the last tx on that address had taken place (we did a blockchain rescan afterwards to fix it). So the suggestion: in addition to being able to import keys from file, maybe a textbox to paste a private key could be offered. After that, a popup or something could ask for the rescan-timepoint and explain what it is about)

  • A sort-of bug (likely not multibit fault, probably not even fixable from multibit source): My brother uses a window manager called "notion" (formerly "ion"). At times something gets screwed up and menus (both when selecting from main menu and also the context menu when using right-click on, for example, a transaction) appear offset to the lower right (by many pixels, somewhere completely else in the window) and menu items cannot be selected with the mouse. Once it starts occuring it keeps occuring with the same offset. A frame-resize doesn't help, but putting multibit into another frame (re-attach) does. This might not be worth investigating since it's most likely notions fault, just thought I'd let you know anyway.


Other than that our experience has been satisfying. Thanks for a great open product!


Title: Re: MultiBit
Post by: jim618 on September 26, 2012, 03:03:50 PM
    some feedback/questions: I just checked out multibit for the first time together with my brother (recovered some coins from an old electrum wallet and we imported a private key).

    • How is the change address chosen? It seems (unlike satoshi client), multibit does not generate new addresses on it's own but uses some existing address for change. Why is that? I'm assuming to solve the "wallet backup problem"?

      The change address used is the address of the first transaction input consumed. This is mainly for simplicity but yes it does solve the wallet backup problem (at the cost of some anonymity).

    • It seems funds are unspendable until the previous tx is in a block. Why? (this could be pretty annoying, say in case I want to send money to multiple different recipients. I would have to wait for a block in between each transaction)

      This is in currently because MultiBit does not have all the transactions to crosscheck that the transaction inputs are actually spendable. Talking to Jan (BitcoinSpinner) at the conference he mentioned that it IS possible to spend your unconfirmed change without it causing problems to downstream transactions so I plan to look into doing this.
      The reason it is in there is that I don't want transaction inputs that are unconfirmed to "percolate" through to chained transactions. In that situation you can have a chain of unconfirmed transactions all waiting on the very first. (If the first transaction was dust you could have a whole chain waiting for a LONG time and it creates a very poor user experience). Bitcoinspinner has access to all the transactions in a db I think so the situation is not quite the same so I need to test it out thoroughly.

    • A suggestion regarding key import: I expected to be able to import a private key by pasting it into some textentry field. Instead we had to generate a file (we used key export to see what the format was). We didn't know what to use for the date and so we used todays date. As we later discovered this was a mistake, we should've entered the date the last tx on that address had taken place (we did a blockchain rescan afterwards to fix it). So the suggestion: in addition to being able to import keys from file, maybe a textbox to paste a private key could be offered. After that, a popup or something could ask for the rescan-timepoint and explain what it is about)

      The MultiBit key export/ import is designed primarily for backing up the MultiBit wallets and giving people the actual key values. I agree it would need more work before it was a general purpose key import tool.
      The main limitation is that MultiBit (currently) needs to go back and redownload and replay all the blocks from the key's "birth". It does not store all the transactions, only the ones for EXISTING wallet keys. When I do an import I need to know the age of the key. For keys coming from a MultiBit wallet I know the age of the private key and hence can write it out with the key data. (That is why it is a file and not a text box).

      An example of this: Piuk (blockchain.info) wrote some import code for MultiBit for his encrypted wallet backups he mails out when you do a spend on blockchain.info. Unfortunately he does not keep the age of the key so when I import one of his wallet backups I have to go right back to the genesis block and reload all the blocks. This is incredibly slow. If it  "gets you out of an emergency" it is acceptable but for general use it is not really quick enough.


    • A sort-of bug (likely not multibit fault, probably not even fixable from multibit source): My brother uses a window manager called "notion" (formerly "ion"). At times something gets screwed up and menus (both when selecting from main menu and also the context menu when using right-click on, for example, a transaction) appear offset to the lower right (by many pixels, somewhere completely else in the window) and menu items cannot be selected with the mouse. Once it starts occuring it keeps occuring with the same offset. A frame-resize doesn't help, but putting multibit into another frame (re-attach) does. This might not be worth investigating since it's most likely notions fault, just thought I'd let you know anyway.
      I am not sure I can do much about this one.


    [/list]

    Other than that our experience has been satisfying. Thanks for a great open product!

    Comments inline in blue.

    Cheers!


    Title: Re: MultiBit
    Post by: garyrowe on September 26, 2012, 03:19:30 PM
    Quote
    Does Multibit Merchant offer any solution(s) for this problem or does the owner of the webshop get there bitcoins and still needs to go to an exchange and trade there bitcoins for euros/dollars/pounds?

    (I'm the lead developer for MultiBit Merchant)

    As part of my October of Bitcoin I'll be pushing MultiBit Merchant to a minimum viable product (MVP). This means that I have to strip out as much extraneous work as possible to hit that tight deadline. The MVP is unlikely to have automated fiat exchange in place, although prices will be quoted in real time from MtGox in a range of local currencies.

    However, I am also involved with the XChange project and as part of that there is a push to introduce a Deposit/Withdraw API in addition to the trading API. Using XChange it should be possible to take bitcoins, deposit them onto the exchange offering the best deal at your market depth (arbitrage) and perform a trade to fiat. That fiat can then be withdrawn to your selected account using the exchange's provided mechanisms.

    XChange is a Java library, but because it runs on the JVM (now known as the mlvm) it is possible for it to be accessed by any other language running on the technology (think Clojure, Jython, JRuby etc). In time, this will make it trivial for anyone using the mlvm to be able to interoperate with a wide range of exchanges.


    Title: Re: MultiBit
    Post by: jim618 on September 27, 2012, 02:50:13 PM
    I have just spent all the MultiBit donations, topped up with my own BTC, for a lifetime membership of the Bitcoin Foundation. (https://bitcointalk.org/index.php?topic=113400.0)


    Title: Re: MultiBit
    Post by: garyrowe on September 27, 2012, 02:58:51 PM
    I've joined too! I think it's an excellent initiative.


    Title: Re: MultiBit
    Post by: jim618 on September 27, 2012, 04:11:43 PM
    After a request by Matija Mazi, I have added Slovenian to the list of target languages for MultiBit.
    If you would like to help him translate the 400ish MultiBit texts, please go to:

    http://translate.multibit.org (http://translate.multibit.org)

    Thanks.


    Title: Re: MultiBit
    Post by: bitcoinspot.nl on September 27, 2012, 09:01:05 PM
    Great initiative this foundation, but i was browsing the site and i see that there are different classes of membership, and different costs. The site says that: "Each Membership includes one vote in its voting class. " but does one class have more weight than another class ? so if i donate 10000 bitcoins per year as a company do i have more to say in this foundation ?

    i posted this question also on the official thread....


    Title: Re: MultiBit
    Post by: bitcoinspot.nl on September 27, 2012, 09:12:16 PM
    Just a quick note,

    i just send 2,5 bitcoins to become a foundation member :), so i filled in my password for the transfer
    and when i filled it in for the second time for approval my screen already said "bitcoins sent successfully"

    Shouldn't this message come after i filled in my password for the second time ?

    Greetings from holland!


    Title: Re: MultiBit
    Post by: jim618 on September 27, 2012, 09:27:57 PM
    Hi bitcoinspot.nl,

    Yes the Bitcoin Foundation is a very interesting development.

    I think how the classes works is that:

    + Each class of member votes for their representative in that class.
    + One membership gets one vote.

    So each of the individual members vote for their "individuals" representative, the companies vote for their "company" representative etc.


    When you send bitcoin you only have to type in the password once. There is a slight delay in the send dialog updating just due to the code waiting for the network to send the bitcoin.

    There are the two password entry fields when you are setting up and changing the password to help avoid a typo creating a wallet with an unexpected password.


    Title: Re: MultiBit
    Post by: jim618 on September 28, 2012, 02:06:15 PM
    Thanks to Matija Mazi there is now a Slovenian translation of MultiBit. Screen shot:

    http://multibit.org/postImages/slovenian.png

    This will appear in the next live version which will probably be in around a week.

    Thanks!


    Title: Re: MultiBit
    Post by: jim618 on September 29, 2012, 09:56:19 AM
    I had a user this week report that her blockchain got corrupted when her computer lost power.
    Previously at startup if MultiBit could not load the blockchain you would get a red "Error" on the network indicator at the bottom left of the screen.

    How MultiBit works is that there is an up-to-date blockchain included in the installer. This is a file called multibit.blockchain. When you first use MultiBit it copies the multibit.blockchain into your user data area and then starts syncing the copy in the user data area. (This is so that multiple users can be running MultiBit on the same machine).

    I have put in some error recovery code so that if the user's blockchain does not load, it recopies in the one from the installer. It will then have to re-sync from the date of your MultiBit installation so this might take a while but at least then the recovery is automatic.

    I think this is one of those "1 in a thousand" failures so I expect most people will never encounter it.
    It will appear in the next live and test releases.



    Title: Re: MultiBit
    Post by: Mike Hearn on September 29, 2012, 10:09:10 AM
    Re: spending unconfirmed change.

    Yes this is annoying and I plan to fix it in bitcoinj at some point soon.


    Title: Re: MultiBit
    Post by: Tittiez on September 30, 2012, 05:40:30 AM
    I think this is one of those "1 in a thousand" failures so I expect most people will never encounter it.
    It will appear in the next live and test releases.

    You had to get the private keys out of my corrupted file when the same thing happened to me a few months ago (I think that was what happened, or something similar).


    Title: Re: MultiBit
    Post by: jim618 on September 30, 2012, 07:09:42 AM
    Hi Tittiez

    Yes what you experienced was a wallet file not being written completely (due to power loss I think). To counter this bug I have about a week ago added a rolling backup of the wallets. Now when MultiBit writes out a wallet it:
    1) backs up your existing wallet to a file called [wallet name]-[current datetime].wallet in the same directory
    2) writes out the wallet
    3) securely deletes any previous wallet backup

    Also when it loads the wallet if that fails it will load the backup.
    This code will be in the next live release.

    This bug was in the blockchain file so it does not affect your private keys. However MultiBit cannot work without a blockchain file so it does stop the user working.


    A MultiBit user still needs to manually create wallet backups, or exports of the private keys, on a separate device such as a USB drive. This is to counter the possibility of:
    1) laptop theft
    2) disk drive failure
    3) something else


    Title: Re: MultiBit
    Post by: Tittiez on October 01, 2012, 08:01:23 PM
    I see. Well good to know you countered the bug. ;)


    Title: Re: MultiBit
    Post by: SRoulette on October 02, 2012, 11:37:19 AM
    Hello, we would like to say thank you for your excellent alternative wallet.

    We have been using your client extensively in our testing since discovering bitcoin uri's and then your incredible wallet.
    The network synchronization speed, support of uri's and multi wallet support are simply fantastic.

    We should not ask for more, .... but :P
    • Option to display the full 8 decimal places in the main transaction window.
    • Option for Sound notifications on new transfers (a feature we quite like on the android bitcoin wallet and blockchain.info)
    • Option for tool tip of incoming transactions.

    Keep up the great work.


    Title: Re: MultiBit
    Post by: jim618 on October 02, 2012, 11:46:26 AM
    Hi SRoulette,

    Thanks for your feedback.

    The display of the full 8 decimal places is going into the next release (4.11) as it is the Bitcoin norm and the 'Satoshi digits' are starting to be used for various things now.

    Sound I will have a think about - certainly doable.

    RE: the tooltips for incoming transactions - do you mean on the wallet total (when it blinks) should have a tooltip of the description of the incoming transaction(s) ?


    Title: Re: MultiBit
    Post by: SRoulette on October 02, 2012, 12:16:52 PM
    RE: the tooltips for incoming transactions - do you mean on the wallet total (when it blinks) should have a tooltip of the description of the incoming transaction(s) ?

    Perhaps like a msn popup showing label (if defined) or recipient address that times out (hides) after a user configurable time.
    It is handy when you are expecting a transfer back.

    I like to place a bet then go back to web browsing while waiting for my result to come back in.

    We will be donating 1.411 BTC to your donation address to aid your efforts, expect to see more from us in the future :) .

    edit: donation txid (http://blockchain.info/tx-index/28269647/681f30a27bbdcef685434c6340c81eaf55fa3a34a10f7c69960e246563fa9563)


    Title: Re: MultiBit
    Post by: Grouver (BtcBalance) on October 02, 2012, 12:42:28 PM
    I noticed today within my company when I wanted to show them Multibit, aspecially people within a company don't have Java installled cause of the risks of a malware infection  when they forget or don't update there Java.
    Are you planning on making Multibit compatible with some other format that will run on a computer without Java?
    Sounds stupid, but when Bitcoin will grow big many people will choose another client simpy cause of they don't want or are not allowed to install Java on there computer.


    Title: Re: MultiBit
    Post by: jim618 on October 02, 2012, 01:08:50 PM
    @SRoulette - thanks for your donation !

    RE: desktop popup notifications. These are very useful but they do introduce more complexity because they are dependent on the operating system. Due to limited manpower I avoid anything that is different between Windows/ Mac/ Linux wherever possible. Things like the bitcoin URIs and shortcuts are quite time consuming to get working as they are all different on different OSes. They also are a test burden. There is just so much ground you can cover with a single person.

    I understand that you are after better notification when the MultiBit screen is hidden/ minimised so I will have a think about that.


    @Grouver
    Interesting that you are demoing bitcoin software in your company ! :-)

    MultiBit (and bitcoinj) is dependent on Java for pretty much everything. If a user is not allowed to run/ install Java then you are right they would have to use a different client. I do not think there is a way round this.

    For a demo or any situation where you are not sure of the host machine you can prepare a USB drive with:

    1) MultiBit installed
    2) A Java runtime that the installed MultiBit uses to run.

    This pretty much guarantees it will run (unless the host machine is really locked down).

    You can install Java on a USB drive with:
    http://www.dreamincode.net/forums/topic/42544-putting-java-on-your-flash-drive/

    One of the items on my list of TODOs is to make a MultiBit Portable that will run off a USB drive but until then it will have to be a bit hackey to get it working. I can give you more details if you are interested.



    Title: Re: MultiBit
    Post by: SRoulette on October 03, 2012, 08:06:59 AM
    Could you add a button to set MultiBit as the default URI handler for bitcoin ?

    I discovered there is not a easy way to change it back after testing another client that also supports bitcoin URI's


    Title: Re: MultiBit
    Post by: molecular on October 03, 2012, 08:25:30 AM
        some feedback/questions: I just checked out multibit for the first time together with my brother (recovered some coins from an old electrum wallet and we imported a private key).

        • How is the change address chosen? It seems (unlike satoshi client), multibit does not generate new addresses on it's own but uses some existing address for change. Why is that? I'm assuming to solve the "wallet backup problem"?

          The change address used is the address of the first transaction input consumed. This is mainly for simplicity but yes it does solve the wallet backup problem (at the cost of some anonymity).

        • It seems funds are unspendable until the previous tx is in a block. Why? (this could be pretty annoying, say in case I want to send money to multiple different recipients. I would have to wait for a block in between each transaction)

          This is in currently because MultiBit does not have all the transactions to crosscheck that the transaction inputs are actually spendable. Talking to Jan (BitcoinSpinner) at the conference he mentioned that it IS possible to spend your unconfirmed change without it causing problems to downstream transactions so I plan to look into doing this.
          The reason it is in there is that I don't want transaction inputs that are unconfirmed to "percolate" through to chained transactions. In that situation you can have a chain of unconfirmed transactions all waiting on the very first. (If the first transaction was dust you could have a whole chain waiting for a LONG time and it creates a very poor user experience). Bitcoinspinner has access to all the transactions in a db I think so the situation is not quite the same so I need to test it out thoroughly.

        • A suggestion regarding key import: I expected to be able to import a private key by pasting it into some textentry field. Instead we had to generate a file (we u

        sed key export to see what the format was). We didn't know what to use for the date and so we used todays date. As we later discovered this was a mistake, we should've entered the date the last tx on that address had taken place (we did a blockchain rescan afterwards to fix it). So the suggestion: in addition to being able to import keys from file, maybe a textbox to paste a private key could be offered. After that, a popup or something could ask for the rescan-timepoint and explain what it is about)

        The MultiBit key export/ import is designed primarily for backing up the MultiBit wallets and giving people the actual key values. I agree it would need more work before it was a general purpose key import tool.
        The main limitation is that MultiBit (currently) needs to go back and redownload and replay all the blocks from the key's "birth". It does not store all the transactions, only the ones for EXISTING wallet keys. When I do an import I need to know the age of the key. For keys coming from a MultiBit wallet I know the age of the private key and hence can write it out with the key data. (That is why it is a file and not a text box).

        An example of this: Piuk (blockchain.info) wrote some import code for MultiBit for his encrypted wallet backups he mails out when you do a spend on blockchain.info. Unfortunately he does not keep the age of the key so when I import one of his wallet backups I have to go right back to the genesis block and reload all the blocks. This is incredibly slow. If it  "gets you out of an emergency" it is acceptable but for general use it is not really quick enough.


        [/li][li]
        A sort-of bug (likely not multibit fault, probably not even fixable from multibit source): My brother uses a window manager called "notion" (formerly "ion"). At times something gets screwed up and menus (both when selecting from main menu and also the context menu when using right-click on, for example, a transaction) appear offset to the lower right (by many pixels, somewhere completely else in the window) and menu items cannot be selected with the mouse. Once it starts occuring it keeps occuring with the same offset. A frame-resize doesn't help, but putting multibit into another frame (re-attach) does. This might not be worth investigating since it's most likely notions fault, just thought I'd let you know anyway.
        I am not sure I can do much about this one.
        [/li][/list]


        [/list]

        Other than that our experience has been satisfying. Thanks for a great open product!

        Comments inline in blue.

        Cheers!

        Thanks, jim, four your answers. It all makes sense now.

        Have you considered (for solving the "key import rescan" problem) using the help of a stratum server? I'm not sure this is a road you want to go down, but it's probably an option, right? The stratum protocol (https://docs.google.com/document/d/17zHy1SUlhgtCMbypO8cHgpWH73V5iUQKk_0rWvMqSNs/edit?hl=en_US) (google doc linked from stratum thread (https://bitcointalk.org/index.php?topic=55842.0)) defines a "blockchain.address.get_history" function that could maybe used to identify relevant blocks to rescan. The protocol definition isn't detailed yet, so one would have to look at server implementation to see if this function (or another one) is adequate.

        I'm pondering writing a java stratum client/protocol impl for another project.


        Title: Re: MultiBit
        Post by: jim618 on October 03, 2012, 08:36:49 AM
        It seems sensible that all the bitcoin URI aware clients should work nicely together.

        Which operating system are you working with and what is the other client (for testing) ?

        If you have (or create) a github account you can raise it as an issue in github at:
        https://github.com/jim618/multibit/issues (https://github.com/jim618/multibit/issues)

        It is a bit easier to track bugs/ feature requests in there rather in this thread. (This thread tends to be a bit unstructured).


        Title: Re: MultiBit
        Post by: jim618 on October 03, 2012, 09:29:58 AM
        Giszmo has pledged 1 BTC for the completion of the Farsi/ Persian translation of MultiBit:

        https://bitcointalk.org/index.php?topic=94805.msg1240857#msg1240857 (https://bitcointalk.org/index.php?topic=94805.msg1240857#msg1240857)

        There are about 346 terms remaining to do.

        If you are a Farsi speaker (or know of one) and fancy picking up the bounty, go to:
        http://translate.multibit.org (http://translate.multibit.org)


        Title: Re: MultiBit
        Post by: jim618 on October 03, 2012, 09:55:53 AM

        Thanks, jim, four your answers. It all makes sense now.

        Have you considered (for solving the "key import rescan" problem) using the help of a stratum server? I'm not sure this is a road you want to go down, but it's probably an option, right? The stratum protocol (https://docs.google.com/document/d/17zHy1SUlhgtCMbypO8cHgpWH73V5iUQKk_0rWvMqSNs/edit?hl=en_US) (google doc linked from stratum thread (https://bitcointalk.org/index.php?topic=55842.0)) defines a "blockchain.address.get_history" function that could maybe used to identify relevant blocks to rescan. The protocol definition isn't detailed yet, so one would have to look at server implementation to see if this function (or another one) is adequate.

        I'm pondering writing a java stratum client/protocol impl for another project.

        Hi molecular,

        Yes, technically it would be possible to have the network layer of MultiBit to talk to a stratum server but it isn't in my plans.
        The current MultiBit code uses the bitcoinj network code (the Peers and PeerGroup) directly so, thankfully, I do not have to go anywhere near the actual socket management. Miron Cuperman has done a lot of work on the Peers - lots of threading work in there - and I use that directly.

        I have committed to implementing the client side part of Matt Corallo's server side Bloom filter work so that will be the next network upgrade for MultiBit. The implementation is different to stratum but it's all about taming the blockchain so the end results should be similar. Syncing should be O(the number of keys in the wallet) rather than O(the size of the blockchain) which is a big improvement.

        In the refactoring to add in the Bloom filters I want to separate the network layer and the UI layer a bit more. This should make it easier to add in other network connections (hopefully). I can see a connector to the OpenPay network coming up soonish and there will no doubt be other sorts of network nodes appearing in the future.

        I think a java stratum client impl would be very useful - not least because you could write a very nice native Electrum Android app with it !

        :-)


        Title: Re: MultiBit
        Post by: molecular on October 03, 2012, 12:27:12 PM
        Hi molecular,

        Yes, technically it would be possible to have the network layer of MultiBit to talk to a stratum server but it isn't in my plans.
        The current MultiBit code uses the bitcoinj network code (the Peers and PeerGroup) directly so, thankfully, I do not have to go anywhere near the actual socket management. Miron Cuperman has done a lot of work on the Peers - lots of threading work in there - and I use that directly.

        I have committed to implementing the client side part of Matt Corallo's server side Bloom filter work so that will be the next network upgrade for MultiBit. The implementation is different to stratum but it's all about taming the blockchain so the end results should be similar. Syncing should be O(the number of keys in the wallet) rather than O(the size of the blockchain) which is a big improvement.

        In the refactoring to add in the Bloom filters I want to separate the network layer and the UI layer a bit more. This should make it easier to add in other network connections (hopefully). I can see a connector to the OpenPay network coming up soonish and there will no doubt be other sorts of network nodes appearing in the future.

        That bloom stuff sounds interesting. Can you point me somewhere to read up on it? It's unclear to me: is this something that needs a server or is this some indexing and stuff done in the client?

        I think a java stratum client impl would be very useful - not least because you could write a very nice native Electrum Android app with it !

        Not to downplay electrum4android, it's fully functional and actually a good full-fledged client... unfortunately it's a bitch to install (not doable for grandma or even daddy) and the user experience is a bit uber-geeky. So I agree: the possibility of an android electrum client adds quite a bit of incentive to making that stratum client java lib. I haven't taken a look, but I guess bitcoinj has all the crypto, signing, encoding, ... functions and structures already in place... so it doesn't seem far-fetched.



        Title: Re: MultiBit
        Post by: jim618 on October 03, 2012, 01:05:50 PM
        The Bloom filter work needs changes both to the client and bitcoind - here is the little graphic I put in my London conference talk:

        http://multibit.org/postImages/bloom.png (http://multibit.org/postImages/bloom.png)

        The client creates a Bloom filter for all the bitcoin addresses s/he is interested in and then gives it to bitcoind.
        Bitcoind then filters all the transactions and only sends back the ones that have a Bloom filter hit.
        (You get some false positives which helps on privacy).

        It is a bit more work for the bitcoind but it has to send back less data so for the server it is probably a wash. The big win is for the client and the data bandwidth needed drops dramatically.

        I am not sure there are any formal specs for it yet as it is still being developed.
        I expect MultiBit and Andreas's wallet will be the first ones to implement it.

        I am pretty sure bitcoinj has the tools to implement an Electrum client. All the signing etc would be similar. The work would probably be in the conversations with the Stratum servers for them to give you the data you want. And probably the data objects are different so there is a bit of translation there.  All doable - quite a nice project.

        I know Andreas's Bitcoin Android Wallet is open source so I dare say you could fork/ reuse that to save time on UI work (obviously asking Andreas and rebranding it to avoid any confusion).


        Title: Re: MultiBit
        Post by: Mike Hearn on October 03, 2012, 01:11:47 PM
        Actually Matt has implemented bloom filters in bitcoinj already. It's just pending merge. So you don't need to do any work Jim, just keep up with bitcoinj and at some point you will get this feature "for free".

        Once bloom filters are implemented and rolled out across the network, I don't see any reason for Stratum/Electrum-style servers any more. With some more optimization you can theoretically match their efficiency but without any need for a semi-trusted server.


        Title: Re: MultiBit
        Post by: jim618 on October 03, 2012, 01:12:59 PM
        I like the sound of free !!!

        :-)


        Title: Re: MultiBit
        Post by: Mike Hearn on October 03, 2012, 01:25:59 PM
        On the Java issue -  Java as an app-specific runtime is not a security issue, the problems start when you expose it to the web and start downloading and running random untrusted code on it. Then it's an issue.

        I don't see why MultiBit couldn't just bundle a JRE with itself. That's the usual way to handle lack of a JRE or lack of backwards compatibility in Java.

        In the event that a native binary is absolutely required, it could be done using this:

        http://www.excelsior-usa.com/jetinternals.html

        It's proprietary, but free for non commercial use. It might make sense to package/ship MultiBit with that edition.

        There's a free software equivalent called GCJ but it doesn't do Swing, so you'd need to either port to SWT or alternatively, the MultiBit code could be carefully factored such that native UIs for each platform can be written in native code. GCJ lets you access Java APIs and classes just like you would in regular C++, so the core logic and code can all be in Java and then Objective-C++ used on the Mac, GTK on Linux, whatever is currently in vogue on Windows. It's obviously a lot more work but the end result would be a native binary with no JVM dependency, that used the native UI toolkits.

        For that to happen somebody with a passion for native UI on their platform would have to step up. I was hoping at some point to get the native version of bitcoinj up and running with nice docs, etc, but didn't have enough time to really finish the work.


        Title: Re: MultiBit
        Post by: firefop on October 03, 2012, 02:06:26 PM
        Yes that is the plan exactly as you state.

        The work I mentioned on protocol buffers (which is a data storage format that is easy for both Java and C++ to read) is a good opportunity to add that information into the wallet.

        Also with bitcoinj you can have several wallets 'listening' to the transactions coming from the network simultaneously. I will be using this with the multiple wallets screen.

        Note that any MultiBit wallets created in 0.1.3 will have an upgrade path for any wallet format changes so people probably won't even notice the change.

        Here's a better idea - why not simply start an instance for each wallet - and have tabs to control them.


        Title: Re: MultiBit
        Post by: jim618 on October 03, 2012, 02:30:15 PM
        @firefop
        I am not sure what you mean from your description.

        Do you mean to have separate instances of MultiBit running, one each for each wallet?
        Or something like a browser, where there is one tab for each wallet ?

        In the former case, you have probably noticed that you can only run one copy of MultiBit at a time. This is because it is frequently writing out updates to the wallet files. Having multiple processes writing to the same file (e.g. two copies of MultiBit having the same wallet open) is very tricky to do 100% reliably.

        In the latter case, the list of wallets in the 'Wallets' panel are functionally the same as tab headings but just arranged vertically instead of horizontally. They are styled on Microsoft Outlook. Arranging them vertically leaves the horizontal dimension (i.e. the current tab headers) to swop between functions.


        Title: Re: MultiBit
        Post by: firefop on October 03, 2012, 06:36:12 PM
        @firefop
        I am not sure what you mean from your description.

        Do you mean to have separate instances of MultiBit running, one each for each wallet?
        Or something like a browser, where there is one tab for each wallet ?

        In the former case, you have probably noticed that you can only run one copy of MultiBit at a time. This is because it is frequently writing out updates to the wallet files. Having multiple processes writing to the same file (e.g. two copies of MultiBit having the same wallet open) is very tricky to do 100% reliably.

        In the latter case, the list of wallets in the 'Wallets' panel are functionally the same as tab headings but just arranged vertically instead of horizontally. They are styled on Microsoft Outlook. Arranging them vertically leaves the horizontal dimension (i.e. the current tab headers) to swop between functions.

        so why not simply open all the wallets - then you wouldn't have to worry about your zero% issue - or would that increase the footprint of the software too much?


        Title: Re: MultiBit
        Post by: jim618 on October 03, 2012, 07:01:34 PM
        All the wallets in the Wallets side panel are open, in the sense that their contents are all in memory and will receive any payments. They are all "live" and hooked up to the Bitcoin network.

        You could have every wallet open in a separate window but then you have a lot of windows (and lots of window decoration).
        Compare it to a browser like Safari or Firefox: you have lots of pages open in tabs but you only view one tab at a time.

        There is an idea in UI design to have "global overview, detail on demand". The Wallets panel is the global overview part (together with the header region actually) and then the tabs are the "detail on demand".
        There is also a level of "more detail on demand" with:
        +  the transactions details popup
        +  the twisties in the single wallet panels
        +  the side panels in the 'Request' and 'Send' tabs.

        You optionally chose to view these when you want more details.

        If you open each wallet in a separate window, you lose the global overview.

        Also, if you think more generally, a wallet is a thing in its own right and it is useful to have a graphical representation for it.
        UI work is incredibly timeconsuming so I am not there yet. But with a graphical representation of a wallet you can do things like drag and drop to order them etc.

        There are often different ways to show the same information with UI work. For my overall metaphor I have used things like Microsoft Outlook and Quicken. These work pretty well and are displaying information with roughly the same structure/ hierarchy.
         


        Title: Re: MultiBit
        Post by: phelix on October 04, 2012, 07:29:12 AM
        Just want to shout out:

        MultiBit is awesome.

        Wallet management seems like a good pragmatic alternative to Coin Control / Sendfromaddress.

        Looking forward to wallet encryption.


        Title: Re: MultiBit
        Post by: jim618 on October 04, 2012, 07:45:07 AM
        Thanks !

        The wallet encryption you can try out now with the beta downloads at:
        https://github.com/jim618/multibit/downloads (https://github.com/jim618/multibit/downloads)

        I have been using the encrypted code for real for about a month now - they just need another round of QA and getting the code into bitcoinj. As long as you are careful to keep your wallets/ keys backed up you should be ok.


        Title: Re: MultiBit
        Post by: molecular on October 04, 2012, 08:31:08 AM
        The Bloom filter work needs changes both to the client and bitcoind - here is the little graphic I put in my London conference talk:

        http://multibit.org/postImages/bloom.png (http://multibit.org/postImages/bloom.png)

        The client creates a Bloom filter for all the bitcoin addresses s/he is interested in and then gives it to bitcoind.
        Bitcoind then filters all the transactions and only sends back the ones that have a Bloom filter hit.
        (You get some false positives which helps on privacy).

        It is a bit more work for the bitcoind but it has to send back less data so for the server it is probably a wash. The big win is for the client and the data bandwidth needed drops dramatically.

        I am not sure there are any formal specs for it yet as it is still being developed.
        I expect MultiBit and Andreas's wallet will be the first ones to implement it.

        I am pretty sure bitcoinj has the tools to implement an Electrum client. All the signing etc would be similar. The work would probably be in the conversations with the Stratum servers for them to give you the data you want. And probably the data objects are different so there is a bit of translation there.  All doable - quite a nice project.

        Jim, I think I understand how bloom filter works now and it seems it's exaclty what's needed here for multibit and light clients.

        However, I'm still confused on 2 points:

        • Are you saying bloom filter support will go into mainline satoshi at some point?
        • "Bitcoind then filters all the transactions and only sends back the ones that have a Bloom filter hit.": What about old transactions? Afaik there's currently no index for this in bitcoind, right? So will the bloom bitcoind rescan the blockchain to send info on past events concerning the filtered addresses?


        I know Andreas's Bitcoin Android Wallet is open source so I dare say you could fork/ reuse that to save time on UI work (obviously asking Andreas and rebranding it to avoid any confusion).

        Exactly my thinking, already checked out his code last night to take a look ;)

        Offtopic sidenote and thoughts: I also took a very rough look at bitcoinj. My idea to make a "class ElectrumWallet extends Wallet" will not work cleanly (for example, Wallet.addKey(ECKey x) would have to be implemented, which wont work for electrum wallet system because keys are generated from a seed). I was kindof expecting an "interface Wallet"... Will probably take a look at multibit wallet abstraction, maybe an electrum wallet impl could be written for multibit?


        Title: Re: MultiBit
        Post by: jim618 on October 04, 2012, 10:02:47 AM
        I have set up a bounty address for anyone who would like to contribute to the Farsi/ Persian translation of MultiBit.
        This is inspired by this thread:
        https://bitcointalk.org/index.php?topic=94805.0;all (https://bitcointalk.org/index.php?topic=94805.0;all)


        The bounty address is: 1K6EJJYftWNyhre3codjT4jWyczrdRVG1n (https://blockchain.info/address/1K6EJJYftWNyhre3codjT4jWyczrdRVG1n)
        Or, as a QR code:
        http://multibit.org/images/qrcodes/bounty-farsi.png

        The terms of the bounty I have added to: http://multibit.org/ (http://multibit.org/) (below the screenshots)


        Title: Re: MultiBit
        Post by: jim618 on October 04, 2012, 10:43:22 AM

        Jim, I think I understand how bloom filter works now and it seems it's exaclty what's needed here for multibit and light clients.

        However, I'm still confused on 2 points:

        • Are you saying bloom filter support will go into mainline satoshi at some point?
        • "Bitcoind then filters all the transactions and only sends back the ones that have a Bloom filter hit.": What about old transactions? Afaik there's currently no index for this in bitcoind, right? So will the bloom bitcoind rescan the blockchain to send info on past events concerning the filtered addresses?

        Offtopic sidenote and thoughts: I also took a very rough look at bitcoinj. My idea to make a "class ElectrumWallet extends Wallet" will not work cleanly (for example, Wallet.addKey(ECKey x) would have to be implemented, which wont work for electrum wallet system because keys are generated from a seed). I was kindof expecting an "interface Wallet"... Will probably take a look at multibit wallet abstraction, maybe an electrum wallet impl could be written for multibit?


        Yes my understanding is that the bloom filter support will go into bitcoind (I don't know when though). It will be very useful when it goes in.

        RE: the old transactions - I think you would have to set the head of your local blockchain and work forward, unless there is something on the bloom filter API to cater for this (I don't know this).

        The bitcoinj Wallet is an impl yes - the MultiBit Wallet is practically the same.
        I would not copy what I have done in MultiBit actually but do what Andreas does which is:
        1) Have a fork of the bitcoinj code and then add in support that you want
        2) When bitcoinj changes then rebase and pick up the changes.

        Wallet is a bit too tightly coupled to the current network/ datamodel at the moment - Mike has it on his TODO list to prise them apart a bit.   I think a Wallet abstraction would be really useful to handle heterogenous wallets (watch only, scrypt+AES encrypted private keys, HD deterministic, Electrum deterministic) but the MultiBit code is quite a long way away from that currently.

        I think for writing a Java Electrum client now, the clearest way would be to use the bitcoinj datamodel as far as possible but add in the "best" structures for Electrum's wallets. That way in the future it will be easier to determine what a Wallet really is (interface wise I mean).


        Title: Re: MultiBit
        Post by: Mike Hearn on October 04, 2012, 10:58:25 AM
        Bloom filter on the Satoshi side is here:

        https://github.com/bitcoin/bitcoin/pull/1795

        on the bitcoinj side is here:

        http://code.google.com/r/bluemattme-bitcoinj/source/list?name=bloomfilter

        We have consensus that this is the way to go and I'm sure the code will get merged and rolled out soon.

        Re: old keys. Bloom filtering is just a layer on top of regular chain download. If you import a set of keys, you would redownload the chain from that point with a filter containing the new keys and the transactions would all arrive.

        Quote
        Offtopic sidenote and thoughts: I also took a very rough look at bitcoinj. My idea to make a "class ElectrumWallet extends Wallet" will not work cleanly (for example, Wallet.addKey(ECKey x) would have to be implemented, which wont work for electrum wallet system because keys are generated from a seed). I was kindof expecting an "interface Wallet"... Will probably take a look at multibit wallet abstraction, maybe an electrum wallet impl could be written for multibit?

        Electrum made deterministic wallets core to its design, and bitcoinj does not have any implementation of that today. If you wanted to implement them, that'd be a very interesting project.

        As I said, I think seeing this in terms of Electrum is the wrong way to go. Bloom filtering + an implementation of deterministic wallets gives you exactly the same functionality as Electrum/Stratum does, but in a way that meets Satoshis original design goals and which lets you use any peer from the network selected at random.


        Title: Re: MultiBit
        Post by: jim618 on October 04, 2012, 12:06:56 PM
        @Mike
        Thanks for those URLs Mike - I have meaning to look at Matt's work in detail for weeks now.

        Yes - whilst the conversation above was framed in terms of Electrum deterministic wallets I personally am more interested in Pieter's hierarchical deterministic wallets. A Java solution for one would (I think) be relatively easy to extend to the other.

        @molecular
        If you have the time free then working on Java deterministic wallets would definitely be useful for the wider community. With some nice design work you could probably build something that caters for both Electrum and HD wallet key generation.

        I am looking forward to when HD wallets enable a user to go to any Bitcoin client, enter their secret information and access their bitcoin.


        Title: Re: MultiBit
        Post by: molecular on October 04, 2012, 05:49:13 PM
        @jim and @mike: Thanks for your valuable input, I have a pretty clear path to go down now. It will be a slow walk and it's not 100% sure yet I'll go down that road (my free time available is currently pretty limited and I have to choose among many interesting options).
        I'll try to share early once I have something worth to look at or get input.


        Title: Re: MultiBit
        Post by: jim618 on October 05, 2012, 05:17:26 AM
        Hi subSTRATA,
        The next version (0.4.11) shows all the digits e.g 0.12345678 BTC.
        It will be out in a day or two.


        Title: Re: MultiBit
        Post by: bitcoinspot.nl on October 05, 2012, 11:09:00 AM
        Hi Jim,

        yesterday i sent myself two transactions but they remain unconfirmed in multibit, yet on blockchain.info they both are confirmed.
        i really dont want to do a reset blockchain and transactions because i want to keep my list of transactions.

        Do you have an idea?

        Greetz!
        Roland.



        Title: Re: MultiBit
        Post by: jim618 on October 05, 2012, 01:16:30 PM
        Hi bitcoinspot.nl,

        Hmm, have you tried doing a reset transactions but choosing the date to go back to as yesterday ? That will only clear a day or twos transactions before replaying the blocks.

        Edit: Or you can create a dummy wallet and do a "reset transactions from a particular date" on THAT wallet.
        When the blocks get replayed I check every wallet to see if there are any relevant transactions so it should confirm the unconfirmed transactions, whichever wallet they are in.

        Jim


        Title: Re: MultiBit
        Post by: bitcoinspot.nl on October 05, 2012, 01:42:53 PM
        Ok clicked it :) is it normal to not see a conformation screen of any sort when i click the resetblockhain button?

        P.s. i never see this problem occuring on the official client, why does this occur?

        keep up the good work!

        Roland.


        Title: Re: MultiBit
        Post by: jim618 on October 05, 2012, 01:52:50 PM
        Hi bitcoinspot.nl,

        I put various messages on the status bar as it resets things so I did not bother with a confirmation dialog as it is just another screen to dismiss.


        As to why it occurs: Well, it shouldn't !

        Bugs like that can be difficult to pin down - can be some edge condition that normally does not happen or such like. It really is still experimental software !


        Title: Re: MultiBit
        Post by: jim618 on October 05, 2012, 01:53:50 PM
        There is a new live release of MultiBit at:

        multibit.org (http://multibit.org)

        Version 0.4.11

        Enhancements:

        User interface
        +  8 decimal places of BTC now shown
        +  Chart of wallet balance for last 30 days added
        +  Drag and drop QR code to desktop
        +  Slovenian 100% added
        +  Various UI tidyups

        System
        +  Faster bitcoin network connection
        +  Rolling wallet backup to mitigate sudden power loss
        +  Automatic recopy of installer blockchain if required
        +  Update to bitcoinj version 0.6
        +  Update to XChart 0.2.0


        Scan of release checklist (http://multibit.org/test/releaseCheckList-0.4.11.jpg)


        Title: Re: MultiBit
        Post by: mila on October 05, 2012, 02:31:12 PM
        Version 0.4.11

        Also Slovak lang is now 100 %
        was 95% since 0.4.9


        Title: Re: MultiBit
        Post by: jim618 on October 05, 2012, 02:33:17 PM
        Great - thanks for that reminder !

        Thanks for your efforts.

        It is always nice to have software totally in your native tongue.

        :-)


        Title: Re: MultiBit
        Post by: jim618 on October 05, 2012, 02:50:59 PM
        Thanks to the efforts of techmix and mohammad_rafigh there is now a Farsi translation of MultiBit. They will share the bounty on this translation work (pro rata on number of terms done).

        It just missed the 0.4.11 release but here is a screen shot:

        http://multibit.org/postImages/farsi.png

        I will spend a bit of time over the weekend trying to tidy up some of the layout anomalies and aim to get it out early next week.


        Title: Re: MultiBit
        Post by: jim618 on October 05, 2012, 05:55:19 PM
        Yes it is better I must admit.

        It is a production release.
        If you install it using, say, the default settings it will pick up you user application data directly.




        Title: Re: MultiBit
        Post by: jim618 on October 06, 2012, 11:08:04 AM
        I have set up bounties for the translation of the remaining Arabic and Hindi phrases.
        If you are interested in either contributing to a bounty or doing the translation, please have a look here:

        multibit.org/bounties.html (http://multibit.org/bounties.html)

        There is a link from the main text on the multibit.org landing page too.


        Title: Re: MultiBit
        Post by: bitcoinspot.nl on October 06, 2012, 10:17:07 PM
        Hi bitcoinspot.nl,

        Hmm, have you tried doing a reset transactions but choosing the date to go back to as yesterday ? That will only clear a day or twos transactions before replaying the blocks.

        Edit: Or you can create a dummy wallet and do a "reset transactions from a particular date" on THAT wallet.
        When the blocks get replayed I check every wallet to see if there are any relevant transactions so it should confirm the unconfirmed transactions, whichever wallet they are in.

        Jim

        i selected the date (3 october) and clicked the reset blochain button, but nothing happens...



        Title: Re: MultiBit
        Post by: jim618 on October 06, 2012, 10:20:14 PM
        Try selecting the day before ie 2 October


        Title: Re: MultiBit
        Post by: bitcoinspot.nl on October 06, 2012, 10:32:02 PM
        Try selecting the day before ie 2 October

        yeah did that already :)


        Title: Re: MultiBit
        Post by: jim618 on October 06, 2012, 10:39:43 PM
        Let me just check :

        You have unconfirmed transactions dated 3 October in a wallet.
        You have the wallet selected.
        In reset blockchain and transactions you select the 'reset from date' and choose 2 October.
        You click the 'reset blockchain and transactions' button

        And nothing happens ?
        ( you should see the transactions disappear from the wallet, a 'connecting' appear for a few seconds, then 'synchronising'. Then it replays the blocks. does none of that happen ?

        And also, is this version 0.4.11 ?

        Edit: if the above is happening, PM to me the multibit_debug.log and the multibit_console.log. Also do a right click on the problem transaction and please send me the contents of the 'raw transaction' box.


        Title: Re: MultiBit
        Post by: bitcoinspot.nl on October 07, 2012, 06:56:26 PM
        Let me just check :

        You have unconfirmed transactions dated 3 October in a wallet.
        You have the wallet selected.
        In reset blockchain and transactions you select the 'reset from date' and choose 2 October.
        You click the 'reset blockchain and transactions' button

        And nothing happens ?
        ( you should see the transactions disappear from the wallet, a 'connecting' appear for a few seconds, then 'synchronising'. Then it replays the blocks. does none of that happen ?

        And also, is this version 0.4.11 ?

        Edit: if the above is happening, PM to me the multibit_debug.log and the multibit_console.log. Also do a right click on the problem transaction and please send me the contents of the 'raw transaction' box.

        Hi Jim, i am using 0.5.4 beta and after many attempts suddenlt the reset blockchain worked.. hoewever, now i have loist all my sent to and received from labels in my transactions list.


        Title: Re: MultiBit
        Post by: jim618 on October 07, 2012, 09:09:12 PM
        Hi bitcoinspot.nl,

        Good that you have everything working but it really should not be that painful.

        The labels for your addresses are stored in the 'info' files, not in the 'wallet' files.

        for instance a wallet:              
        "jim.wallet"  contains all the transactions and this is what a "reset blockchain and transactions" changes.
          
        There will also be a file:
        "jim.info"  which contains the labels for the send and receive addresses.

        It could be that you have, say, copied the wallet file and not the info file as that would give those symptoms.
        If you close down MultiBit and make sure there is a companion "info" file for the wallet you have that should bring all the labels back when you restart it.

        Also, can you email me the log files I mentioned (to jim at multibit.org) as I would like to see if there is anything unusual going on. I try to keep the "reset blockchain and transactions" as solid as possible (as it is only used when things go wrong) but clearly there is something not quite right in it.

        Thanks,

        Jim


        Title: Re: MultiBit
        Post by: bitcoinspot.nl on October 08, 2012, 06:56:17 AM
        Also, can you email me the log files I mentioned (to jim at multibit.org) as I would like to see if there is anything unusual going on. I try to keep the "reset blockchain and transactions" as solid as possible (as it is only used when things go wrong) but clearly there is something not quite right in it.

        Thanks,

        Jim


        Ok, just gave you a PM.


        Title: Re: MultiBit
        Post by: TAiS46 on October 08, 2012, 05:43:47 PM
        Where to find the BETA for mac?

        And there is another problem.
        If I send BTC to another address, there are only some BTC left to send, why?

        Look at this screen:
        http://img6.imagebanana.com/img/mji3ssj3/Bildschirmfoto20121008um19.34.06.png

        Deposit 720 BTC ...
        send out 15.8****

        Available only 0.0045, why?


        Title: Re: MultiBit
        Post by: flatfly on October 08, 2012, 06:57:34 PM
        Where to find the BETA for mac?

        And there is another problem.
        If I send BTC to another address, there are only some BTC left to send, why?

        Look at this screen:
        http://img6.imagebanana.com/img/mji3ssj3/Bildschirmfoto20121008um19.34.06.png

        Deposit 720 BTC ...
        send out 15.8****

        Available only 0.0045, why?

        I'm not sure, but I think you need to wait for a couple of confirmations for the rest to become available.


        Title: Re: MultiBit
        Post by: jim618 on October 08, 2012, 07:03:58 PM
        All the beta are here:
        https://github.com/jim618/multibit/downloads (https://github.com/jim618/multibit/downloads)

        As I am sure you know if you storing three figure sums of BTC it is imperative that you backup your private keys somewhere safe.

        Available to spend is explained here:
        http://multibit.org/help_availableToSpend.html (http://multibit.org/help_availableToSpend.html)
        Basically it is waiting for change to be confirmed as flatfly stated.


        Title: Re: MultiBit
        Post by: TAiS46 on October 08, 2012, 07:31:03 PM
        hm, but I dont understand this.

        I receive 720 Bitcoin.
        The Transaction has more than 6 Confirmations.
        I send 10 Bitcoins to an address and must wait, that I can send more Bitcoin to another address.

        In the normal Client I dont have this problem?!

        Did the windows client has the same problem?
        I must send often about 4-7 transactions at the same moment.
        But when I must wait every transaction to confirm, I don't
        will use the client anymore :(


        Title: Re: MultiBit
        Post by: ErebusBat on October 08, 2012, 08:22:08 PM
        Is anyone else getting a damaged Warning under OSX?
        http://puu.sh/1cLED

        I just downloaded 0.4.11; however it happened with 0.4.10 also and never got back around to troubleshooting it (until today, so I just downloaded the newest ver).


        Title: Re: MultiBit
        Post by: Mike Hearn on October 08, 2012, 10:07:32 PM
        The "damaged and can't be opened" error is from Gatekeeper. MacOS is crying because Jim isn't signing the app. He needs to get a Mac developer ID and sign MultiBit with that to make the error go away. Alternatively, disable Gatekeeper and the issue should also resolve itself.


        Title: Re: MultiBit
        Post by: jim618 on October 09, 2012, 06:01:26 AM
        hm, but I dont understand this.

        I receive 720 Bitcoin.
        The Transaction has more than 6 Confirmations.
        I send 10 Bitcoins to an address and must wait, that I can send more Bitcoin to another address.

        In the normal Client I dont have this problem?!

        Did the windows client has the same problem?
        I must send often about 4-7 transactions at the same moment.
        But when I must wait every transaction to confirm, I don't
        will use the client anymore :(

        You are correct that it is the recent transactions that need to be confirmed (for the change part of your transaction to appear on the blockchain). It is a known limitation and will be looked at in the future.

        If you have only one or two unspent transactions in a wallet it can be a pain. If you have lots of unspent transactions (ie several small payments into the wallet rather than one big one) it is less noticeable. That is what I do - I 'load up' a wallet with payments in that are roughly the size of the payments I am making. That way you can make simultaneous payments, each of which are consuming different available transaction outputs.

        Re: is it the same on Windows.
        The MultiBit code is almost the same on all of Linux, Mac and Windows.

        @ErebusBat
        Re: GateKeeper - it is as Mike says - I need to start signing MultiBit with an Apple dev id. There is a note on the multibit.org help page that links to this how-to to fix it:
        http://multibit.org/help_mountain_lion.html (http://multibit.org/help_mountain_lion.html)


        Title: Re: MultiBit
        Post by: SRoulette on October 09, 2012, 10:28:52 AM
        hm, but I dont understand this.

        I receive 720 Bitcoin.
        The Transaction has more than 6 Confirmations.
        I send 10 Bitcoins to an address and must wait, that I can send more Bitcoin to another address.

        In the normal Client I dont have this problem?!

        Did the windows client has the same problem?
        I must send often about 4-7 transactions at the same moment.
        But when I must wait every transaction to confirm, I don't
        will use the client anymore :(

        You are correct that it is the recent transactions that need to be confirmed (for the change part of your transaction to appear on the blockchain). It is a known limitation and will be looked at in the future.

        If you have only one or two unspent transactions in a wallet it can be a pain. If you have lots of unspent transactions (ie several small payments into the wallet rather than one big one) it is less noticeable. That is what I do - I 'load up' a wallet with payments in that are roughly the size of the payments I am making. That way you can make simultaneous payments, each of which are consuming different available transaction outputs.

        Re: is it the same on Windows.
        The MultiBit code is almost the same on all of Linux, Mac and Windows.

        @ErebusBat
        Re: GateKeeper - it is as Mike says - I need to start signing MultiBit with an Apple dev id. There is a note on the multibit.org help page that links to this how-to to fix it:
        http://multibit.org/help_mountain_lion.html (http://multibit.org/help_mountain_lion.html)

        It is not a fault of the wallet but more a feature of the bitcoin protocol.
        bitcoin will try to build a transaction from your unspent inputs, but often you cannot match the exact size.

        eg: your trying to bet 0.25 on mini dice (http://satoshiroulette.com/minidice/) but only have a single unspent input of 0.3.
        bitcoin will send 0.25 to the betting address and 0.5 (minus tx fees) back to one of your existing addresses.
        This is how you bitcoin automatically breaks unspent inputs into smaller usable amounts.

        So to stop all/ most of you bitcoins becoming unavailable for ~10 minutes after 1 transaction you do the following:

        N = Number of new addresses (I used 10 )
        T = Total balance
        X = T / ( N + 1) we add 1 to N to allow for tx fees .

        create N new addresses
        Create a transaction that sends X to each of the new addresses (done from another wallet as multibit does not seem to support multi send atm).

        Now when you send an amount under X only a portion of your wallet becomes unconfirmed ( X / T  * 100 = ~ %10 ).

        We found this out very quickly when testing multi bit on our site, but also found a easy solution :D


        Title: Re: MultiBit
        Post by: ErebusBat on October 09, 2012, 12:59:55 PM
        The "damaged and can't be opened" error is from Gatekeeper. MacOS is crying because Jim isn't signing the app. He needs to get a Mac developer ID and sign MultiBit with that to make the error go away. Alternatively, disable Gatekeeper and the issue should also resolve itself.
        I dont think it is gatekeeper, as you get a different error for that.

        http://puu.sh/1cZDs


        Title: Re: MultiBit
        Post by: jim618 on October 09, 2012, 02:10:55 PM
        Have you tried the setting as described in the mountain lion link a couple of posts up ? That would decide it one way or the other.


        Title: Re: MultiBit
        Post by: Mike Hearn on October 09, 2012, 04:05:15 PM
        It definitely is Gatekeeper. There appears to be some kind of bug (in something, somewhere) where Gatekeeper doesn't like Java apps, perhaps there is a mismatched signature somewhere. The error means a signature failed to match, but it's unclear where such a signature would come from.


        Title: Re: MultiBit
        Post by: ErebusBat on October 09, 2012, 04:11:25 PM
        Have you tried the setting as described in the mountain lion link a couple of posts up ? That would decide it one way or the other.

        Setting GateKeeper to ANYWHERE does indeed solve the problem.  This means that despite Apple's own words:
        http://puu.sh/1d1oZ
        Control+Clicking to allow the package is not the equivalent to saying 'let it run, no matter what'

        Doing some further research (as I don't really want to turn off gatekeeper) it turns out that it has to do with the quarantine flag as described here: http://apple.stackexchange.com/a/58089/30611

        I first tried lowering the setting and running MultiBit, then moving it back (damaged error).
        Removing the quarantine flag (xattr -d com.apple.quarantine /Applications/MultiBit.app) fixed the broken error.

        You might want to document this on the gatekeeper page Jim as I was under the belief that Ctrl+Clicking would do the same thing.


        Title: Re: MultiBit
        Post by: TAiS46 on October 09, 2012, 05:05:40 PM
        wow ...
        5 available to send ... why?
        transaction from 08.10. is confirmed with over 100 confirmations?!
        damn client, sorry but it is really not good!

        http://img6.imagebanana.com/img/e0soggck/Bildschirmfoto20121009um19.03.27.png


        Title: Re: MultiBit
        Post by: jim618 on October 09, 2012, 05:27:12 PM
        Please read the sections posted above on unconfirmed transactions and what 'Available to spend' means.

        You have a wallet where there are only a small number of transactions outputs available to create transactions.
        I expect the unconfirmed transaction of 08 Oct has a large change output. If you select that transaction and do a right click and 'View transaction details' you can see the transaction in detail.

        The post above by SRoulette explains how you can create more transaction outputs.

        If you are not comfortable with the structure of transactions - as outlined in the previous posts - then I suggest you do not use MultiBit. Just export your private keys and import them into blockchain.info or similar.


        Title: Re: MultiBit
        Post by: ErebusBat on October 09, 2012, 06:25:21 PM
        Apparently I am just going to become a bother....

        So after getting it to it will not connect :(  I left if for over an hour and a half

        log: http://pastie.org/5025538


        Title: Re: MultiBit
        Post by: Mushroomized on October 09, 2012, 06:35:48 PM
        While I use this client from time to time, the biggest issue I have with it is that it sometimes doesn't let me send my money, and I have to reset the blockchain and it just dies on me.


        Title: Re: MultiBit
        Post by: jim618 on October 09, 2012, 06:42:05 PM
        Apparently I am just going to become a bother....

        So after getting it to it will not connect :(  I left if for over an hour and a half

        log: http://pastie.org/5025538

        In your paste I can see that it had a list of 14 peers (i.e. Satoshi clients) that it would subsequently try to connect to. What it should do is try all of these and, if all of them are stale it waits a while and then trys again. This code is relatively new so it could be that it is not recreating a whole new list again. I will have a look into this.

        Try just closing down MultiBit and restarting it again and it will reinitialise the list of all the peers etc.


        Title: Re: MultiBit
        Post by: jim618 on October 09, 2012, 06:46:13 PM
        While I use this client from time to time, the biggest issue I have with it is that it sometimes doesn't let me send my money, and I have to reset the blockchain and it just dies on me.

        This is all good feedback Mushroomized. Is the 'it sometimes doesn't let me send my money" the thing about unconfirmed change ? If so, then yeah we have a plan for that. If it is something else please give some more detail.

        The 'it just dies on me' I would like to know more about. What platform are you running on ? I have seen that very occasionally on the Linux VM I use for testing. It is a difficult one to get to the bottom of so any information you have would be useful.


        Title: Re: MultiBit
        Post by: jim618 on October 09, 2012, 07:42:30 PM
        I have updated the MultiBit layout for when it is displaying right-to-left languages like Arabic, Farsi, Hebrew.
        It is not perfect but I think it is now usable.
        Screenshot in Farsi:

        http://multibit.org/postImages/farsi2.png

        This will appear in the next live version 0.4.12 which should be this week.


        Title: Re: MultiBit
        Post by: ErebusBat on October 09, 2012, 08:59:19 PM
        Still not connecting :(

        Here is a complete log of the session: https://dl.dropbox.com/u/86939820/tmp/multibit_debug.log


        Title: Re: MultiBit
        Post by: jim618 on October 09, 2012, 09:26:56 PM
        I notice in that log that the HTTP gets that the currency ticker does are also failing.
        This can be if the MtGox server is busy (it just drops requests) but it can obviously also be caused by network problems.

        Also in the log the number of peers it finds is always 14. Normally in the two seconds it spends looking up network peers I get 80+ and the number varies.  My network is a laggy 3G connection.

        Can you describe what your network setup is please ?

        I have recently changed how it looks up the Bitcoin network peers so that it does a DNS lookup of all the seed nodes in parallel (on different threads). I think I will have to adjust the algorithm a bit as I suspect that is what is causing you problems.

        If you still have an old copy of multiBit 0.4.10 that would be a good test to see if that connnects ok. I made the peer lookup change in 0.4.11.

        Sorry that you are an unvolunteered tester.




        Title: Re: MultiBit
        Post by: ErebusBat on October 09, 2012, 09:43:57 PM
        I notice in that log that the HTTP gets that the currency ticker does are also failing.
        This can be if the MtGox server is busy (it just drops requests) but it can obviously also be caused by network problems.

        Also in the log the number of peers it finds is always 14. Normally in the two seconds it spends looking up network peers I get 80+ and the number varies.  My network is a laggy 3G connection.

        Can you describe what your network setup is please ?
        Fairly standard corporate connection.  Here is a traceroute to google:
        Code:
        $ traceroute www.google.com                                                                                                          1 ↵
        traceroute: Warning: www.google.com has multiple addresses; using 74.125.239.19
        traceroute to www.google.com (74.125.239.19), 64 hops max, 52 byte packets
         1  192.168.85.1 (192.168.85.1)  0.571 ms  1.016 ms  0.433 ms
         2  cpr-cbc-ws2-rtr.mwtn.net (66.62.70.33)  32.355 ms  23.231 ms  50.089 ms
         3  unused.mwtn.net (66.119.55.89)  33.394 ms  37.770 ms  14.982 ms
         4  cbc-cbc9-lnk.mwtn.net (66.62.71.73)  54.910 ms  23.515 ms  33.466 ms
         5  cbc-gsr.mwtn.net (66.119.48.150)  34.954 ms  28.013 ms  19.874 ms
         6  66.62.160.93 (66.62.160.93)  50.172 ms  28.976 ms  25.075 ms
         7  den1-core-01-ae1.360.net (66.62.2.193)  29.738 ms  39.243 ms  36.213 ms
         8  lax1-core-02-xe-3-0-0.360.net (66.62.2.174)  68.732 ms  59.549 ms  69.827 ms
         9  google.com.any2ix.coresite.com (206.223.143.41)  110.151 ms  63.516 ms  64.764 ms
        10  64.233.174.31 (64.233.174.31)  65.213 ms  182.785 ms  80.082 ms
        11  216.239.43.148 (216.239.43.148)  54.831 ms  78.751 ms  54.192 ms
        12  lax04s09-in-f19.1e100.net (74.125.239.19)  60.131 ms  76.823 ms  119.900 ms

        Quote
        I have recently changed how it looks up the Bitcoin network peers so that it does a DNS lookup of all the seed nodes in parallel (on different threads). I think I will have to adjust the algorithm a bit as I suspect that is what is causing you problems.

        If you still have an old copy of multiBit 0.4.10 that would be a good test to see if that connnects ok. I made the peer lookup change in 0.4.11.
        I did, and it exhibits the same (broken?) behavior  so it doesn't look like it was peer lookup change.  The logs looks pretty much the same so I didn't include it.

        Quote
        Sorry that you are an unvolunteered tester.
        No worries, I don't mind.  Thank you for the support.

        EDIT:  here is what I am getting for DNS results:
        Code:
        $ dig +short bitseed.xf2.org                                                                                                       130 ↵
        212.7.0.70
        46.19.139.106
        62.75.216.13
        69.64.34.118
        69.64.46.74
        69.164.196.4
        87.139.154.234
        91.121.66.59
        91.121.120.119
        177.71.186.54
        184.174.133.70
        204.9.55.71
        207.164.207.29


        Title: Re: MultiBit
        Post by: jim618 on October 09, 2012, 10:03:38 PM
        It is a possible workaround rather than a fix but you could try connecting to a specific node.
        MultiBit will then not do any peer discovery but just connect to the single node specified.

        In you multibit.properties add:
        singleNodeConnection=12.34.56.78

        Where 12.34.56.78 is the IP address of your favourite Satoshi node.
        The singleNodeConnection is case sensitive.

        Someone requested it for connecting to their local Satoshi client on their local network but you should be able to connect to anywhere.


        Title: Re: MultiBit
        Post by: ErebusBat on October 09, 2012, 10:14:37 PM
        It is a possible workaround rather than a fix but you could try connecting to a specific node.
        MultiBit will then not do any peer discovery but just connect to the single node specified.

        In you multibit.properties add:
        singleNodeConnection=12.34.56.78

        Where 12.34.56.78 is the IP address of your favourite Satoshi node.
        The singleNodeConnection is case sensitive.

        Someone requested it for connecting to their local Satoshi client on their local network but you should be able to connect to anywhere.
        I am glad to know this as I keep a fully synced node on my network for this purpose anyway.

        HOWEVER... I still get no connection, and attempting to get bitcoind to add it as a node fails as well... this is very very strange as I don't have anything blocking the connection (that I am aware of).

        It is obviously an issue on my end, I will take my laptop home tonight and see what it does there.


        Title: Re: MultiBit
        Post by: Mushroomized on October 09, 2012, 10:50:23 PM
        While I use this client from time to time, the biggest issue I have with it is that it sometimes doesn't let me send my money, and I have to reset the blockchain and it just dies on me.

        This is all good feedback Mushroomized. Is the 'it sometimes doesn't let me send my money" the thing about unconfirmed change ? If so, then yeah we have a plan for that. If it is something else please give some more detail.

        The 'it just dies on me' I would like to know more about. What platform are you running on ? I have seen that very occasionally on the Linux VM I use for testing. It is a difficult one to get to the bottom of so any information you have would be useful.
        by "it just dies on me" I mean, after resetting the blockchain I still cant use my coins, and have to re install the client.  I should have explained :P Although I have had it crash a few times on linux mint 64 bit.


        Title: Re: MultiBit
        Post by: jim618 on October 10, 2012, 11:33:21 AM
        In the latest version of bitcoinj (V0.6) is the ability to track the 'transaction confidence'.

        One of the measures available is the number of peers that have seen the transaction.
        MultiBit typically connects to four peers. If all four have seen the transaction it has most probably propagated out across the network. If only one has seen it then you cannot be too sure of its provenance.

        I have added the ability to visualise the confidence of a transaction by updating the icon in the 'Status' field in the 'Transactions' tab.
        Have a look at the screenshot:

        http://multibit.org/postImages/confidence.png

        The mantra I am using is:
            Spikey is dicey. More round is more sound.

        The screen updates as the transactions get seen by more peers in real time.
        It is a bit of an experiment in visualising this information so am interested in feedback if you think it is useful or not.

        The tooltip for the transaction also gives the number of peers e.g.:
            This transaction is not yet confirmed
            Seen by 3 peers.

        It will go in the next live release.


        Title: Re: MultiBit
        Post by: jim618 on October 10, 2012, 03:55:05 PM
        I have put some more network information on the tooltip for the 'Online/Connecting..." indicator:

        http://multibit.org/postImages/networkTooltip.png

        edit: there are also more details in the log file about exactly which peers are being connected to and if it is successful or not (to try to pin down ErebusBat's connectivity problem).


        Title: Re: MultiBit
        Post by: jim618 on October 11, 2012, 02:37:01 PM
        There is a new live release of MultiBit at:

        multibit.org (http://multibit.org)


        Version 0.4.12

        Enhancements:
        + Farsi/ Persian translation 100%
        + "Online/ Connecting..." tooltip now also shows date of last block and number of connected peers.
        + Transaction icon visualises propagation of transaction across peers.
        + Various code hardening/ extra logging.


        Scan of release checklist (http://multibit.org/test/releaseCheckList-0.4.12.jpg)


        Title: Re: MultiBit
        Post by: ErebusBat on October 11, 2012, 03:28:56 PM
        It is a possible workaround rather than a fix but you could try connecting to a specific node.
        MultiBit will then not do any peer discovery but just connect to the single node specified.

        In you multibit.properties add:
        singleNodeConnection=12.34.56.78

        Where 12.34.56.78 is the IP address of your favourite Satoshi node.
        The singleNodeConnection is case sensitive.

        Someone requested it for connecting to their local Satoshi client on their local network but you should be able to connect to anywhere.
        I am glad to know this as I keep a fully synced node on my network for this purpose anyway.

        HOWEVER... I still get no connection, and attempting to get bitcoind to add it as a node fails as well... this is very very strange as I don't have anything blocking the connection (that I am aware of).

        It is obviously an issue on my end, I will take my laptop home tonight and see what it does there.

        Jim (& Others):

        Found the issue... I had an old firewall rule to forward port 8333 to a server I had setup to run bitcoind.  This forward was NOT my internal IP.  As soon as I disabled it then BAM MultiBit would connect on startup.

        However very oddly at my home where I also have the same rule (although it goes to an active server) it did connect without incident.

        Anyway if anyone else complains you may want to have them check for old/invalid firewall rules.


        Title: Re: MultiBit
        Post by: jim618 on October 11, 2012, 04:52:58 PM
        Hi ErebusBat,

        Good to know that you found the root cause. As a side effect there is more logging in MultiBit now for the peer connections so that may very help someone else in the future.

        It is quite interesting it being your firewall actually. Because bitcoind aren't authenticated if an attacker controls your network neighbourhood (eg imagine your firewall was malicious) it can completely mess you around.

        If anyone has any ideas on detecting this I would be interested to hear them. I can't think of a simple way to tell if I have been sandboxed by an attacker.


        Title: Re: MultiBit
        Post by: ErebusBat on October 11, 2012, 05:00:45 PM
        Hi ErebusBat,

        Good to know that you found the root cause. As a side effect there is more logging in MultiBit now for the peer connections so that may very help someone else in the future.

        It is quite interesting it being your firewall actually. Because bitcoind aren't authenticated if an attacker controls your network neighbourhood (eg imagine your firewall was malicious) it can completely mess you around.

        If anyone has any ideas on detecting this I would be interested to hear them. I can't think of a simple way to tell if I have been sandboxed by an attacker.
        At this point it would appear to be only a DOS attack.  I guess they could do a MITM attack and keep block from you or feed you 'bad' blocks, but I think that is only a more advanced DOS attack.

        To clarify the problem:
        My Laptop: 192.168.1.70
        (Old Server): 192.168.1.182

        There was a dstnat rule on my router to forward incoming requests on port 8333 to 192.168.1.182.  This server has since been moved and off this network.

        So I think what is/was happening is I attempted to make a connection to a node which tried to connect back and the connection was accepted by my FW then forwarded into a blackhole.  However this is pure speculation because my knowledge of how the NAT detection code in bitcoind works is non-existant.

        I would speculate that this works at my house because the other bitcoind accepting the incoming requests is most likely detected (probably by some sort of ID echo) which also triggers the NAT code.


        Title: Re: MultiBit
        Post by: jim618 on October 11, 2012, 07:03:18 PM
        Playing around with MultiBit tonight I spotted a bug in the 'Charts' page.
        The chart and tab headers go blank, here is a screen shot:

        http://multibit.org/postImages/xchart.png (http://multibit.org/postImages/xchart.png)

        I do have a stack trace of the error so have asked Tim Molter (the XChart library author) to have a look.

        If you click on one of the other tab headings the screen goes back to normal so it is recoverable.
        I didn't see it at all in testing this morning so I don't know exactly what the cause of it is yet.

        edit: This is caused by the vertically rotated text for the Y axis heading. I have removed it and the charts appear ok.


        Title: Re: MultiBit
        Post by: jim618 on October 14, 2012, 04:45:32 PM
        I have added the peer propagation icon (and some descriptive text) onto the 'Send Confirm Dialog' as follows:

        http://multibit.org/postImages/confirmDialogPeers.png

        When you do a send, MultiBit sends the transaction to one peer, and then listens on all the other peers it is connected to for it to be transmitted back (as the transaction propagates through the network). The icon and text change as more peers see it.


        Title: Re: MultiBit
        Post by: jim618 on October 15, 2012, 10:28:14 AM
        Whilst working on the 'Send Confirm' dialog, I have tweaked it so that the 'Send' button is only enabled once MultiBit has a connected peer.

        Screenshot:
        http://multibit.org/postImages/confirmDialogMustBeOnline.png

        When the first peer connects the button is enabled and the text disappears.

        Previously MultiBit would queue the send of the transaction until a peer appeared, but this creates a bit of "Send Anxiety". If you are not online it looks like it sent it but actually it is queued for send.

        It seemed clearer just to wait until there was definitely a connection available.



        Title: Re: MultiBit
        Post by: damnek on October 15, 2012, 05:12:59 PM
        Hi Jim,

        I'm considering using multibit as my main bitcoin client now, as the satoshi client is simply becoming too slow for me.
        I have two small suggestions:
         - scrolling up and down using my mouse wheel in the settings panel goes very slow
         - show the QR codes by default and allow the user to hide them (I didn't understand the green + and there is enough room anyway)
        Also, the graphs don't work on my computer. The menu becomes a bit unresponsive when I click on the option.

        Thanks for all your work on mutltibit!


        Title: Re: MultiBit
        Post by: jim618 on October 15, 2012, 05:39:18 PM
        Hi damnek,

        Thanks for your feedback.
        Yes I must admit my Satoshi client is never up to date now - hopefully the work Pieter+Mike are doing will improve things.

        Re: your suggestions:

        Scrolling - I don't know if there is much I can do as that would be in the hardware/OS code but I will have a look.
        Using googlefu I have set what I believe is the right setting to adjust the mouse scroll speed. (As I have a trackpad I cannot tell so let me know after the next release if it fixes it).

        QR code on by default. Yes I will change this I think otherwise people miss the functionality.
        Graphs - this bug is fixed so they should appear properly in the next release.

        If you start storing non-trivial amounts on MultiBit please, please, please make sure you backup your private keys and/ or wallets. (I normally export the private keys to an encrypted file and then copy all of the wallet/info/key files onto a couple of USB drives. The private keys are the crucial information).



        Title: Re: MultiBit
        Post by: Daily Anarchist on October 16, 2012, 04:03:42 AM
        I'm getting serious errors and cannot run multibit.

        I've installed it on this same machine in the past with Ubuntu 12.04 and it worked fine. But recently I gave my computer a fresh install of Ubuntu and cleaned things up. In my attempt to reinstall MultiBit I am having difficulties I never had before.

        My first one came with needing to install java. No problem. I hadn't yet done that with my fresh install.

        Here is everything that happened during my console installation. My apologies for not putting it in a scroll window. I just spent 10 minutes trying to figure out how to do that. I've never known. Somebody please tell me!

        seth@oldbox:~/Downloads$ ls
        multibit-0.4.12-linux.jar  wireless_driver
        seth@oldbox:~/Downloads$ chmod +x multibit-0.4.12-linux.jar
        seth@oldbox:~/Downloads$ java -jar multibit-0.4.12-linux.jar
        The program 'java' can be found in the following packages:
         * default-jre
         * gcj-4.6-jre-headless
         * openjdk-6-jre-headless
         * gcj-4.5-jre-headless
         * openjdk-7-jre-headless
        Try: sudo apt-get install <selected package>
        seth@oldbox:~/Downloads$ sudo apt-get install openjdk-7-jre-headless
        [sudo] password for seth:
        Reading package lists... Done
        Building dependency tree       
        Reading state information... Done
        The following packages were automatically installed and are no longer required:
          linux-headers-3.2.0-29 linux-headers-3.2.0-29-generic-pae
        Use 'apt-get autoremove' to remove them.
        The following extra packages will be installed:
          ca-certificates-java icedtea-7-jre-jamvm java-common openjdk-7-jre-lib
          tzdata-java
        Suggested packages:
          default-jre equivs sun-java6-fonts ttf-dejavu-extra fonts-ipafont-gothic
          fonts-ipafont-mincho ttf-telugu-fonts ttf-oriya-fonts ttf-kannada-fonts
          ttf-bengali-fonts
        The following NEW packages will be installed:
          ca-certificates-java icedtea-7-jre-jamvm java-common openjdk-7-jre-headless
          openjdk-7-jre-lib tzdata-java
        0 upgraded, 6 newly installed, 0 to remove and 1 not upgraded.
        Need to get 44.1 MB of archives.
        After this operation, 63.4 MB of additional disk space will be used.
        Do you want to continue [Y/n]? Y
        Get:1 http://us.archive.ubuntu.com/ubuntu/ precise-updates/universe openjdk-7-jre-lib all 7u7-2.3.2a-0ubuntu0.12.04.1 [5,536 kB]
        Get:2 http://us.archive.ubuntu.com/ubuntu/ precise/main ca-certificates-java all 20110912ubuntu6 [8,186 B]
        Get:3 http://us.archive.ubuntu.com/ubuntu/ precise-updates/main tzdata-java all 2012e-0ubuntu0.12.04.1 [140 kB]
        Get:4 http://us.archive.ubuntu.com/ubuntu/ precise/main java-common all 0.43ubuntu2 [61.7 kB]
        Get:5 http://us.archive.ubuntu.com/ubuntu/ precise-updates/universe openjdk-7-jre-headless i386 7u7-2.3.2a-0ubuntu0.12.04.1 [37.8 MB]
        Get:6 http://us.archive.ubuntu.com/ubuntu/ precise-updates/universe icedtea-7-jre-jamvm i386 7u7-2.3.2a-0ubuntu0.12.04.1 [538 kB]
        Fetched 44.1 MB in 2min 46s (265 kB/s)                                         
        Selecting previously unselected package openjdk-7-jre-lib.
        (Reading database ... 170742 files and directories currently installed.)
        Unpacking openjdk-7-jre-lib (from .../openjdk-7-jre-lib_7u7-2.3.2a-0ubuntu0.12.04.1_all.deb) ...
        Selecting previously unselected package ca-certificates-java.
        Unpacking ca-certificates-java (from .../ca-certificates-java_20110912ubuntu6_all.deb) ...
        Selecting previously unselected package tzdata-java.
        Unpacking tzdata-java (from .../tzdata-java_2012e-0ubuntu0.12.04.1_all.deb) ...
        Selecting previously unselected package java-common.
        Unpacking java-common (from .../java-common_0.43ubuntu2_all.deb) ...
        Selecting previously unselected package openjdk-7-jre-headless.
        Unpacking openjdk-7-jre-headless (from .../openjdk-7-jre-headless_7u7-2.3.2a-0ubuntu0.12.04.1_i386.deb) ...
        Selecting previously unselected package icedtea-7-jre-jamvm.
        Unpacking icedtea-7-jre-jamvm (from .../icedtea-7-jre-jamvm_7u7-2.3.2a-0ubuntu0.12.04.1_i386.deb) ...
        Processing triggers for doc-base ...
        Processing 2 added doc-base files...
        Processing triggers for man-db ...
        Setting up tzdata-java (2012e-0ubuntu0.12.04.1) ...
        Setting up java-common (0.43ubuntu2) ...
        Setting up openjdk-7-jre-headless (7u7-2.3.2a-0ubuntu0.12.04.1) ...
        update-alternatives: using /usr/lib/jvm/java-7-openjdk-i386/jre/bin/java to provide /usr/bin/java (java) in auto mode.
        update-alternatives: using /usr/lib/jvm/java-7-openjdk-i386/jre/bin/keytool to provide /usr/bin/keytool (keytool) in auto mode.
        update-alternatives: using /usr/lib/jvm/java-7-openjdk-i386/jre/bin/pack200 to provide /usr/bin/pack200 (pack200) in auto mode.
        update-alternatives: using /usr/lib/jvm/java-7-openjdk-i386/jre/bin/rmid to provide /usr/bin/rmid (rmid) in auto mode.
        update-alternatives: using /usr/lib/jvm/java-7-openjdk-i386/jre/bin/rmiregistry to provide /usr/bin/rmiregistry (rmiregistry) in auto mode.
        update-alternatives: using /usr/lib/jvm/java-7-openjdk-i386/jre/bin/unpack200 to provide /usr/bin/unpack200 (unpack200) in auto mode.
        update-alternatives: using /usr/lib/jvm/java-7-openjdk-i386/jre/bin/orbd to provide /usr/bin/orbd (orbd) in auto mode.
        update-alternatives: using /usr/lib/jvm/java-7-openjdk-i386/jre/bin/servertool to provide /usr/bin/servertool (servertool) in auto mode.
        update-alternatives: using /usr/lib/jvm/java-7-openjdk-i386/jre/bin/tnameserv to provide /usr/bin/tnameserv (tnameserv) in auto mode.
        update-alternatives: using /usr/lib/jvm/java-7-openjdk-i386/jre/lib/jexec to provide /usr/bin/jexec (jexec) in auto mode.
        Setting up ca-certificates-java (20110912ubuntu6) ...
        Adding debian:CNNIC_ROOT.pem
        Adding debian:TC_TrustCenter__Germany__Class_3_CA.pem
        Adding debian:GlobalSign_Root_CA.pem
        Adding debian:Secure_Global_CA.pem
        Adding debian:VeriSign_Universal_Root_Certification_Authority.pem
        Adding debian:Entrust_Root_Certification_Authority.pem
        Adding debian:Starfield_Root_Certificate_Authority_-_G2.pem
        Adding debian:TURKTRUST_Certificate_Services_Provider_Root_2.pem
        Adding debian:RSA_Security_2048_v3.pem
        Adding debian:Certplus_Class_2_Primary_CA.pem
        Adding debian:SwissSign_Gold_CA_-_G2.pem
        Adding debian:QuoVadis_Root_CA_2.pem
        Adding debian:TC_TrustCenter__Germany__Class_2_CA.pem
        Adding debian:GlobalSign_Root_CA_-_R2.pem
        Adding debian:Certinomis_-_Autorité_Racine.pem
        Adding debian:TDC_Internet_Root_CA.pem
        Adding debian:ssl-cert-snakeoil.pem
        Adding debian:GeoTrust_Universal_CA.pem
        Adding debian:Staat_der_Nederlanden_Root_CA.pem
        Adding debian:COMODO_Certification_Authority.pem
        Adding debian:Swisscom_Root_CA_1.pem
        Adding debian:Izenpe.com.pem
        Adding debian:thawte_Primary_Root_CA_-_G2.pem
        Adding debian:VeriSign_Class_3_Public_Primary_Certification_Authority_-_G4.pem
        Adding debian:Verisign_Class_1_Public_Primary_Certification_Authority.pem
        Adding debian:Comodo_Secure_Services_root.pem
        Adding debian:America_Online_Root_Certification_Authority_1.pem
        Adding debian:Taiwan_GRCA.pem
        Adding debian:ValiCert_Class_2_VA.pem
        Adding debian:NetLock_Arany_=Class_Gold=_Főtanúsítvány.pem
        Adding debian:ACEDICOM_Root.pem
        Adding debian:Camerfirma_Global_Chambersign_Root.pem
        Adding debian:NetLock_Express_=Class_C=_Root.pem
        Adding debian:Starfield_Services_Root_Certificate_Authority_-_G2.pem
        Adding debian:Deutsche_Telekom_Root_CA_2.pem
        Adding debian:Autoridad_de_Certificacion_Firmaprofesional_CIF_A62634068.pem
        Adding debian:AffirmTrust_Networking.pem
        Adding debian:TC_TrustCenter_Universal_CA_I.pem
        Adding debian:DST_Root_CA_X3.pem
        Adding debian:GeoTrust_Global_CA_2.pem
        Adding debian:AddTrust_Public_Services_Root.pem
        Adding debian:Digital_Signature_Trust_Co._Global_CA_1.pem
        Adding debian:Verisign_Class_1_Public_Primary_Certification_Authority_-_G2.pem
        Adding debian:Staat_der_Nederlanden_Root_CA_-_G2.pem
        Adding debian:Thawte_Premium_Server_CA.pem
        Adding debian:Verisign_Class_1_Public_Primary_Certification_Authority_-_G3.pem
        Adding debian:AffirmTrust_Premium_ECC.pem
        Adding debian:Sonera_Class_2_Root_CA.pem
        Adding debian:NetLock_Business_=Class_B=_Root.pem
        Adding debian:GeoTrust_Primary_Certification_Authority.pem
        Adding debian:Buypass_Class_2_CA_1.pem
        Adding debian:E-Guven_Kok_Elektronik_Sertifika_Hizmet_Saglayicisi.pem
        Adding debian:Certum_Trusted_Network_CA.pem
        Adding debian:TWCA_Root_Certification_Authority.pem
        Adding debian:GeoTrust_Universal_CA_2.pem
        Adding debian:Starfield_Class_2_CA.pem
        Adding debian:UTN_USERFirst_Hardware_Root_CA.pem
        Adding debian:DigiCert_Assured_ID_Root_CA.pem
        Adding debian:Hongkong_Post_Root_CA_1.pem
        Adding debian:Sonera_Class_1_Root_CA.pem
        Adding debian:DigiCert_High_Assurance_EV_Root_CA.pem
        Adding debian:COMODO_ECC_Certification_Authority.pem
        Adding debian:UTN_DATACorp_SGC_Root_CA.pem
        Adding debian:AffirmTrust_Commercial.pem
        Adding debian:GeoTrust_Primary_Certification_Authority_-_G2.pem
        Adding debian:WellsSecure_Public_Root_Certificate_Authority.pem
        Adding debian:GTE_CyberTrust_Global_Root.pem
        Adding debian:IGC_A.pem
        Adding debian:DigiCert_Global_Root_CA.pem
        Adding debian:Certigna.pem
        Adding debian:Equifax_Secure_eBusiness_CA_1.pem
        Adding debian:Go_Daddy_Class_2_CA.pem
        Adding debian:A-Trust-nQual-03.pem
        Adding debian:Comodo_Trusted_Services_root.pem
        Adding debian:Network_Solutions_Certificate_Authority.pem
        Adding debian:ca.pem
        Adding debian:AddTrust_Qualified_Certificates_Root.pem
        Adding debian:Verisign_Class_3_Public_Primary_Certification_Authority.pem
        Adding debian:CA_Disig.pem
        Adding debian:Verisign_Class_2_Public_Primary_Certification_Authority_-_G2.pem
        Adding debian:Equifax_Secure_Global_eBusiness_CA.pem
        Adding debian:Thawte_Server_CA.pem
        Adding debian:NetLock_Qualified_=Class_QA=_Root.pem
        Adding debian:TC_TrustCenter_Universal_CA_III.pem
        Adding debian:Microsec_e-Szigno_Root_CA.pem
        Adding debian:America_Online_Root_Certification_Authority_2.pem
        Adding debian:Entrust.net_Premium_2048_Secure_Server_CA.pem
        Adding debian:Cybertrust_Global_Root.pem
        Adding debian:NetLock_Notary_=Class_A=_Root.pem
        Adding debian:TC_TrustCenter_Class_2_CA_II.pem
        Adding debian:Equifax_Secure_eBusiness_CA_2.pem
        Adding debian:AC_Raíz_Certicámara_S.A..pem
        Adding debian:TDC_OCES_Root_CA.pem
        Adding debian:Camerfirma_Chambers_of_Commerce_Root.pem
        Adding debian:Entrust.net_Secure_Server_CA.pem
        Adding debian:Verisign_Class_2_Public_Primary_Certification_Authority.pem
        Adding debian:Comodo_AAA_Services_root.pem
        Adding debian:Equifax_Secure_CA.pem
        Adding debian:UbuntuOne-Go_Daddy_Class_2_CA.pem
        Adding debian:Verisign_Class_4_Public_Primary_Certification_Authority_-_G3.pem
        Adding debian:Firmaprofesional_Root_CA.pem
        Adding debian:Security_Communication_Root_CA.pem
        Adding debian:AddTrust_External_Root.pem
        Adding debian:Verisign_Class_2_Public_Primary_Certification_Authority_-_G3.pem
        Adding debian:Global_Chambersign_Root_-_2008.pem
        Adding debian:cacert.org.pem
        Adding debian:RSA_Root_Certificate_1.pem
        Adding debian:Buypass_Class_3_CA_1.pem
        Adding debian:Go_Daddy_Root_Certificate_Authority_-_G2.pem
        Adding debian:thawte_Primary_Root_CA.pem
        Adding debian:Wells_Fargo_Root_CA.pem
        Adding debian:ValiCert_Class_1_VA.pem
        Adding debian:StartCom_Certification_Authority.pem
        Adding debian:Microsec_e-Szigno_Root_CA_2009.pem
        Adding debian:EBG_Elektronik_Sertifika_Hizmet_Sağlayıcısı.pem
        Adding debian:Visa_eCommerce_Root.pem
        Adding debian:Baltimore_CyberTrust_Root.pem
        Adding debian:ePKI_Root_Certification_Authority.pem
        Adding debian:UTN_USERFirst_Email_Root_CA.pem
        Adding debian:TÜBİTAK_UEKAE_Kök_Sertifika_Hizmet_Sağlayıcısı_-_Sürüm_3.pem
        Adding debian:ApplicationCA_-_Japanese_Government.pem
        Adding debian:thawte_Primary_Root_CA_-_G3.pem
        Adding debian:Digital_Signature_Trust_Co._Global_CA_3.pem
        Adding debian:GeoTrust_Primary_Certification_Authority_-_G3.pem
        Adding debian:S-TRUST_Authentication_and_Encryption_Root_CA_2005_PN.pem
        Adding debian:TURKTRUST_Certificate_Services_Provider_Root_1.pem
        Adding debian:spi-cacert-2008.pem
        Adding debian:AffirmTrust_Premium.pem
        Adding debian:Certum_Root_CA.pem
        Adding debian:Verisign_Class_3_Public_Primary_Certification_Authority_-_G3.pem
        Adding debian:DST_ACES_CA_X6.pem
        Adding debian:AddTrust_Low-Value_Services_Root.pem
        Adding debian:VeriSign_Class_3_Public_Primary_Certification_Authority_-_G5.pem
        Adding debian:SecureTrust_CA.pem
        Adding debian:spi-ca-2003.pem
        Adding debian:Chambers_of_Commerce_Root_-_2008.pem
        Adding debian:SecureSign_RootCA11.pem
        Adding debian:XRamp_Global_CA_Root.pem
        Adding debian:GeoTrust_Global_CA.pem
        Adding debian:Juur-SK.pem
        Adding debian:OISTE_WISeKey_Global_Root_GA_CA.pem
        Adding debian:Verisign_Class_3_Public_Primary_Certification_Authority_-_G2.pem
        Adding debian:QuoVadis_Root_CA_3.pem
        Adding debian:Security_Communication_EV_RootCA1.pem
        Adding debian:Root_CA_Generalitat_Valenciana.pem
        Adding debian:SwissSign_Platinum_CA_-_G2.pem
        Adding debian:certSIGN_ROOT_CA.pem
        Adding debian:ComSign_Secured_CA.pem
        Adding debian:TC_TrustCenter_Class_3_CA_II.pem
        Adding debian:GlobalSign_Root_CA_-_R3.pem
        Adding debian:Verisign_Class_4_Public_Primary_Certification_Authority_-_G2.pem
        Adding debian:QuoVadis_Root_CA.pem
        Adding debian:ComSign_CA.pem
        Adding debian:UbuntuOne-Go_Daddy_CA.pem
        Adding debian:SwissSign_Silver_CA_-_G2.pem
        done.
        Setting up icedtea-7-jre-jamvm (7u7-2.3.2a-0ubuntu0.12.04.1) ...
        Setting up openjdk-7-jre-lib (7u7-2.3.2a-0ubuntu0.12.04.1) ...
        seth@oldbox:~/Downloads$ java -jar multibit-0.4.12-linux.jar
        Welcome to the installation of MultiBit 0.4.12!
        The homepage is at: http://multibit.org/
        press 1 to continue, 2 to quit, 3 to redisplay
        1
        Copyright (c) 2012 MultiBit Developers
        Permission is hereby granted, free of charge, to any person
        obtaining a copy of this software and associated documentation
        files (the "Software"), to deal in the Software without
        restriction, including without limitation the rights to use,
        copy, modify, merge, publish, distribute, sublicense, and/or
        sell copies of the Software, and to permit persons to whom
        the Software is furnished to do so, subject to the following
        conditions:
        The above copyright notice and this permission notice shall
        be included in all copies or substantial portions of the Software.
        THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
        EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
        OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
        NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
        HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
        WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
        FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE
        OR OTHER DEALINGS IN THE SOFTWARE.
        press 1 to accept, 2 to reject, 3 to redisplay
        1
        Select target path [/home/seth/Downloads]

        press 1 to continue, 2 to quit, 3 to redisplay
        1
        [ Starting to unpack ]
        [ Processing package: MultiBit (1/1) ]
        [ Unpacking finished ]
        Install was successful
        application installed on /home/seth/Downloads
        [ Console installation done ]
        seth@oldbox:~/Downloads$ java -jar multibit-exe.jar
        23:36:13.524 [main] INFO  o.m.ApplicationDataDirectoryLocator - Application data directory.1 = '/home/seth/MultiBit'
        23:36:13.553 [main] INFO  o.m.ApplicationDataDirectoryLocator - Application data directory.1 - Log files are '/home/seth/MultiBit/multibit_console.log' and '/home/seth/MultiBit/multibit_debug.log'.
        seth@oldbox:~/Downloads$ cd /home/seth/MultiBit
        seth@oldbox:~/MultiBit$ java -jar multibit-exe.jar
        Error: Unable to access jarfile multibit-exe.jar
        seth@oldbox:~/MultiBit$ cd /home/seth/Downloads
        seth@oldbox:~/Downloads$ java -jar multibit-exe.jar
        23:40:26.624 [main] INFO  o.m.ApplicationDataDirectoryLocator - Application data directory.1 = '/home/seth/MultiBit'
        23:40:26.668 [main] INFO  o.m.ApplicationDataDirectoryLocator - Application data directory.1 - Log files are '/home/seth/MultiBit/multibit_console.log' and '/home/seth/MultiBit/multibit_debug.log'.
        seth@oldbox:~/Downloads$ less /home/seth/MultiBit/multibit_debug.log
        /home/seth/MultiBit/multibit_debug.log: No such file or directory
        seth@oldbox:~/Downloads$ cd /home/seth/MultiBit
        seth@oldbox:~/MultiBit$ ls
        log  multibit.properties
        seth@oldbox:~/MultiBit$ cd ./log
        seth@oldbox:~/MultiBit/log$ ls
        multibit_console.log  multibit_debug.log
        seth@oldbox:~/MultiBit/log$ less multibit_debug.log
        seth@oldbox:~/MultiBit/log$

        And here is the tail end of my debug log:

        23:40:26.788 [main] DEBUG o.m.ApplicationInstanceManager - Listening for application instances on socket 8331
        23:40:26.790 [main] DEBUG org.multibit.MultiBit - userLanguageCode = en
        23:40:26.797 [main] DEBUG org.multibit.MultiBit - Creating model
        23:40:26.829 [main] DEBUG org.multibit.model.MultiBitModel - Initial view from properties file is '17'
        23:40:26.830 [main] DEBUG org.multibit.MultiBit - Setting look and feel
        23:40:27.237 [main] DEBUG org.multibit.MultiBit - Creating views
        23:40:27.374 [main] ERROR org.multibit.MultiBit - An unexpected error caused MultiBit to quit.
        23:40:27.375 [main] ERROR org.multibit.MultiBit - The error was 'java.awt.HeadlessException null'
        23:40:27.375 [main] ERROR org.multibit.MultiBit - Please read http://multibit.org/help_troubleshooting.html for help on troubleshooting.
        23:40:27.441 [main] DEBUG o.m.v.swing.action.ExitAction - Saving user preferences ...
        23:40:27.441 [main] DEBUG org.multibit.file.FileHandler - When writing wallets, there were 0
        23:40:27.470 [main] DEBUG o.m.v.swing.action.ExitAction - Shutting down Bitcoin URI checker ...
        23:40:27.471 [main] DEBUG o.m.ApplicationInstanceManager - Making request to shut down socket ...



        Title: Re: MultiBit
        Post by: jim618 on October 16, 2012, 04:59:14 AM
        That 'HeadlessException' at the bottom is caused by when MultiBit wants to create a graphical interface, ie a window, on a non graphical machine.

        I get it on our integration machine which has no display if I try to create a window with content in it.

        Do you have any MultiBit shortcuts generated in your menu and do they fail in the same way ?

        I think (not sure) it might be related to having X windows installed/available or not.


        Title: Re: MultiBit
        Post by: jim618 on October 16, 2012, 05:15:30 AM
        This discussion looks similar:
        http://stackoverflow.com/questions/5362512/unable-to-run-java-gui-programs-with-ubuntu (http://stackoverflow.com/questions/5362512/unable-to-run-java-gui-programs-with-ubuntu)

        They suggest it is the specific version of Java being used.


        Title: Re: MultiBit
        Post by: Daily Anarchist on October 16, 2012, 06:06:56 AM
        No shortcuts were created in my applications menu.

        Is there a way to completely uninstall Multibit and try again, maybe with a different java?

        Also, how do I post things inside smaller scroll down windows?


        Title: Re: MultiBit
        Post by: jim618 on October 16, 2012, 07:51:04 AM
        If you install a different version of Java MultiBit will pick it up when it starts.
        You don't need to reinstall MultiBit itself. (for future reference, you can uninstall MultiBit if you want using 'java -jar uninstaller.jar')

        To get a scroll window you surround the scroll text with 'code' tags. Select the text and then click the # button in the text formatting icons.


        Title: MultiBit translators no more notified on new strings, needed to be translate
        Post by: mila on October 16, 2012, 08:00:30 AM
        topic says it all. not a big issue, just pity to miss the early builds.
        i thought being notified in the past, not sure if really or just wishful thinking or where i got this idea from.


        Title: Re: MultiBit
        Post by: jim618 on October 16, 2012, 08:40:56 AM
        Hi Mila,

        Did you get the notification last night ?
        To save spamming people too much I normally do the notification mails when I add terms and know that I am preparing a release within a few days. That way it gives a chance for translators to 'catch the release'.

        I will start doing the notify emails a bit more (say after adding a larger number of terms too) if you think it would be helpful.


        Title: Re: MultiBit
        Post by: mila on October 16, 2012, 08:56:04 AM
        Did you get the notification last night ?

        no, I did not. thus my post about it.
        not sure what is best nor appropriate. I like your approach, send only occasional emails when untranslated string count reaches certain level.
        it just happened to me twice that i found 1-2 strings missing. that's all. I mean who is disturbed by a (bi-)weekly email that new strings are needed should create an email rule filter.

        wait, maybe I've disabled email notifications, lemme check that.
        1/4 of a facepalm ;)


        Title: Re: MultiBit
        Post by: jim618 on October 16, 2012, 09:46:42 AM
        Yeah I think you are right - I think I will start notifying a bit more.


        Title: Re: MultiBit
        Post by: Daily Anarchist on October 16, 2012, 05:05:50 PM
        Well, I have good news and bad news.

        The good news is I got multibit up and running. It seems my java wasn't installed. I needed to remove some packages first. So, once java was installed properly multibit installed properly.

        The bad news is that my wallet backups are old. I was under the impression that backed up wallets operated like the Satoshi client. After restoring my old system and importing my backed up wallets I see that I am missing about 10 days worth of deposits to those wallets. Am I correct in thinking that the money is gone or am I doing something wrong?


        Title: Re: MultiBit
        Post by: jim618 on October 16, 2012, 05:25:19 PM
        Hi Daily Anarchist,

        That is good that you got it running.

        The wallets have a logical connection to the blockchain, in that as new blocks appear they are searched for any transactions relevant to the wallets and then these transactions are put in the wallet. This is done as the blocks appear.

        As you have a fresh install the new MultiBit has seen that it has no wallets (yet) and so updated directly to the head of the blockchain.
        What MultiBit *should* do when a wallet is opened is check the last block that the wallet saw and go back and sync to that date. I say *should* because I have not implemented that so you have to do it manually.

        Actually I would wait for a day or two until the next MultiBit release (0.4.13) as I have been doing some bug fixes and improvements in this area.

        What you do is:
         1) go to the 'Tools | Reset blockchain and transactions' page.
         2) click on the 'Specify reset date' and choose a date before the period that you are missing transactions.
         3) click on the 'Reset blockchain and transactions'.
         4) MultiBit then replays the blocks from that date - just let it run and any transactions from that period will appear in your wallets.

        It is worth just leaving it to 'do its thing' when it is replaying the blocks so that it updates fully.

        I hope that makes sense !
        Like I say, I've been doing some bug fixes in this area (amoungst others) so I recommend waiting for MultiBit 0.4.13 as it might save you some effort.


        Title: Re: MultiBit
        Post by: Daily Anarchist on October 16, 2012, 05:57:33 PM
        Is it easy to upgrade or do I need to uninstall, reinstall?

        I'll wait for the upgrade.


        Title: Re: MultiBit
        Post by: jim618 on October 16, 2012, 06:05:32 PM
        For the code on the multibit.org website, it is pretty easy to upgrade as all the wallets/ user data are separate to the code.

        You run the installer (or on a Mac copy the app to the Applications directory) and when you open the new MultiBit it picks up all your wallets and settings.


        Uninstalling
        On Win and Linux, there is an 'uninstall' shortcut and on the Mac you just delete the 'MultiBit-old-version.app'.
        (I must admit I don't bother deleting the old versions as I use them for regression testing).


        For the record: The 0.5.x beta versions are slightly different in that they work in a 'sandbox' to keep the encrypted wallets separate to the production wallets.


        Title: Re: MultiBit
        Post by: ErebusBat on October 17, 2012, 12:50:03 AM
        Any idea when we may see the 0.5.x version?


        Title: Re: MultiBit
        Post by: jim618 on October 17, 2012, 07:24:26 AM
        I am hoping to get the 0.4.13 out today or tomorrow.

        Then I will put all the changes from the last few weeks into 0.5.5.
        I also want to add in automatic export of encrypted private keys when you add new receiving addresses. There is also a report of a bug that sometimes incorrectly stores the wallets in the old format (which could wipe the encrypted private keys) that I need to fix. Always backup your wallets.

        It is probably a week away.


        Title: Re: MultiBit
        Post by: Nachtwind on October 17, 2012, 08:40:04 AM
        Hi,
        Do you think there is a chance of adding some of the most basic rpc commands to multibit in future? Stuff like getbalance(wallet) maybe? Send and something to check if a address received something? That would be huge leap forward (at least for me)... besides that: Great work :0)


        Title: Re: MultiBit
        Post by: jim618 on October 17, 2012, 09:06:24 AM
        Hi Nachtwind,

        RPC and/or a command line onto the MultiBit data model would be useful but I don't plan to put RPC into MultiBit for a few reasons:
        1) it opens up the attack surface so people will start hunting for unsecured RPC ports. At the moment MultiBit is as silent as I can make it (and will become more so in the future).
        2) there is only so much a single dev can do
        3) a better RPC / command line solution would be to use the wallets and object model and do a console application that does everything. You do not need all the GUI code for a server - better to strip it all away.

        I did some initial work on this (MultiBitShell - there is a topic on it in this forum) based on a command line parser created by Mike Hearn. The MultiBit datamodel is pretty much all in bitcoinj format data. With the wallets now in protobuf format any C++, Java, python programmer can now parse the wallets.

        It would make an interesting project for someone to pick up but honestly I do not have the spare capacity to do it properly and securely.

        Jim


        Title: Re: MultiBit
        Post by: jim618 on October 17, 2012, 02:37:12 PM
        There is a new live release of MultiBit at:

        multibit.org (http://multibit.org)


        Version 0.4.13

        Enhancements:
        + Send confirm dialog shows peer propagation
        + Reset blockchain and transactions bug fix
        + Charts panel bug fix
        + Default fee set to 0.001 BTC
        + Mouse scroll wheel bug fix (hopefully)
        + Fix for currencies disappearing in currency ticker
        + Side panel now shown by default for new users


        Scan of release checklist (http://multibit.org/test/releaseCheckList-0.4.13.jpg)

        This release is mainly bug fixes and finishing the peer propagation work.


        Title: Re: MultiBit
        Post by: mila on October 18, 2012, 05:54:56 AM
        Scan of release checklist (http://multibit.org/test/releaseCheckList-0.4.13.jpg)

        thanks! big thumbs up (for the checklist)
        i had a big smile on my face going through it


        Title: Re: MultiBit
        Post by: jim618 on October 18, 2012, 06:12:25 AM
        Thanks !
        I don't think any dev actually enjoys testing but I find the discipline of going through a checklist pretty useful in finding errors and bugs. If they are minor I release it anyway and then look at them later on.


        Title: Re: MultiBit
        Post by: mila on October 18, 2012, 06:20:32 AM
        ... enjoys testing ...

        I hated it for the most part. And I could not find any bugs anyway (I wrote code for money around early 2000). I was 'testing' it all the time anyway during development. It was the QA folks who found the errors (and customers ofc). I'm glad to see you pay attention to it and like what I see.


        Title: Re: MultiBit
        Post by: auberon on October 20, 2012, 01:18:42 AM
        Hi, Jim,

        I tried searching this thread to see if anyone has run into the same problem as me and you answered already, but I wasn't able to find anything.  If you've answered a similar question before, I apologize.  :)

        I just recently installed MultiBit, and I tried to send coins for the first time two days ago.  The wallet has the available coins, and according to the transactions log, they were sent (and deducted from my balance), but the transaction has been stuck at "This transaction is not yet confirmed, seen by 1 peer" ever since.  It hasn't yet gone into a chain.

        I've tried looking for it in the logs to see if I could debug the issue myself, but I don't see it in them.

        I'm on version 0.4.12 and using Ubuntu 12.04 if you need to know that.  I'd appreciate any help you can give.  Thanks!


        Title: Re: MultiBit
        Post by: jim618 on October 20, 2012, 05:25:32 AM
        Hi auberon,

        The 'seen by 1 peer' transaction that subsequently does not get on the blockchain within an hour or two can be one of several things. I have tried to cover all the possibilities below.

        First of all, download the MultiBit 0.4.13 version that is on the multibit.org site. There are various bug fixes that have gone into the code in the last week.

        Secondly, if you have not done it already, do a 'Tools | Export Private Keys' and export your private keys to an encrypted file. This is just to make sure you have a backup of your private keys.


        The number of peers that has seen the transaction is useful to determine whether the transaction has:
        1) successfully been transmitted to the Bitcoin network
        2) the peer that you sent it to 'likes it' and has propagated it to other nodes (ie no double spends etc)

        If you see 'seen by 2 peers' or more then you can be pretty sure it is out in the Bitcoin network.
        With 'seen by 1 peer' you need to check on it's status manually. Go to the 'Transactions' tab, right click on the transaction, select 'View transaction details' and the 'view at blockchain.info'.

        This opens blockchain.info in a browser and searches for your transaction.

        If it finds it, see whether it is confirmed or unconfirmed.
        If it is confirmed ie on a block, do a 'Tools | Reset blockchain and transactions' for your wallet and the transaction should then appear and be confirmed (as it in the blockchain).

        If it is unconfirmed then it means it is still not on a block and you just have to wait. This can be caused by if it is a very small transaction with a very small fee set. If you search on the forum for details on 'bitcoin days' you can find out more about why this happens - it is a Bitcoin network thing rather than a MultiBit thing.

        If the transaction is not found then it indicates that the transaction was never sent properly, the transaction never propagated (perhaps a double spend) or some other reason. This needs more information to track down.

        I hope this gives you enough to investigate more.

        Regards,

        Jim



        Title: Re: MultiBit
        Post by: auberon on October 20, 2012, 07:25:52 AM
        Thanks, Jim.  I've upgraded to 0.4.13, thanks for letting me know it's out there.

        Well, I think I've figured out what's going on...to give you a bit more history, I installed MultiBit after being dissatisfied with StrongCoin, the online hybrid ewallet service.  I imported my private key from there to your program, and used the "reset blockchain" function to "move" my coins over.  (I had a discussion in another thread on this forum regarding that problem.)  StrongCoin has been coming up with a certificate expired issue the past several days (and there's yet another thread on this forum regarding THAT) and the bottom line is, I think they've been compromised and the issue is that my transaction looks like a "double send" to the chain.  The reason I think this is because I (fortunately) used a different wallet to import that key, and that's the one I tried to send coins from that created the issue I asked you about.  When I sent coins from my "primary" wallet, they went just fine.

        So much for StrongCoin being the "Safest EWallet on the Planet" ...


        Title: Re: MultiBit
        Post by: jim618 on October 20, 2012, 09:15:09 AM
        Glad you have it sorted.

        Exporting and importing private keys can be very useful but I must admit I normally just send the coin directly to transfer between wallets.  (Of course if you have a vanity address it is different as you need to keep that particular key).

        It is just too easy to convince yourself you are rich when you see coin in several wallets, when in fact it is the SAME coin repeated !

        I do not know about StrongCoin's architecture (ie where the private keys are) so cannot comment about your points about it. However if you are in any doubt about your private keys being secure you should move your funds to a newly created private key and not reuse an old one. (ie create a new receiving address in MultiBit and send the funds there). Otherwise anyone who gets access to your private keys can spend your coin in an instant.

        Also, whilst it is not quite ready for general release, there is a version of MultiBit with encrypted wallets available at :

        [URL]https://github.com/jim618/multibit/downloads[\URL]

        Usual provisos about always keep encrypted backups of your private keys apply.


        Title: Re: MultiBit
        Post by: mila on October 20, 2012, 12:30:58 PM
        could you add to the export list of pvt keys also the address?
        I mean, the list shows all keys with a datum but if I want to take the keys and use them separately, i have no idea (I do, but it can be a problem) which key holds what amount/is for which address.
        thanks (p.s. at the end of the line behind a comment sign add address, please?)


        Title: Re: MultiBit
        Post by: jim618 on October 20, 2012, 01:35:27 PM
        Hi Mila,

        Yes this is on my todo list as sometimes you only want to use particular keys as you mention.
        The file format is shared between Android Bitcoin Wallet and MultiBit so the address will have to be on a separate line as a comment (before the private key probably) so as not to affect parsing but that is minor.


        Title: Re: MultiBit
        Post by: jim618 on October 22, 2012, 11:09:16 AM
        In the upcoming 0.5.5 code I have added the automatic export of your private keys to an encrypted file when you:

        + Add encryption to a wallet
        + Change the wallet password
        + Add new receiving addresses (ie create new private keys).

        The private key export file is created in the same directory as the wallet as you can see in this screenshot:

        http://multibit.org/postImages/privateKeyBackup.png

        The private key export file is encrypted with your wallet password (the new one if you are changing the password).

        The idea here is that with a private key backup file you can recreate your wallet if you need to by doing a "Tools | Import Private Keys" (as long as you can remember your wallet password).

        edit: You can also decrypt the private key backup files directly on the command line using openssl, as described here:
        https://github.com/jim618/multibit/wiki/Export%20and%20limited%20import%20of%20private%20keys (https://github.com/jim618/multibit/wiki/Export%20and%20limited%20import%20of%20private%20keys)



        Title: Re: MultiBit
        Post by: jim618 on October 22, 2012, 01:49:53 PM
        It really needs to be configurable (the only way to keep everybody happy), but it will have to wait with all the other possible UI enhancements.


        Title: Re: MultiBit
        Post by: jim618 on October 22, 2012, 07:48:48 PM
        I just fixed a "unlikely to happen but nasty if it does" bug with the encrypted wallets. There is a particular error path where MultiBit mixes up encrypted and unencrypted wallet types. It is bad as you could lose your encrypted private keys.

        Anyhow, a fix has just gone into the v0.5.5 code.
        It means that once v0.5.5 has been used you won't be able to read your encrypted wallets with earlier versions of the v0.5.x code.

        For those interested, the root cause of the bug was:
        1) I added in a mandatory extension to the encrypted wallets so that the unencrypted MultiBit cannot read those wallets.
        2) Like an idiot, I then merged the code that recognises the encrypted wallets into the v0.4 code base, undoing everything I had done !



        Title: Re: MultiBit
        Post by: jim618 on October 23, 2012, 07:12:46 PM
        There is now an Arabic translation of MultiBit.
        Thanks to all the translators for their efforts.

        Screenshot:

        http://multibit.org/postImages/arabic.png

        It will appear in the next test release (which should be in a couple of days) and then the next live release (which will probably be at the beginning of next week).


        Title: Re: MultiBit
        Post by: ErebusBat on October 23, 2012, 07:35:30 PM
        Can't wait for the new 0.5.x line to come out :)


        Title: Re: MultiBit
        Post by: jim618 on October 24, 2012, 06:33:42 PM
        I got MultiBit running on my Raspberry Pi today so I thought I would post some photos:

        The overall setup - The RaspPi gets its internet via ethernet from my Mac's 3G dongle:

        http://multibit.org/postImages/raspberryTable.jpg (http://multibit.org/postImages/raspberryTable.jpg)

        And here is a close up of the screen with a couple of confirmed transactions:

        http://multibit.org/postImages/raspberryScreen.jpg (http://multibit.org/postImages/raspberryScreen.jpg)


        It runs quite slowly (the OpenJDK JRE I am using has no just-in-time compilation) and the installer hangs if you try to set up shortcuts but it works !

        :-)

        Jim


        Title: Re: MultiBit
        Post by: Mushroomized on October 24, 2012, 06:43:18 PM
        I got MultiBit running on my Raspberry Pi today so I thought I would post some photos:

        The overall setup - The RaspPi gets its internet via ethernet from my Mac's 3G dongle:

        http://multibit.org/postImages/raspberryTable.jpg (http://multibit.org/postImages/raspberryTable.jpg)

        And here is a close up of the screen with a couple of confirmed transactions:

        http://multibit.org/postImages/raspberryScreen.jpg (http://multibit.org/postImages/raspberryScreen.jpg)


        It runs quite slowly (the OpenJDK JRE I am using has no just-in-time-compilation) and the installer hangs if you try to set up shortcuts but it works !

        :-)

        Jim
        You should make a raspi based "bitcoin vault" client  ;)


        Title: Re: MultiBit
        Post by: jim618 on October 24, 2012, 06:53:08 PM
        It's pretty close.

        I think you could lock down the raspi's network access to just port 8333 connections to one or more specific satoshi clients.

        Nothing else open.
        No installed software - just the fresh Debian install, Java and MultiBit.
        Keep it unplugged and in your safe most of the time.

        Practically you would also want a watch only wallet on a different machine to see the coin in there. MultiBit does not support these yet (but could with a bit more work). When you want to spend you get it out your safe, connect it up, let it sync and send the coin.


        Title: Re: MultiBit
        Post by: phelix on October 24, 2012, 08:35:43 PM
        It's pretty close.

        I think you could lock down the raspi's network access to just port 8333 connections to one or more specific satoshi clients.

        Nothing else open.
        No installed software - just the fresh Debian install, Java and MultiBit.
        Keep it unplugged and in your safe most of the time.

        Practically you would also want a watch only wallet on a different machine to see the coin in there. MultiBit does not support these yet (but could with a bit more work). When you want to spend you get it out your safe, connect it up, let it sync and send the coin.

        sweet. I guess this is the closest to a standalone device I have seen so far.


        Title: Re: MultiBit
        Post by: jim618 on October 24, 2012, 08:59:45 PM
        Hi phelix,

        Thanks.  The Raspberry Pi is very open and extendable. There is a lot of activity with hobbyists with it.
        With basic breadboarding skills you can hook up switches and LCD panels, all manner of stuff.

        I mailed out on the bitcoinj mailing list for ideas for builds to use bitcoinj (the code behind MultiBit), a RaspPi and 'Other Stuff' to see what people came up with. If you have any ideas feel free to post.

        I maybe can make time to do one RaspPi project but no more than that. The question really is:

        What gives the Biggest Bitcoin Bang for your Build ?

        :-)


        Title: Re: MultiBit
        Post by: Mike Hearn on October 24, 2012, 09:06:17 PM
        If there was a GUI based on SWT it could be compiled down to native ARM code using GCJ, that might be a lot faster.

        That said, you could as well just serve an HTML UI and have web browsers on a faster computer control it.


        Title: Re: MultiBit
        Post by: jim618 on October 24, 2012, 09:21:50 PM
        Yes there are a few possibilities (used separately or together):

        1) strip down the UI to something very simple, perhaps just have a single wallet.
        2) have a dedicated display (a little 2x16 LCD for instance I have seen breadboards for)
        3) use a remote viewer (VNC, a web server serving HTML, hell: ssh)
        4) physical buttons, using the GPIO pins.
        5) there is also audio out. I think it probably has enough oomph for basic speech synthesis.

        The good thing with the Raspberry Pi hardware platform is that the code for 'we need a wallet, to be able to download the block info, oh we need to send too' is written and working.


        Title: Re: MultiBit
        Post by: mila on October 24, 2012, 10:44:31 PM
        you could as well just serve an HTML UI and have web browsers on a faster computer control it.

        this ^^ html + browser on a faster computer
        edit: when it comes to raspberry pi, mine has no screen attached and is not running any window manager
        in fact it's behind the wardrobe with only lan & power. local client with remote access and fast and secure and ... :) just teasing.


        Title: Re: MultiBit
        Post by: jim618 on October 25, 2012, 03:19:06 PM
        There is a new test release of MultiBit at:

        github.com (https://github.com/jim618/multibit/downloads)

        Version 0.5.5beta (Encrypted wallets)

        Enhancements:
        + New encrypted wallet format - NOT backwards compatible.
           (Unencrypted wallets are unchanged)
        + Fix for bug where encrypted wallets could be opened as unencrypted
        + Arabic translation 100%
        + Automatic backup of private keys on wallet encryption/ change password/ create new private keys
        + Forward port of everything from version 0.4.13
        + Update to bitcoinj version 0.6


        Scan of release checklist (http://multibit.org/test/releaseCheckList-0.5.5beta.jpg)


        Title: Re: MultiBit
        Post by: Aahz on October 25, 2012, 09:04:02 PM
        Hi, Jim,

        I tried searching this thread to see if anyone has run into the same problem as me and you answered already, but I wasn't able to find anything.  If you've answered a similar question before, I apologize.  :)

        I just recently installed MultiBit, and I tried to send coins for the first time two days ago.  The wallet has the available coins, and according to the transactions log, they were sent (and deducted from my balance), but the transaction has been stuck at "This transaction is not yet confirmed, seen by 1 peer" ever since.  It hasn't yet gone into a chain.

        I've tried looking for it in the logs to see if I could debug the issue myself, but I don't see it in them.

        I'm on version 0.4.12 and using Ubuntu 12.04 if you need to know that.  I'd appreciate any help you can give.  Thanks!

        I've had this same problem pretty consistently since 0.4.8.  Just upgraded to 0.4.13 yesterday and it's still happening.  Never used strongcoin and the addresses I'm using have never been in another client.

        It (one peer, not in blockchain) was lasting about 60-90 minutes, but my first send with 0.4.13 has been stuck this way for just over two hours now. Several transactions never propagated at all and I needed to reebuild the blockchain to "free up" those coins.

        What more information is needed (steps to be taken) to get out of the land of "If the transaction is not found then it indicates that the transaction was never sent properly, the transaction never propagated (perhaps a double spend) or some other reason. This needs more information to track down."?

        -Aahz


        Title: Re: MultiBit
        Post by: Mushroomized on October 25, 2012, 09:07:37 PM
        Farting out an idea I might play around with later that might be of interest to you---

        The ability to generate a one time use wallet and send an amount to it saved as a file.

        The file can be emailed, copied or pasted etc.

        One the file is dragged on to the client, the client accepts to privikey, dumps the coins onto your wallet, and the file is now worthless.

        Why?

        1) It'd be cool
        2) You could use it to store coins offline... kind of?
        3) Great explaining tool
        4) It'd be cool
        5) If someone wants to accept bitcoin, but didn't give you an address to send it to, plop the file in an email.


        Title: Re: MultiBit
        Post by: ErebusBat on October 25, 2012, 09:23:38 PM
        Farting out an idea I might play around with later that might be of interest to you---

        The ability to generate a one time use wallet and send an amount to it saved as a file.

        The file can be emailed, copied or pasted etc.

        One the file is dragged on to the client, the client accepts to privikey, dumps the coins onto your wallet, and the file is now worthless.

        Why?

        1) It'd be cool
        2) You could use it to store coins offline... kind of?
        3) Great explaining tool
        4) It'd be cool
        5) If someone wants to accept bitcoin, but didn't give you an address to send it to, plop the file in an email.
        Email is not a secure transfer.... what happens when the files are snarfed off the top?


        Title: Re: MultiBit
        Post by: phelix on October 25, 2012, 09:38:10 PM
        Yes there are a few possibilities (used separately or together):

        1) strip down the UI to something very simple, perhaps just have a single wallet.
        2) have a dedicated display (a little 2x16 LCD for instance I have seen breadboards for)
        3) use a remote viewer (VNC, a web server serving HTML, hell: ssh)
        4) physical buttons, using the GPIO pins.
        5) there is also audio out. I think it probably has enough oomph for basic speech synthesis.

        The good thing with the Raspberry Pi hardware platform is that the code for 'we need a wallet, to be able to download the block info, oh we need to send too' is written and working.

        just coming from a local bitcoin meet up. i told about what you were doing and someone came up with the idea of using a custom rom on an old/low end android smartphone - might be even cheaper than the rp.


        Title: Re: MultiBit
        Post by: jim618 on October 25, 2012, 09:40:35 PM

        I've had this same problem pretty consistently since 0.4.8.  Just upgraded to 0.4.13 yesterday and it's still happening.  Never used strongcoin and the addresses I'm using have never been in another client.

        It (one peer, not in blockchain) was lasting about 60-90 minutes, but my first send with 0.4.13 has been stuck this way for just over two hours now. Several transactions never propagated at all and I needed to reebuild the blockchain to "free up" those coins.

        What more information is needed (steps to be taken) to get out of the land of "If the transaction is not found then it indicates that the transaction was never sent properly, the transaction never propagated (perhaps a double spend) or some other reason. This needs more information to track down."?

        -Aahz

        What fee have you got set ?
        If you have it less than 0.001 BTC you could well see delays in getting into a block because the miners choose other 'juicier' transactions.

        When you say 'it was lasting 60-90 minutes' are you saying that eventually it got into a block and showed up as confirmed in MultiBit ? Or does it never get confirmed ?

        Also, where are your BTC coming from ? Are they mining dues ie coming from a coinbase ?


        Title: Re: MultiBit
        Post by: jim618 on October 25, 2012, 09:45:52 PM
        Farting out an idea I might play around with later that might be of interest to you---

        The ability to generate a one time use wallet and send an amount to it saved as a file.

        The file can be emailed, copied or pasted etc.

        One the file is dragged on to the client, the client accepts to privikey, dumps the coins onto your wallet, and the file is now worthless.

        Why?

        1) It'd be cool
        2) You could use it to store coins offline... kind of?
        3) Great explaining tool
        4) It'd be cool
        5) If someone wants to accept bitcoin, but didn't give you an address to send it to, plop the file in an email.

        What you are effectively doing here is mailing a wallet file directly. Because regular mail is not secure you would have to encrypt the private keys ie mail someone an encrypted wallet and tell them via a different channel what the password was.

        This leads to trust problems. I can email myself an encrypted wallet backup no problem, as I trust myself, but as soon as you mail a private key to another party there is the 'who spent it ?' problem.

        Mailing a private key is like having a joint account with someone.


        Title: Re: MultiBit
        Post by: Aahz on October 25, 2012, 09:46:31 PM

        I've had this same problem pretty consistently since 0.4.8.  Just upgraded to 0.4.13 yesterday and it's still happening.  Never used strongcoin and the addresses I'm using have never been in another client.

        It (one peer, not in blockchain) was lasting about 60-90 minutes, but my first send with 0.4.13 has been stuck this way for just over two hours now. Several transactions never propagated at all and I needed to reebuild the blockchain to "free up" those coins.

        What more information is needed (steps to be taken) to get out of the land of "If the transaction is not found then it indicates that the transaction was never sent properly, the transaction never propagated (perhaps a double spend) or some other reason. This needs more information to track down."?

        -Aahz

        What fee have you got set ?
        If you have it less than 0.001 BTC you could well see delays in getting into a block because the miners choose other 'juicier' transactions.

        When you say 'it was lasting 60-90 minutes' are you saying that eventually it got into a block and showed up as confirmed in MultiBit ? Or does it never get confirmed ?

        Also, where are your BTC coming from ? Are they mining dues ie coming from a coinbase ?

        The fee is at MultiBit's default 0.0001, but the problem isn't getting confirmations, it's getting it recognized by the blockchain at all.

        About half the time, after the 60-90 minutes it would finally show up at blockchain.info as unconfirmed.  Confirmation time is a whole different issue and clearly not a MultiBit issue.  The other half of the time it would go a day or more and I'd have to rebuild the blockchain in MultiBit to free up the coins.

        The bitcoin came from various buyers of my products, donors to my websites, and bitcoin gambling sites or exchanges.  None came from mining.


        Title: Re: MultiBit
        Post by: jim618 on October 25, 2012, 09:53:41 PM
        I presume you mean 0.001 and not 0.0001 in your reply.
        The MultiBit default is now 0.001 but there is a minimum of 0.0001.

        Could you PM me some example transaction ids of transactions that took 60-90 minutes and some that still had not propagated through the network in a day (and tell me which are which!)

        Maybe there is a clue in the transaction structure.


        Title: Re: MultiBit
        Post by: Mushroomized on October 25, 2012, 09:55:06 PM
        Farting out an idea I might play around with later that might be of interest to you---

        The ability to generate a one time use wallet and send an amount to it saved as a file.

        The file can be emailed, copied or pasted etc.

        One the file is dragged on to the client, the client accepts to privikey, dumps the coins onto your wallet, and the file is now worthless.

        Why?

        1) It'd be cool
        2) You could use it to store coins offline... kind of?
        3) Great explaining tool
        4) It'd be cool
        5) If someone wants to accept bitcoin, but didn't give you an address to send it to, plop the file in an email.

        What you are effectively doing here is mailing a wallet file directly. Because regular mail is not secure you would have to encrypt the private keys ie mail someone an encrypted wallet and tell them via a different channel what the password was.

        This leads to trust problems. I can email myself an encrypted wallet backup no problem, as I trust myself, but as soon as you mail a private key to another party there is the 'who spent it ?' problem.

        Mailing a private key is like having a joint account with someone.
        Yes I understand. Thats why you would generate a new keypair in that file that would be sent. I never meant it would be exactly secure but it could have some other purpose I can't think of right now. But maybe.


        Title: Re: MultiBit
        Post by: jim618 on October 25, 2012, 10:01:29 PM
        Yes there are a few possibilities (used separately or together):

        1) strip down the UI to something very simple, perhaps just have a single wallet.
        2) have a dedicated display (a little 2x16 LCD for instance I have seen breadboards for)
        3) use a remote viewer (VNC, a web server serving HTML, hell: ssh)
        4) physical buttons, using the GPIO pins.
        5) there is also audio out. I think it probably has enough oomph for basic speech synthesis.

        The good thing with the Raspberry Pi hardware platform is that the code for 'we need a wallet, to be able to download the block info, oh we need to send too' is written and working.

        just coming from a local bitcoin meet up. i told about what you were doing and someone came up with the idea of using a custom rom on an old/low end android smartphone - might be even cheaper than the rp.


        Sounds an interesting idea and an interesting evening ! Breadboarding discretes I am happy doing, but custom roms is a bit beyond my skill level I am afraid. Also, I imagine there are ten times as many 'breadboarders' as 'rom programmers' to get ideas from. Not disagreeing with you mind - it is just the time and effort to learn something and skill up.


        Title: Re: MultiBit
        Post by: Aahz on October 25, 2012, 10:03:06 PM
        Hmmm... My fee is currently at 0.0001, not 0.001.  I removed my last install and installed 0.4.13 fresh, so assumed it went back to default, guess it did not.

        Transaction from a few days ago that took more than an hour to appear in blockchain: fec3c1ec7bdf61253a40151c3b5eaba553a127946ae77a500dfef0de6e906a35
        Transaction sent 30 minutes ago: fcb7ef93767d684828b6d10b55af98d36db5fe70a9da113906e7bfa38da8f6de: Seen by 1 peer. Not seen in chain.

        I don't have any of the multi-day stalled transaction IDs as they vanish when I reset the blockchain.

        -Aahz


        Title: Re: MultiBit
        Post by: jim618 on October 25, 2012, 10:07:28 PM
        Farting out an idea I might play around with later that might be of interest to you---

        The ability to generate a one time use wallet and send an amount to it saved as a file.

        The file can be emailed, copied or pasted etc.

        One the file is dragged on to the client, the client accepts to privikey, dumps the coins onto your wallet, and the file is now worthless.

        Why?

        1) It'd be cool
        2) You could use it to store coins offline... kind of?
        3) Great explaining tool
        4) It'd be cool
        5) If someone wants to accept bitcoin, but didn't give you an address to send it to, plop the file in an email.

        What you are effectively doing here is mailing a wallet file directly. Because regular mail is not secure you would have to encrypt the private keys ie mail someone an encrypted wallet and tell them via a different channel what the password was.

        This leads to trust problems. I can email myself an encrypted wallet backup no problem, as I trust myself, but as soon as you mail a private key to another party there is the 'who spent it ?' problem.

        Mailing a private key is like having a joint account with someone.
        Yes I understand. Thats why you would generate a new keypair in that file that would be sent. I never meant it would be exactly secure but it could have some other purpose I can't think of right now. But maybe.

        There was a guy at the Bitcoin Conference in London discussing using encrypted private keys in the way you describe to store donations actually IN an RFID tag. Cheap Mifare tags hold around 4KB. That is only a few transactions but keys are the order of 32 bytes (unencrypted) so the space saving is a big advantage.


        Title: Re: MultiBit
        Post by: jim618 on October 25, 2012, 10:15:06 PM
        Hmmm... My fee is currently at 0.0001, not 0.001.  I removed my last install and installed 0.4.13 fresh, so assumed it went back to default, guess it did not.

        Transaction from a few days ago that took more than an hour to appear in blockchain: fec3c1ec7bdf61253a40151c3b5eaba553a127946ae77a500dfef0de6e906a35
        Transaction sent 30 minutes ago: fcb7ef93767d684828b6d10b55af98d36db5fe70a9da113906e7bfa38da8f6de: Seen by 1 peer. Not seen in chain.

        I don't have any of the multi-day stalled transaction IDs as they vanish when I reset the blockchain.

        -Aahz

        The fee choice is stored in the multibit.properties in your user data so you have kept it.
        That could well be it.
        I noticed a couple of weeks ago that dropping to a fee of 0.0005 rather than 0.001 started bumping me from getting in the next block (for testing I like to save time so am happy to pay more).

        Experiment with a fee of 0.001 for a few days and see if that solves it. Let me know if it does (or not). Trying to pin down exactly what happens to transactions is more art than science sometimes.


        Title: Re: MultiBit
        Post by: m4rtin on October 29, 2012, 10:04:58 AM
        I'd like to add extra ticker to MultiBit - can you give me a push in the right direction where to start?
        Thanks


        Title: Re: MultiBit
        Post by: jim618 on October 29, 2012, 10:26:06 AM
        Hi m4rtin,

        The data for the ticker comes from the XChange library and the class that actually grabs the data is called:
        org.multibit.exchange.TickerTimerTask

        That is the place to start.

        The ticker user interface is a:
        org.multibit.viewsystem.swing.view.ticker.TickerTablePanel

        and the model for the table is the TickerTableModel in the same package.

        The UI for the settings to choose the columns etc are in:
        org.multibit.viewsystem.swing.view.ShowPreferencesPanel
         
        and are persisted by:
        org.multibit.viewsystem.swing.action.ShowPreferencesSubmitAction

        Let me know if anything is unclear.



        Title: Re: MultiBit
        Post by: jim618 on October 29, 2012, 02:11:44 PM
        There is a new live release of MultiBit at:

        multibit.org (http://multibit.org)


        Version 0.4.14

        Improvements
        + Arabic 100%
        + Fix for chart balance not matching wallet balance



        Scan of release checklist (http://multibit.org/test/releaseCheckList-0.4.14.jpg)

        This release is primarily to get the Arabic translation onto multibit.org.


        Title: Re: MultiBit
        Post by: phelix on October 29, 2012, 06:51:19 PM
        Farting out an idea I might play around with later that might be of interest to you---

        The ability to generate a one time use wallet and send an amount to it saved as a file.

        The file can be emailed, copied or pasted etc.

        One the file is dragged on to the client, the client accepts to privikey, dumps the coins onto your wallet, and the file is now worthless.

        Why?

        1) It'd be cool
        2) You could use it to store coins offline... kind of?
        3) Great explaining tool
        4) It'd be cool
        5) If someone wants to accept bitcoin, but didn't give you an address to send it to, plop the file in an email.

        What you are effectively doing here is mailing a wallet file directly. Because regular mail is not secure you would have to encrypt the private keys ie mail someone an encrypted wallet and tell them via a different channel what the password was.

        This leads to trust problems. I can email myself an encrypted wallet backup no problem, as I trust myself, but as soon as you mail a private key to another party there is the 'who spent it ?' problem.

        Mailing a private key is like having a joint account with someone.
        Yes I understand. Thats why you would generate a new keypair in that file that would be sent. I never meant it would be exactly secure but it could have some other purpose I can't think of right now. But maybe.

        kinda like http://bitaddress.org (somewhere on this forum there is also a thread about banknote design)


        Title: Re: MultiBit
        Post by: jim618 on October 29, 2012, 09:05:40 PM
        At the moment key handling is a bit limited in MultiBit, primarily because it does not store all the transactions (or even all the unspent transaction outputs). Of course this has its pros and cons.

        I have a little acronym for the main things I want to get into MultiBit before it is 'finished' (whatever that means!). It is:

        C - get change spendable. The work on tracking the peers that have seen transactions is the preliminary to this.
        C - currency support - type in USD, convert to BTC
        E - encrypted wallets in the live code
        S - speed - faster sync using bloom filters.
        H - hierarchical deterministic wallets, which will also give brain wallet support.

        Other than the currency support, most of the rest is code that needs to go into bitcoinj so will be written by various people.

        Gary Rowe has been working solidly on MultiBit merchant which is an open source solution that anyone can use to make websites that natively use bitcoin. At some point I want to switch effort onto help build that out (as I have more time than him).


        Title: Re: MultiBit
        Post by: Zeek_W on October 30, 2012, 01:54:44 AM
        I seem to have a problem. I withdrew BTC from my MtGox account in two transactions last night to two wallets in multibit. I can see via blockchain that they have been sent but still there is no sign of the funds in my local wallets.

        What do I do now?


        Title: Re: MultiBit
        Post by: jim618 on October 30, 2012, 08:13:53 AM
        Hi Zeek_W,

        You don't mention which version of MultiBit you are using. If you are on an older version please update to the latest on multibit.org before proceeding. (The version number is given on the "About MultiBit" menu option).

        To track down your transactions, go through the following in order:
        1) Find out if the transactions are on the block chain yet. You can do this in various ways but the easiest is to search for them in blockchain.info and see if they are confirmed.
        (If they are not confirmed then you will just have to wait.)
        2) Double check the transactions have been sent to one of your MultiBit RECEIVING addresses.
        (If not then you have accidentally sent them somewhere else).
        3) If 1) and 2) are OK then you should be able to do the following to see your coin:
        3.1) Restart MultiBit and let it connect and sync.
        3.2) Go to 'Tools | Reset Blockchain and Transactions'. Select the 'Specify reset date'' option and choose the day before the day you sent the MTGox transactions. (Choosing the day before avoids any time zone problems)
        3.3) Press the 'Reset blockchain and transactions' button and let it replay the blocks that contain your transactions. Just let it finish syncing and you should see your transactions.

        Let me know if you have any problems.

        Jim


        Title: Re: MultiBit
        Post by: Zeek_W on October 30, 2012, 10:45:09 PM
        Hi Zeek_W,

        You don't mention which version of MultiBit you are using. If you are on an older version please update to the latest on multibit.org before proceeding. (The version number is given on the "About MultiBit" menu option).

        To track down your transactions, go through the following in order:
        1) Find out if the transactions are on the block chain yet. You can do this in various ways but the easiest is to search for them in blockchain.info and see if they are confirmed.
        (If they are not confirmed then you will just have to wait.)
        2) Double check the transactions have been sent to one of your MultiBit RECEIVING addresses.
        (If not then you have accidentally sent them somewhere else).
        3) If 1) and 2) are OK then you should be able to do the following to see your coin:
        3.1) Restart MultiBit and let it connect and sync.
        3.2) Go to 'Tools | Reset Blockchain and Transactions'. Select the 'Specify reset date'' option and choose the day before the day you sent the MTGox transactions. (Choosing the day before avoids any time zone problems)
        3.3) Press the 'Reset blockchain and transactions' button and let it replay the blocks that contain your transactions. Just let it finish syncing and you should see your transactions.

        Let me know if you have any problems.

        Jim

        Thanks for the indepth fault finding ideas Jim. I was on latest client, and were indeed sent to receive addresses - they were viewable on the blockchain as confirmed. I managed to get the coins by exporting private keys into blockchain.info - everything is all good now.

        Cheers


        Title: Re: MultiBit
        Post by: jim618 on October 31, 2012, 08:24:21 AM
        Great - glad you got your coin successfully.

        Of course things like this should never happen but it it is still pretty difficult to pin down every possible reason for things not working.

        I think I will put that fault finding list into a troubleshooting web page as it might be of use to others. Exporting your private keys and importing them elsewhere is also a good solution.


        Title: Re: MultiBit
        Post by: Mike Hearn on October 31, 2012, 10:59:33 AM
        If you trust Jim (or me) you could send your wallet and we'll examine it to look for clues as to what went wrong.


        Title: Re: MultiBit
        Post by: Zeek_W on November 01, 2012, 02:38:39 AM
        If you trust Jim (or me) you could send your wallet and we'll examine it to look for clues as to what went wrong.

        it might just be a case of having 4 wallets in the one client. Instead of 1 wallet and different recieve addresses.

        I'll test out just a single wallet when I return home and deposit a small amount in there. It was really puzzling me as I could blatently see on blockchain that it was routed through :/


        Title: Re: MultiBit
        Post by: jim618 on November 01, 2012, 07:33:46 AM
        Hi Zeek_W,

        If you could test it out and reproduce the problem that would be very useful. With a wallet that exhibits the problem I can then debug it to find and fix it.

        Thanks,

        Jim


        Title: Re: MultiBit
        Post by: jim618 on November 01, 2012, 08:21:13 PM
        The Arabic and Hindi bounties ended at the end of October so I have updated the multibit.org website and updated the bounties detail page:

        http://multibit.org/bounties.html (http://multibit.org/bounties.html)

        Bounties work, but they are a bit time consuming to do and the translation stats don't quite give you want you want to know. Also, of the three languages that have been run as bounties (+ Farsi) the most prolific translators did not really want the BTC - they just wanted their mother tongue translated. (MBH, who did the majority of the Arabic translation, donated his share back to the multibit donations pot: Thanks!).

        Once I have made all the relevant payments I think I will close off running bounties for the time being to concentrate more on the dev work.


        Title: Re: MultiBit
        Post by: PTseller on November 04, 2012, 07:28:29 AM
        Help Regarding MultiBit !


        1-> I am having problem due to some reason my wallet got corrupted and i saved my wallet in 3 places pen drive , hard disk and CD . Week back i have received few btc but i forget to make backup on other drives :( and yesterday when i open my wallet it showing me 0 BTC in my wallet i open my hard disk wallet its working but its not showing the amount which i received week back :( Please help me out how can i get my BTC back which i have received week back !

        2-> yesterday i have generated new BTC address and given to my buyer the wallet was in hard disk and after generating new BTC address  i have removed my hard disk and in the morning when my buyer said BTC send i checked my wallet there is nothing.  On blockchain transaction was done ! but i didn't received anything :( even the BTC address which i have generated not showing in my multibit :(

        Please friends help me out i am in bad situation !!

        Regards'
        PTseller


        Title: Re: MultiBit
        Post by: wrend on November 04, 2012, 08:49:19 AM


        Help Regarding MultiBit !


        1-> I am having problem due to some reason my wallet got corrupted and i saved my wallet in 3 places pen drive , hard disk and CD . Week back i have received few btc but i forget to make backup on other drives Sad and yesterday when i open my wallet it showing me 0 BTC in my wallet i open my hard disk wallet its working but its not showing the amount which i received week back Sad Please help me out how can i get my BTC back which i have received week back !

        2-> yesterday i have generated new BTC address and given to my buyer the wallet was in hard disk and after generating new BTC address  i have removed my hard disk and in the morning when my buyer said BTC send i checked my wallet there is nothing.  On blockchain transaction was done ! but i didn't received anything Sad even the BTC address which i have generated not showing in my multibit Sad

        Please friends help me out i am in bad situation !!

        Regards'
        PTseller

        don't panic, but keep your backup safe in the meanwhile.


        Title: Re: MultiBit
        Post by: jim618 on November 04, 2012, 11:09:22 AM
        Help Regarding MultiBit !


        1-> I am having problem due to some reason my wallet got corrupted and i saved my wallet in 3 places pen drive , hard disk and CD . Week back i have received few btc but i forget to make backup on other drives :( and yesterday when i open my wallet it showing me 0 BTC in my wallet i open my hard disk wallet its working but its not showing the amount which i received week back :( Please help me out how can i get my BTC back which i have received week back !

        2-> yesterday i have generated new BTC address and given to my buyer the wallet was in hard disk and after generating new BTC address  i have removed my hard disk and in the morning when my buyer said BTC send i checked my wallet there is nothing.  On blockchain transaction was done ! but i didn't received anything :( even the BTC address which i have generated not showing in my multibit :(

        Please friends help me out i am in bad situation !!

        Regards'
        PTseller

        Hello PTSeller,

        Good that you have multiple backups of your wallet. You have to be a little careful copying wallets around for a couple of reasons (similar to bitcoin-qt really).
        1) when MultiBit is synchronising, it downloads the blocks and checks with all the open wallets if a payment needs to go into any of the wallets. It then adds it. If you have a wallet not open (ie a backup) it will not see this. This is the cause of your first problem.

        You can do a 'Reset blockchain and transactions' to make MultiBit replay the blocks. I normally do it from the date of the last transaction in that wallet. (this wallet catch up really should be automatic - it is on my TODO list)
        edit: I think you are in india so use the DAY BEFORE the transaction date just to avoid any time zone problems.


        2) on your second point I would be careful removing and adding hard disks / USB drives. MultiBit writes to the wallet quite often (as data comes in). If you dismount a drive it has nowhere to write to. Also, backups are written to the same directory as the wallet (but with the date in the name). If you remove the drive it cannot write these. I do not recommend dismounting drives whilst MultiBit is running. Shut MultiBit down first so that it writes everything out to the wallets and shuts down cleanly. Then copy the wallets.

        Anyhow, have a look in your wallet directory for files called 'your wallet'-'a date in format yyyymmddhhmmss'. These are the backup wallet files.

        To be on the safe side, take a copy of them and then open them in MultiBit to see if they have your new address you created in.

        edit: if you find the wallet where it saved the new address, use this wallet as your 'primary' wallet. You will probably have to do a 'Reset blockchain and transactions' from a date before when you were sent the BTC to get the transaction to appear.

        Regards

        Jim



        Title: Re: MultiBit
        Post by: PTseller on November 04, 2012, 05:26:40 PM
        Help Regarding MultiBit !


        1-> I am having problem due to some reason my wallet got corrupted and i saved my wallet in 3 places pen drive , hard disk and CD . Week back i have received few btc but i forget to make backup on other drives :( and yesterday when i open my wallet it showing me 0 BTC in my wallet i open my hard disk wallet its working but its not showing the amount which i received week back :( Please help me out how can i get my BTC back which i have received week back !

        2-> yesterday i have generated new BTC address and given to my buyer the wallet was in hard disk and after generating new BTC address  i have removed my hard disk and in the morning when my buyer said BTC send i checked my wallet there is nothing.  On blockchain transaction was done ! but i didn't received anything :( even the BTC address which i have generated not showing in my multibit :(

        Please friends help me out i am in bad situation !!

        Regards'
        PTseller

        Hello PTSeller,

        Good that you have multiple backups of your wallet. You have to be a little careful copying wallets around for a couple of reasons (similar to bitcoin-qt really).
        1) when MultiBit is synchronising, it downloads the blocks and checks with all the open wallets if a payment needs to go into any of the wallets. It then adds it. If you have a wallet not open (ie a backup) it will not see this. This is the cause of your first problem.

        You can do a 'Reset blockchain and transactions' to make MultiBit replay the blocks. I normally do it from the date of the last transaction in that wallet. (this wallet catch up really should be automatic - it is on my TODO list)
        edit: I think you are in india so use the DAY BEFORE the transaction date just to avoid any time zone problems.


        2) on your second point I would be careful removing and adding hard disks / USB drives. MultiBit writes to the wallet quite often (as data comes in). If you dismount a drive it has nowhere to write to. Also, backups are written to the same directory as the wallet (but with the date in the name). If you remove the drive it cannot write these. I do not recommend dismounting drives whilst MultiBit is running. Shut MultiBit down first so that it writes everything out to the wallets and shuts down cleanly. Then copy the wallets.

        Anyhow, have a look in your wallet directory for files called 'your wallet'-'a date in format yyyymmddhhmmss'. These are the backup wallet files.

        To be on the safe side, take a copy of them and then open them in MultiBit to see if they have your new address you created in.

        edit: if you find the wallet where it saved the new address, use this wallet as your 'primary' wallet. You will probably have to do a 'Reset blockchain and transactions' from a date before when you were sent the BTC to get the transaction to appear.

        Regards

        Jim




        done all whatever you said mate but nothing happen i have checked backup wallet files also :( also i have 'Reset blockchain and transactions'  back date nothing happen i get this error

        Error in below bar ->  The new wallet "H:\wallet\multibit.wallet" could not be created. The error was "Could not write walletinfo file for wallet 'H:\wallet\multibit.info'".

        please mate help me out !


        story from start !

        I have open my multibit 2 days back but there is no BTC in my multibit i check my wallet in Drive and mount it again but nothing then i went to Hard disk i mount that wallet and got BTC but weeks back transaction BTC was not there :( i was shocked and then 1 days back my buyer want to send BTC to me i have mount my hard disk wallet again and created new BTC address for BTC payment and i have given to him new address and then i plugged out my hard disk and done my pc hibernate ! and when i get confirmation from buyer btc send i checked my MultiBit there is no transaction and also the BTC address which i have created :( i am really in bad situation ! please help me out

        My multibit Version is -> 0.4.2


        Title: Re: MultiBit
        Post by: jim618 on November 04, 2012, 05:45:20 PM
        Hi PTSeller,

        The most important thing is to keep your current wallets copied somewhere safe. It is the private keys in your wallets that are irreplaceable and enable you to spend your bitcoin.

        The version that you are on is 4 months old and unfortunately does not have the rolling backups I mentioned in the previous post. I strongly recommend you update to the latest version on the multibit.org site before proceeding as a lot of code has gone into MultiBit in 4 months.

        Once you have done that try the 'Reset blockchain and transactions' I mentioned before.

        Also it is important that you shut down MultiBit before you remove/ dismount your drive so that it can write all your wallets cleanly. (there is a better way to do it with everything on your portable drive but I will post about that later. First things first).

        Jim


        Title: Re: MultiBit
        Post by: HostFat on November 04, 2012, 05:54:47 PM
        Can you add a message that say to the user that there is a new version available?


        Title: Re: MultiBit
        Post by: jim618 on November 04, 2012, 06:07:52 PM
        Hi HostFat,

        Yes I plan to have a little 'notifications' icon or small panel in the centre of the header that picks up the MultiBitOrg tweets. It will be to the right of the balances and to the left of the currency ticker.

        It would be nicer to have a message key (like the Satoshi/Gavin/Theymos one) to send it over the bitcoin network as then it would be decentralised but only the Satoshi messages get propagated so currently that is not an option.

        It is on the TODO list but, to be honest, not near the top as people can subscribe to the MultiBitOrg tweets to get the same info.


        Title: Re: MultiBit
        Post by: PTseller on November 05, 2012, 12:01:40 AM
        Hi PTSeller,

        The most important thing is to keep your current wallets copied somewhere safe. It is the private keys in your wallets that are irreplaceable and enable you to spend your bitcoin.

        The version that you are on is 4 months old and unfortunately does not have the rolling backups I mentioned in the previous post. I strongly recommend you update to the latest version on the multibit.org site before proceeding as a lot of code has gone into MultiBit in 4 months.

        Once you have done that try the 'Reset blockchain and transactions' I mentioned before.

        Also it is important that you shut down MultiBit before you remove/ dismount your drive so that it can write all your wallets cleanly. (there is a better way to do it with everything on your portable drive but I will post about that later. First things first).

        Jim

        ok let me update my multibit and 'Reset blockchain and transactions'   will update you


        Title: Re: MultiBit
        Post by: wrend on November 05, 2012, 07:38:33 AM
        if you have the private key of course you can import it.  :)
        wallet properties -> import private key
        copy/paste the key, then select second option "import this address" -> done.

        Silly me. Still it would be useful to have an "import Satoshi wallet" button, for us non-technical users. Now I'm off to learn about extracting keys from Satoshi wallets.  ;)

        Your best bet is Joric's PyWallet (https://bitcointalk.org/index.php?topic=34028.msg708668#msg708668).  About a month ago, Joric figured out the Satoshi wallet encryption, and released an update that will extract the keys if you enter the encryption passphrase.  I've used it once or twice, and it's pretty slick.  You can use it as a command-line tool, or you can run it in server mode, and access it via a nice web interface by putting "localhost:8989" into your browser. 

        The biggest issue is that you're probably going to get a lot of keys dumped out, so you have to know which one is the right one.  Luckily with the full-RAM Armory, checking the balance of a fresh address takes less than 1 sec!  The copy&paste procedure will be the bottleneck (at least until I get a bulk-import UI).

        I have not used Multibit, although jim618 could confirm if it's feasible to extract private keys using PyWallet.


        Title: Re: MultiBit
        Post by: jim618 on November 05, 2012, 07:59:12 AM
        Hi wrend,

        I am not sure from your post which way you want to move your private keys. For MultiBit there is a 'Tools | Export Private Keys' and a complementary 'Tools | Import Private Keys'. PyWallet won't understand the MultiBit wallet format as it is different to the Satoshi format.

        The import/ export screens are mainly designed for backing up the MultiBit wallets but you can use to move keys between apps. There is a how-to for importing a single sipa format key here:

        http://multibit.org/v0.5/help_importASingleKey.html (http://multibit.org/v0.5/help_importASingleKey.html)


        Title: Re: MultiBit
        Post by: PTseller on November 06, 2012, 01:22:24 PM

        Hi mate i have install new version of multibit and i open my wallet from hard disk from which i have generated new BTC address but nothing happen :( also done reset blockchain and transaction :( i am not getting my BTC back :(

        please help me out




        Title: Re: MultiBit
        Post by: Kazimir on November 06, 2012, 02:04:04 PM
        Jim, I guess this request/suggestion is probably in vain... But with all the Java security holes we've seen earlier this year, is there any chance you could get rid of the Java dependency, and instead use a native multiplatform interface library, such as Qt, wxWidgets, or GTK?


        Title: Re: MultiBit
        Post by: jim618 on November 06, 2012, 02:22:38 PM
        Hi Kazimir,

        The big risk with Java is that you can in theory download and execute code. In practice nobody likes to do this any more as it is too tempting a vector for malware.

        All the UI code and all the network code (bitcoinj) is Java code so it would not be practical to rework it. It would be a complete rewrite.

        In MultiBit (and I am pretty sure it is the same with bitcoinj) there is no ad hoc code downloading of code or patches or anything. Only the code in the installed jar is used. In the future I will harden this so that it is both digitally signed by a key just owned by me and also sealed, which means it will not load other code from outside the jar.

        Also, there is no auto update (and almost certainly never will be) as that is another vector for malware to get onto your machine.

        Regards,

        Jim




        Title: Re: MultiBit
        Post by: Kazimir on November 06, 2012, 03:21:09 PM
        Thanks Jim, that gives me some peace of mind.


        Title: Re: MultiBit
        Post by: PTseller on November 06, 2012, 03:29:01 PM
        Hi Jim618


        I have install new version of multibit and i open my wallet from hard disk from which i have generated new BTC address but nothing happen :( also done reset blockchain and transaction :( i am not getting my BTC back :(

        please help me out


        Title: Re: MultiBit
        Post by: jim618 on November 06, 2012, 03:52:51 PM
        Hi Jim618


        I have install new version of multibit and i open my wallet from hard disk from which i have generated new BTC address but nothing happen :( also done reset blockchain and transaction :( i am not getting my BTC back :(

        please help me out


        Hi PTSeller,

        1) Does the wallet have the address that you (or anyone else) has sent BTC to ?
        If not, then you need to find the wallet that has the address (and hence the private key) in. You need this before you can recover your bitcoin. You have multiple backups (from your previous post) so it should just be a matter of finding the right one.

        The most important thing is to find your private keys (for the addresses that have bitcoin on). If you can find these then there are a couple of ways to get your bitcoin back. Without them you cannot.

        2) Once you have found the wallet that contains the address/ private key then you can get the bitcoin transactions to appear in that wallet. This is what the 'reset blockchain and transactions' does. Work out the date of the first transaction that sent you bitcoin and then use the day before that date in the 'Reset blockchain and transactions' to replay the blocks. The MultiBit help gives a screenshot of the 'reset blockchain and transactions' so that might be useful if it is not clear how to pick a date.

        3)  You should be able to use the 'reset blockchain and transactions' to get your bitcoin back. However if you want another way to get your bitcoin back then export your private keys using the 'Tools | Export Private Keys' and import them into a blockchain.info wallet. You need to export the keys UNENCRYPTED and paste them into the Import Keys screen in blockchain.info so that blockchain.info can understand them.

        Regards,

        Jim






        Title: Re: MultiBit
        Post by: jim618 on November 06, 2012, 05:18:50 PM
        I am working on a pull request to get the MultiBit encrypted wallet work into bitcoinj. It is penciled in for the next version (bitcoinj v0.7) as long as it passes all the code review and QA.

        If/once it gets into bitcoinj I will produce a release candidate MultiBit using bitcoinj-0.7 with encrypted wallets for testing. Then if people are happy with it, it will go on the website. Back to one version of MultiBit to look after !


        Also, I have added that when you do a private key import it now immediately exports an encrypted copy of the new private keys into the same directory as your wallet with a timestamp. Screenshot from "Tools | Import Private Keys":

        http://multibit.org/postImages/importBackup.png

        It only applies to encrypted wallets (as you need a password to encrypt the key export file).

        This means that when you perform any "key sensitive" operation with an encrypted wallet it creates a timestamped, encrypted private key backup file. This is all of:
        + Add password
        + Change password
        + Create new receiving addresses (ie new private keys)
        + Import private keys.

        These timestamped files are never deleted by MultiBit.


        Title: Re: MultiBit
        Post by: Kazimir on November 08, 2012, 09:51:49 AM
        By the way Jim, there is still one more issue with using Java that I'd like to address. I'm rather paranoid about random software making outgoing connections (especially on a system where I store bitcoins). So I have a firewall installed, which blocks outgoing traffic, except for certain selected programs (and in some cases only to selected servers and/or ports).

        Now the problem with Java is: you cannot allow some Java programs to connect, while blocking others. It's always JavaW.exe that connects. I want to allow MultiBit to make outgoing connections, but I want to block most other Java software (including Java itself, I don't need it to send random statistics to Oracle or whatever).

        With privacy and online security becoming more and more of an issue lately, I think this is an important point to consider.

        Anyway, I understand you cannot make the switch at this stage and replace Java with some alternative, without essentially rewriting the entire software. Just wanted to point this out, in case you ever decide to build a new client or something :)


        Title: Re: MultiBit
        Post by: Mike Hearn on November 08, 2012, 10:00:25 AM
        I must disagree about auto update.

        Yes, it has risks. But not having it also has risks - if there is a vulnerability, old versions will persist for a long time and users will get exploited. And if there are important features or bugfixes that could cause wallet problems, same thing. And if there are new features that could tip the scale for some users from "neat but useless" to "I need this in my life", they may never find out about them.

        Having some kind of notification and a one click "update now" button in the UI is good as long as the updates are semi-rare and the notifications are well written. We know from practical experience with browsers that many users habitually ignore update notifications, even when they're really important, because you only see them when you're in the middle of something else. Downloading and verifying an update in the background then saying "Click to restart, it'll take 5 seconds" can help.

        Users will continue to report problems long since fixed until an easy auto update is implemented. It doesn't need to wait for some pure p2p update mechanism. Just polling a website or Twitter is enough. There are probably frameworks that can be easily adapted for it already.

        Re: Java. Jim is right that there's no risk with Java given the way it's currently used in MultiBit. However, perceptions matter and unfortunately Java is firmly linked in peoples minds with insecurity (ironic given its original design goals). Using a product like Excelsior Jet to compile it down to a native app may be a good idea and simplify deployment in some cases.


        Title: Re: MultiBit
        Post by: jim618 on November 08, 2012, 10:11:54 AM
        Hi Kazimir,

        I totally appreciate that you want to control your connections. These days it is essential.
        Mainly to support Tor I plan to put in SOCKS5 proxy support into MultiBit which might help.

        That would enable you to set MultiBit to use your localhost proxy and only allow connections via your proxy. It would still be a javaw process though but other Java programs would not be set up to use the proxy.

        I had a look previously but it is not easy to change the Java process name.

        Other connections out from MultiBit are:
        1) the Bitcoin connections to Satoshi nodes. These would go through the proxy
        2) if you use 'regular' node discovery that uses DNS. Not sure if they would go through a SOCKS5 proxy - needs testing. You can hardwire a single node to connect to to avoid the lookup.
        3) the MultiBit help is on the multibit.org website and accessed via HTTP. I will move this into the install as it will be quicker and less network calls.


        Title: Re: MultiBit
        Post by: jim618 on November 08, 2012, 10:27:29 AM
        @Mike,
        Re: auto-update.

        Yes I agree it is a tricky balance. You definitely want notifications of updates but I think you want the users to be in control of updating their software. But again you are right people do not update.

        The reason I don't like auto update for Bitcoin software is that it is a great attack vector. If you can update a lot of code within, say, 48 hours and you can get a Trojan released you can skim quite a lot of cash in a weekend. If, as I estimate, people update once a month or so you are not going to get much cash before the news of the Trojan is on Reddit/ bitcointalk/ Twitter etc.
        .
        The reproduction rate of the Trojan has to be less than the reproduction rate of the news of the Trojan !


        Encrypted wallets will help as a Trojan cannot get the cash out of them until the user types their password.

        I think I will put in notifications first as that at least keeps users informed.


        Title: Re: MultiBit
        Post by: Mike Hearn on November 08, 2012, 11:09:09 AM
        Absolutely agree. I think any auto update service would need to use threshold signatures. BlueMatts gitian-updater work did that. It means finding several people you trust to help sign off on releases. Even without auto update it's a good idea, but I doubt many people manually check signatures.


        Title: Re: MultiBit
        Post by: Kazimir on November 08, 2012, 11:17:49 AM
        Thanks again for the comprehensive reply Jim.

        And sorry to bother you yet again, but yesterday I updated to 0.4.14 and it seems I can't connect anymore. It says "connecting..." in the bottom, when I hover my mouse there it says 0 connections. I've tried restarting MultiBit several times and let it wait for over an hour, but nothing seems to happen. In retrospect to my previous post: I did configure my firewall to allow any connection for Java :)

        Any suggestions? Would it help if I PM you my debug logs?


        Title: Re: MultiBit
        Post by: jim618 on November 08, 2012, 12:10:29 PM
        Hi Kazimir,

        One thing you could check is whether you have the inbound port 8333 traffic going anywhere. If you have set up a rule up in your firewall for this port (say to go to a bitcoind instance) multibit never connects as it never gets any traffic back from the bitcoinds it is trying to connect to. Of course it will need port 8333 outgoing as well.

        Temporarily turning off your firewall to see if it connects would be a good test to see if it is something to do with your firewall or not.

        If you don't allow DNS requests out it could be that too. If you have a look in the log files there will most likely be an error (or 0 peers found) to do with the MultiBitDNSDiscovery.

        Failing that, then yes send me the two logs (multibit_debug.log and multibit_console.log) and I will take a look.

        If it is something to do with your firewall post what you find as it will be useful for other people in the future.


        Title: Re: MultiBit
        Post by: jim618 on November 08, 2012, 12:23:10 PM
        Absolutely agree. I think any auto update service would need to use threshold signatures. BlueMatts gitian-updater work did that. It means finding several people you trust to help sign off on releases. Even without auto update it's a good idea, but I doubt many people manually check signatures.

        Good idea. Maybe I should move to a "stable" and "working" release with the stable on the website and have that signed off by others and have a working release where it is just on github and only signed by me (=appears more frequently / latest features/ but more bugs).

        The stable release could then be the one the user is recommended to update to using your suggestions. That would cover most eventualities except for urgent, critical bugfixes which hopefully will be rare.


        Title: Re: MultiBit
        Post by: Kazimir on November 08, 2012, 04:06:09 PM
        Failing that, then yes send me the two logs (multibit_debug.log and multibit_console.log) and I will take a look.
        I tried without any firewalling whatsoever, unfortunately still the same problem. I've sent the log files, please see PM.

        Thanks a lot for your help man! http://i.imgur.com/QHDmr.png


        Title: Re: MultiBit
        Post by: jim618 on November 08, 2012, 06:44:44 PM
        @Kazimir

        It looks like it might be this issue:
        http://www.java.net/node/703177 (http://www.java.net/node/703177)

        This looks like it could be an IPv6 v IPv4 issue when using a VPN or similar.
        It looks like it is a bug just on Java 7 and not Java 6.

        The solution on that page is to use:
        -Djava.net.preferIPv4Stack=true

        as a command line option when starting MultiBit.
        Unfortunately on Windows MultiBit is wrapped up into an exe file and you cannot specify command line options with it so you cannot set this option yourself.

        (With the Mac and Linux the installer installs a file called multibit-exe.jar. You can run this from the command line and pass parameters.)

        When I wrap the jar to an exe I can set these parameters so I think you will have to wait until I make the change and build it.
        Can you confirm you are on a Windows machine ? If you are then I will build you an exe with the parameter in and get you to try it out.


        Title: Re: MultiBit
        Post by: Kazimir on November 09, 2012, 09:32:21 AM
        @Jim,

        Awesome! Yes, I'm on a Windows 7 machine. I dunno if more people experience this problem, perhaps you may want to include this feature in MultiBit's preferences. E.g. a checkbox "Force Java to use IPv4 (if you have connection problems, enable this and restart MultiBit)" or something.

        Thx in advance.


        Title: Re: MultiBit
        Post by: Mike Hearn on November 09, 2012, 10:36:22 AM
        If the issue is actually some kind of broken IPv6 configuration that only impacts JDK7/Windows7 and results in a unique exception, we can put a workaround into bitcoinj itself. If we see a permission denied error on connect, the code can set that property and then try again. As long as the property value isn't being cached anywhere that should work.


        Title: Re: MultiBit
        Post by: jim618 on November 09, 2012, 11:18:37 AM
        The stacktrace look pretty specific:

        Code:
        16:52:00.157 [Peer group thread] WARN  com.google.bitcoin.core.Peer - com.google.bitcoin.core.Peer$PeerHandler@1cfceb7 -  org.jboss.netty.channel.ChannelException: Failed to create a selector.
        at org.jboss.netty.channel.socket.nio.NioClientSocketPipelineSink$Boss.register(NioClientSocketPipelineSink.java:198) ~[temp80.jar:na]
        at org.jboss.netty.channel.socket.nio.NioClientSocketPipelineSink.connect(NioClientSocketPipelineSink.java:155) ~[temp80.jar:na]
        at org.jboss.netty.channel.socket.nio.NioClientSocketPipelineSink.eventSunk(NioClientSocketPipelineSink.java:105) ~[temp80.jar:na]
        at com.google.bitcoin.core.TCPNetworkConnection$NetworkHandler.handleDownstream(TCPNetworkConnection.java:227) ~[temp80.jar:na]
        at com.google.bitcoin.core.Peer$PeerHandler.connectRequested(Peer.java:169) ~[temp80.jar:na]
        at org.jboss.netty.channel.Channels.connect(Channels.java:535) [temp80.jar:na]
        at org.jboss.netty.channel.AbstractChannel.connect(AbstractChannel.java:204) [temp80.jar:na]
        at org.jboss.netty.bootstrap.ClientBootstrap.connect(ClientBootstrap.java:230) [temp80.jar:na]
        at org.jboss.netty.bootstrap.ClientBootstrap.connect(ClientBootstrap.java:183) [temp80.jar:na]
        at com.google.bitcoin.core.PeerGroup.connectTo(PeerGroup.java:575) [temp80.jar:na]
        at com.google.bitcoin.core.PeerGroup$PeerGroupThread.tryNextPeer(PeerGroup.java:550) [temp80.jar:na]
        at com.google.bitcoin.core.PeerGroup$PeerGroupThread.run(PeerGroup.java:477) [temp80.jar:na]
        Caused by: java.io.IOException: Unable to establish loopback connection
        at sun.nio.ch.PipeImpl$Initializer.run(Unknown Source) ~[na:1.7.0_09]
        at sun.nio.ch.PipeImpl$Initializer.run(Unknown Source) ~[na:1.7.0_09]
        at java.security.AccessController.doPrivileged(Native Method) ~[na:1.7.0_09]
        at sun.nio.ch.PipeImpl.<init>(Unknown Source) ~[na:1.7.0_09]
        at sun.nio.ch.SelectorProviderImpl.openPipe(Unknown Source) ~[na:1.7.0_09]
        at java.nio.channels.Pipe.open(Unknown Source) ~[na:1.7.0_09]
        at sun.nio.ch.WindowsSelectorImpl.<init>(Unknown Source) ~[na:1.7.0_09]
        at sun.nio.ch.WindowsSelectorProvider.openSelector(Unknown Source) ~[na:1.7.0_09]
        at java.nio.channels.Selector.open(Unknown Source) ~[na:1.7.0_09]
        at org.jboss.netty.channel.socket.nio.NioClientSocketPipelineSink$Boss.register(NioClientSocketPipelineSink.java:196) ~[temp80.jar:na]
        ... 11 common frames omitted
        Caused by: java.net.SocketException: Permission denied: listen
        at sun.nio.ch.Net.listen(Native Method) ~[na:1.7.0_09]
        at sun.nio.ch.ServerSocketChannelImpl.bind(Unknown Source) ~[na:1.7.0_09]
        at sun.nio.ch.ServerSocketAdaptor.bind(Unknown Source) ~[na:1.7.0_09]
        at sun.nio.ch.ServerSocketAdaptor.bind(Unknown Source) ~[na:1.7.0_09]
        ... 21 common frames omitted

        I will build a version of MultiBit with the parameter set for Kazimir to try out today. If that works I will raise an issue in bitcoinj with the fix mentioned. Bitcoinj is the place for it definitely.


        Title: Re: MultiBit
        Post by: Kazimir on November 09, 2012, 11:23:32 AM
        If the issue is actually some kind of broken IPv6 configuration that only impacts JDK7/Windows7 and results in a unique exception, we can put a workaround into bitcoinj itself. If we see a permission denied error on connect, the code can set that property and then try again. As long as the property value isn't being cached anywhere that should work.
        Oh, right, well if that's possible without restarting MultiBit, that'd be even better as the user wouldn't even notice there was a problem! http://i.imgur.com/BTzaG.png


        Title: Re: MultiBit
        Post by: jim618 on November 09, 2012, 05:16:03 PM
        @Kazimir,

        I have produced a multibit exe file with that property set so that IPv4 addresses are used.
        It is here:
        https://github.com/jim618/multibit/downloads (https://github.com/jim618/multibit/downloads)

        The multibit-for-kazimir.exe file

        Can you please try it out and let me know if you can connect ?

        To use it download it and save it in your MultiBit installation directory. (You can look at the properties of the shortcut that you use to start multibit to find the directory).
        Save the download in the same directory and double-click the multibit-for-kazimir.exe file directly.

        It is not QAed or anything - I have just built it in the last 15 mins or so.


        Title: Re: MultiBit
        Post by: jim618 on November 09, 2012, 09:24:16 PM
        With it being Bitcoin Friday I got to idly wondering what bitcoin I had in which wallets.
        There is a very handy smart folder option in Mac OSX where you can set up a search and all the results end up in a folder.

        Anyhow, the total number of wallet files I have on my machine since I started work on MultiBit.

        637

        Bloody Hell. They've bred like rabbits.


        My favourite wallet names out of the lot:

        처음 지갑.wallet (trying out Korean)

        Névtelen.wallet (not sure what I was doing there)

        multibit-20120624113805-20120624125502-20120624125935-20120624131155.wallet (must have been checking the wallet backup naming algorithm)


        Ok, having more than one wallet is useful but I would try and keep it to fewer than I have managed. :-)


        Title: Re: MultiBit
        Post by: jim618 on November 10, 2012, 07:58:20 PM
        Whilst sat in Debenhams cafe today, I wrote up the changes required for the next chunk of user interface work - currency conversions.

        I have written the changes up as a google doc. If you are interested, please have a read and add comments:

        https://docs.google.com/document/d/1mAfK1dqvQ1-3fCaE-BzcC_nb_eBxNe_NgZVo0KYt7Js/edit (https://docs.google.com/document/d/1mAfK1dqvQ1-3fCaE-BzcC_nb_eBxNe_NgZVo0KYt7Js/edit)

        The doc will not win any awards for art work but most of the changes should be pretty self evident.
        I will probably start work on these changes next week (whilst waiting for the encrypted wallet changes to get reviewed by the bitcoinj mailing list).


        Title: Re: MultiBit
        Post by: Kazimir on November 10, 2012, 08:46:32 PM
        Jim, thanks a lot for building the test version! Unfortunately, the problem still occurs. Again I tried with no firewalling going on whatsoever, but alas, to no avail. It keeps saying 'connecting...' in red, and it remains at 0 connections. I will PM you the new debug logs.


        Title: Re: MultiBit
        Post by: jim618 on November 10, 2012, 08:48:50 PM
        That is a pity.
        Yes - send me the logs and I will have another look.


        Title: Re: MultiBit
        Post by: jim618 on November 11, 2012, 02:12:19 PM
        @Kazimir

        Thanks for the logs - it is exactly the same error as before.

        Googling for the error, there is also this mention of the same error using Tomcat:
        http://tomcat.10.n6.nabble.com/Tomcat-6-0-18-startup-Permission-Denied-Error-listen-failed-initializing-endpoint-td2107716.html (http://tomcat.10.n6.nabble.com/Tomcat-6-0-18-startup-Permission-Denied-Error-listen-failed-initializing-endpoint-td2107716.html)

        Do you have Norton anti-virus or 360 on your PC ?

        If you look at the last post on that url the OP states that simply shutting down the Norton firewall was not sufficient, he had to uninstall it entirely. Seems a bit drastic but then Norton is pretty invasive.

        edit: Also, check that you don't have something else that is using port 8333 using netstat. Maybe you have some other bitcoin related software sat on that port. That might give a similar error.


        Title: Re: MultiBit
        Post by: Binford 6100 on November 11, 2012, 04:17:15 PM
        Névtelen.wallet (not sure what I was doing there)

        looks like .hu locale (some magyar users could confirm)


        Title: Re: MultiBit
        Post by: Kazimir on November 11, 2012, 04:22:28 PM
        Do you have Norton anti-virus or 360 on your PC ?
        Hell no, none of that crap on my system :)

        Only thing that I normally have running is a firewall. But I completely closed that (not just disabled but actually closed the thing entirely).
        I think I kept the previous version of MultiBit somewhere (before I updated to 0.4.14). I will restore that and see if that still works (never had any problems with it before).

        I'll check for anything else occupying port 8333 as well, but I doubt it (got no other networking / background stuff running).


        Title: Re: MultiBit
        Post by: jim618 on November 11, 2012, 04:28:06 PM
        Névtelen.wallet (not sure what I was doing there)

        looks like .hu locale (some magyar users could confirm)

        Yes - according to babylon.com it means anonymous in Hungarian - prob the default name for a new wallet = 'untitled'. Must have been testing the hu localisation at some point.


        Title: Re: MultiBit
        Post by: Kazimir on November 12, 2012, 08:48:31 AM
        @Jim: I restored version 0.4.6 (the one I used previously), and guess what, it worked! I assumed it had to do with Java, since a while ago I uninstalled Java (which was an old version at the time), and just recently installed the latest version of Java instead. But now with this new Java, the old 0.4.6 still works OK.

        Just in case it helps for comparison, I will also PM you the logs of 0.4.6 (which connected successfully). Note that this was with the firewall ENabled.

        Also checked if anything was messing with port 8333, but there wasn't.

        If you still have previous MultiBit versions available between 0.4.6 and 0.4.14, I can help you pinpoint the problem by binary searching the first version where this problem shows up?


        Title: Re: MultiBit
        Post by: jim618 on November 12, 2012, 02:30:05 PM
        Hi Kazimir,

        Thanks for your feedback and logs. The fact that 0.4.6 works on Java 7 with your firewall settings pretty much pins it down to a code issue (perhaps with something specific to do with your working environment thrown in).

        I tend to not change the network code if I dont have to (if it ain't broke don't fix it) so it tends to only change when I upgrade to a newer version of bitcoinj. I will dig out the versions of MultiBit post-bitcoinj upgrades and get you to test them out if that is ok.

        It will be a day or two as I am stuck into something else at the moment.

        At least if 0.4.6 works on your machine you will have access to your bitcoin ok.

        Cheers,

        Jim


        Title: Re: MultiBit
        Post by: Kazimir on November 12, 2012, 02:58:54 PM
        Sure Jim, anytime, happy to help solving this bug!

        And yes, I can still access my coins (even without network support I could theoretically export my private keys and access them otherwise). But 0.4.6 still works fine for me, no problem there.


        Title: Re: MultiBit
        Post by: jim618 on November 12, 2012, 09:30:42 PM
        I have been writing up some ideas for improvements to the wallet handling in MultiBit.
        They are not finalised yet (ie it is not a list of TODOs yet) but if you are interested here is the link:

        https://docs.google.com/document/d/1_8vwkQcv-Tcfx9aU-lKbWgDhAsOkpug3wiHyTo2sy0Y/edit# (https://docs.google.com/document/d/1_8vwkQcv-Tcfx9aU-lKbWgDhAsOkpug3wiHyTo2sy0Y/edit#)

        Anyone with the link can add comments.


        Title: Re: MultiBit
        Post by: slush on November 12, 2012, 09:39:07 PM
        Hi Jim, I'm just reading thru that Google document and I found the mnemonic chapter. What algorithm are you going to use? It would be nice to have the same algo for exporting the seed into the mnemonic across the clients. Right now I'm implementing into the token Electrum's mnemonic algo, but mostly because there's no other known standard (or is it?): https://github.com/spesmilo/electrum/blob/master/lib/mnemonic.py

        Let me know if you're considering something else or are you going with the same mnemonic style.


        Title: Re: MultiBit
        Post by: jim618 on November 12, 2012, 09:52:55 PM
        Hi Slush,

        I think there is only Electrum producing mnemonic pass phrases at the moment. I think Armory shows the equivalent in hex.
        I was going to propose to Pieter to put the Electrum algorithm into BIP32 so that it is standardised.

        From memory I think you have a vocab of about 1200 1626 words and the mnemonic pass phrase comes out as 12 words.
        You can tweak the size of the vocabulary and get the number of words down to 10 or so but I do not really see a good reason to have anything different.

        The advantage of a user being able to type exactly the same phrase into any compliant client is too big a win to do anything different unless someone comes up with an amazing improvement.


        Title: Re: MultiBit
        Post by: slush on November 12, 2012, 10:01:24 PM
        I absolutely agree, although I don't think that mnemonic algorithm itself should be a part of BIP32. Maybe Thomas will be able to knock up some BIP draft with the algorithm and the listing of the words. I don't think it needs to be too much official anyway.


        Title: Re: MultiBit
        Post by: jim618 on November 12, 2012, 10:05:39 PM
        Yes - you are right - it does not need to go into BIP32. As long as it is clear how to implement it with some test vectors that'll work.


        Title: Re: MultiBit
        Post by: jim618 on November 16, 2012, 08:44:39 PM
        I have started on the fiat currency support - in the beta code the wallet balance info appears in both BTC and the fiat currency that is in the first row of the ticker.

        Screen shot:

        http://multibit.org/postImages/fiat1.png

        The layout worked better with the gold coins icon removed so I have ripped it out.
        I still have a fair amount to do yet.


        Title: Re: MultiBit
        Post by: da2ce7 on November 17, 2012, 07:53:12 AM
        cool!


        Title: Re: MultiBit
        Post by: phr33 on November 17, 2012, 10:44:03 AM
        Looks really good  :)


        Title: Re: MultiBit
        Post by: jim618 on November 17, 2012, 06:21:06 PM
        Thanks!

        I have gone through all the supported currencies and translated the currency codes (e.g. USD) into the more familiar currency symbols ($).   Also, some currency symbols appear before the amount and some are after. It is a bit error prone finding this out so please have a look in the following screenshot to see if I have made any errors (they are in order of the currency codes):

        http://multibit.org/postImages/fiat2.png



        Title: Re: MultiBit
        Post by: Mushroomized on November 17, 2012, 06:28:20 PM
        Thanks!

        I have gone through all the supported currencies and translated the currency codes (e.g. USD) into the more familiar currency symbols ($).   Also, some currency symbols appear before the amount and some are after. It is a bit error prone finding this out so please have a look in the following screenshot to see if I have made any errors (they are in order of the currency codes):

        http://multibit.org/postImages/fiat2.png


        Can I request 1 btc = x Oz of gold/silver?


        Title: Re: MultiBit
        Post by: jim618 on November 17, 2012, 06:49:30 PM
        The rates are from Mt Gox so it is just what they have on their books.


        Title: Re: MultiBit
        Post by: Gabi on November 19, 2012, 02:54:29 PM
        Hi, i'm trying MultiBit right now.

        It seems a very good client, easy and quick to install, easy and quick to use, i can just open my wallets with it via the client itself, it's epic!

        Great job!


        Title: Re: MultiBit
        Post by: jim618 on November 19, 2012, 03:04:23 PM
        Thanks Gabi !

        It is bitcoinj that does the bitcoin network related work - MultiBit would not be possible without all the work Mike Hearn et al have put in.


        Title: Re: MultiBit
        Post by: PTseller on November 19, 2012, 03:07:45 PM
        Hi Jim618


        I have install new version of multibit and i open my wallet from hard disk from which i have generated new BTC address but nothing happen :( also done reset blockchain and transaction :( i am not getting my BTC back :(

        please help me out


        Hi PTSeller,

        1) Does the wallet have the address that you (or anyone else) has sent BTC to ?
        If not, then you need to find the wallet that has the address (and hence the private key) in. You need this before you can recover your bitcoin. You have multiple backups (from your previous post) so it should just be a matter of finding the right one.

        The most important thing is to find your private keys (for the addresses that have bitcoin on). If you can find these then there are a couple of ways to get your bitcoin back. Without them you cannot.

        2) Once you have found the wallet that contains the address/ private key then you can get the bitcoin transactions to appear in that wallet. This is what the 'reset blockchain and transactions' does. Work out the date of the first transaction that sent you bitcoin and then use the day before that date in the 'Reset blockchain and transactions' to replay the blocks. The MultiBit help gives a screenshot of the 'reset blockchain and transactions' so that might be useful if it is not clear how to pick a date.

        3)  You should be able to use the 'reset blockchain and transactions' to get your bitcoin back. However if you want another way to get your bitcoin back then export your private keys using the 'Tools | Export Private Keys' and import them into a blockchain.info wallet. You need to export the keys UNENCRYPTED and paste them into the Import Keys screen in blockchain.info so that blockchain.info can understand them.

        Regards,

        Jim








        Hello mate i am trying from a week but still i didn't got my BTC back :( i have BTC address on which i got 3 BTC payment i check all my Hard disk wallet and my laptop wallet nothing happen :(

        My BTC address on which i requested to buyer to send payment -> BTC address -> 1MfPk2Kifpv85zokzQWW3ZFjrw6tyguMWf

        Can you know anyone who can take my Laptop on remote and solve this issue !!


        Title: Re: MultiBit
        Post by: jim618 on November 19, 2012, 03:47:09 PM
        Hi PTSeller,

        Sorry to say that if you have not managed to find the relevant private key after looking for a week (the private key to the address 1MfPk2Kifpv85zokzQWW3ZFjrw6tyguMWf I mean) then I doubt anyone else will be able to find it. Unfortunately without the private key there is no way to spend your BTC on that address so effectively it is lost.

        :-(

        Jim


        Title: Re: MultiBit
        Post by: Nachtwind on November 19, 2012, 04:06:49 PM
        Hm.. i got some problem here..

        I am trying to import an old wallet after i had to format my PC and get the following error while loading:
        Code:
        Öffne Brieftasche "blubblubblub.wallet"...
        Datei mit Brieftasche ließ sich nicht laden "blubblubblub.wallet".
        Die Fehlermeldung war "java.io.InvalidObjectException enum constant OVERRIDDEN_BY_DOUBLE_SPEND does not exist in class com.google.bitcoin.core.TransactionConfidence$ConfidenceType"

        I guess even though its german its understandable :/



        Title: Re: MultiBit
        Post by: jim618 on November 19, 2012, 04:23:41 PM
        @PTSeller
        Mainly because of your posts, I have added into the encrypted wallet code the automatic generation of encrypted private key backups when users create new receiving addresses (amongst other things). In the future when people use an encrypted wallet and create new receiving addresses there will be a timestamped file created with the new private key in (encrypted with the wallet password).

        That will enable the future person in your situation to import the private key file to recreate their wallet.
        Obviously this is no help to you but it should save similar heartache in the future.


        Title: Re: MultiBit
        Post by: jim618 on November 19, 2012, 04:40:53 PM
        @Nachtwind

        Can you PM the two log files: multibit_debug.log and multibit_console.log and I will take a look. Also, if you know either of when exactly you created the wallet and/or which version of MultiBit you created it with that would help.

        The variable mentioned has been renamed but for protobuf wallets the representation on the disk is the same. If your wallet was one of the older serialised wallets (ie not migrated) that might be the root problem.

        I have all the old versions of MultiBit on disk so it might be easiest to give you the version you created it with and export the private keys, then import them into a brand new wallet.

        Anyhow, PM the logs and info to me and I will have a look.


        Title: Re: MultiBit
        Post by: jim618 on November 19, 2012, 05:59:01 PM
        @Nachtwind,

        I have had a look at the logs you sent me - thanks.
        I have uploaded what I think is the 'right' version of MultiBit that will be able to read that wallet and migrate it to the protobuf format (and then you should be ok).

        Try this:

        1) Backup your wallet file just in case something breaks.
        2) Did I mention to backup your wallet ?! :-)
        3) Go to: https://github.com/jim618/multibit/downloads (https://github.com/jim618/multibit/downloads) and install the 'MultiBit 0.4.10 - Windows installer for Nachtwind'.
        4) Open that specific version of MultiBit and then open up the wallet that does not load. I am hoping that you will get the message 'MultiBit would like to migrate 1 wallet(s)' and that the migrate will work cleanly.

        If the migrate works then you are done and will be able to open that wallet (which is now in the protobuf format) in your up-to-date version of MultiBit. (You then won't then need the 0.4.10 version of MultiBit unless you have any similar, old wallets).

        Let me know how you get on.

        Jim


        Title: Re: MultiBit
        Post by: jim618 on November 21, 2012, 03:11:23 PM
        Some more progress on the currency support.
        Screenshot:

        http://multibit.org/postImages/fiat4.png

        If you have the "Show bitcoin converted to fiat' checkbox selected you now get your transactions in your chosen fiat currency.

        Also, the decimal separator is now localised (i.e "," as the locale is German).
        I have consolidated the 'Credit' and 'Debit' columns into one and colour coded them in the conventional manner.


        Title: Re: MultiBit
        Post by: slush on November 21, 2012, 03:26:10 PM
        The rates are from Mt Gox so it is just what they have on their books.

        Any chance to use http://openexchangerates.org/documentation for conversions from mtgoxUSD to any other currency like CZK? That would be *really* useful...

        Edit: Oh, now I see it is paid even for non-commercial use. Maybe there's another free source?


        Title: Re: MultiBit
        Post by: jim618 on November 21, 2012, 04:44:14 PM
        The rates are from Mt Gox so it is just what they have on their books.

        Any chance to use http://openexchangerates.org/documentation for conversions from mtgoxUSD to any other currency like CZK? That would be *really* useful...

        Edit: Oh, now I see it is paid even for non-commercial use. Maybe there's another free source?

        Hi Slush,
        I was simplifying a little when I said the rates are from Mt Gox. I can use any exchange available in the library I use (called XChange - written by Tim Molter and Gary Rowe).

        The most recent version has adapters for MtGox and a Canadian exchange Cavirtex. I have not updated the XChange version I am using so just have Mt Gox available at the moment.

        There is a drop down in the Preferences where the exchanges are exposed (for when there is more than one). XChange is open source so I am hoping other exchanges will open their APIs and wrap them up into the XChange format so that they become available to MultiBit (and anyone else who wants them).


        Title: Re: MultiBit
        Post by: HostFat on November 21, 2012, 05:08:46 PM
        Is this bad?
        http://bitcoincharts.com/t/weighted_prices.json


        Title: Re: MultiBit
        Post by: slush on November 21, 2012, 05:25:10 PM
        There is a drop down in the Preferences where the exchanges are exposed (for when there is more than one). XChange is open source so I am hoping other exchanges will open their APIs and wrap them up into the XChange format so that they become available to MultiBit (and anyone else who wants them).

        I think we both talk about something different. You're talking about supporting of more exchanges, but I asked for currency conversions. You know there are 100+ currencies over the world, most of them don't have native BTC exchange or the volume is tiny.

        Users usually take USD/BTC currency and recalculate it to local currency using USD/<somecurrency> rate. Doing this manually is really annoying and USD/BTC price don't tell much to people who don't use USD currency in real life. So it would be really useful to see such conversion directly in the client.


        Title: Re: MultiBit
        Post by: jim618 on November 21, 2012, 05:33:11 PM
        There is a drop down in the Preferences where the exchanges are exposed (for when there is more than one). XChange is open source so I am hoping other exchanges will open their APIs and wrap them up into the XChange format so that they become available to MultiBit (and anyone else who wants them).

        I think we both talk about something different. You're talking about supporting of more exchanges, but I asked for currency conversions. You know there are 100+ currencies over the world, most of them don't have native BTC exchange or the volume is tiny.

        Users usually take USD/BTC currency and recalculate it to local currency using USD/<somecurrency> rate. Doing this manually is really annoying and USD/BTC price don't tell much to people who don't use USD currency in real life. So it would be really useful to see such conversion directly in the client.

        Ahh I see what you mean. I will have a think about that.


        Title: Re: MultiBit
        Post by: World on November 21, 2012, 06:18:15 PM
        this developer using 220+ currencies ,but no idea where data come from
        http://palple.net (http://palple.net)
        http://www.palple.net/widgets/currencyconverter/index.html (http://www.palple.net/widgets/currencyconverter/index.html)
        http://cl.ly/L4K2/Screen%20Shot%202012-11-21%20at%207.07.32%20PM.png


        Title: Re: MultiBit
        Post by: jim618 on November 21, 2012, 06:56:00 PM
        I think there is quite a conceptual difference between a rate that is the last value from an exchange, and one derived from a crossrate (i.e one currency rate / another currency rate).

        For the last value from an exchange you know that there was a willing buyer and a willing seller that transacted a BTC <-> fiat exchange at that price at that exchange. That is pretty solid evidence of the exchange rate.
        For example : I sell you 3 apples for 2 oranges. The exchange rate is 1.5 apples per orange. No arguments about that.

        If you multiply or divide by a cross rate then you have moved away from an exchange rate.

        Consider:
        Person A is willing to exchange 3 apples for 2 oranges with person B.
        Person B is willing to exchange 2 oranges for 100g of chocolate with person C.

        Does that mean that the exchange rate for apples and chocolate between person A and person C is 3 apples : 100g of chocolate ?

        No. It depends on the relative utility of apples and chocolate to person A and person C. Person A might hate chocolate.

        TL; DR.   An exchange rate from an actual transaction is far more solid than multiplying and dividing by currency cross rates.


        Title: Re: MultiBit
        Post by: slush on November 21, 2012, 07:14:30 PM
        Nice philosophical analysis, Jim :-).

        However people are doing such conversions every day to see current bitcoin value in their national currencies and having a support in the client would help a lot of people. Such "artifical" value is even used as reference value by local traders, like localbitcoins.com etc. And everybody understand that this price cannot be used for real trading on the exchange as that exchange doesn't support trading in that currency ;-).

        I think that option for choosing exchange rate source (exchange) and final currency to display would be the best solution for the client. However I understand that this may be a bit problematic in real word as I didn't find free currency rates yet :-/.


        Title: Re: MultiBit
        Post by: jim618 on November 21, 2012, 07:28:29 PM
        Yeah - it is a difficult one to do without creating user error paths.

        I think a bit later on I will put in the provision for a 'custom rate' so if I put in the option for choosing both the currency unit and the rate that might do it.   I might put a little status annunciator - say on the status line - that a custom rate is being used or something.
        I can see it causing problems though when people set it wrong/ it becomes out of date etc.

        As the rate will (when I do it which will be pretty soon) be used for the conversion of the fiat amount the user types in to the bitcoin amount that is charged it has to be pretty solid.

        For this tranche of work I will use the exchanges and currencies : get it released and see what user feedback is and what ideas people come up with.


        Title: Re: MultiBit
        Post by: freemoney458 on November 21, 2012, 09:49:03 PM
        Hi Jim,

        the new currency conversion features are absolutely awesome!

        I also like very much that MultiBit now shows the transaction volume in one column instead of two, it saves a lot of screen space.

        One proposal for the currency conversion:
        The exchanges always produce several prices, especially ask and bid rate.
        Some users might want that incoming bitcoins are shown with the 'bid' exchange rate and outgoing bitcoins with the 'ask' exchange rate.
        Others might want the exact opposite behaviour or that the latest price shall be used.
        This can be very user specific and might even be different depending on the use case, e.g. if the user in one case acts as a local exchanger and in another use case acts as a simple consumer.

        Here are my suggestions:
        1. The user should be able to set the automatic currency conversion behaviour of MultiBit individually per wallet. This way users can handle different use cases by using different wallets.
        2. Automatic currency conversion to BTC prior to sending BTC: The user should be able to specify in the send dialog which price to use (ask, bid, latest). The default rate should be used according to 1.
        3. Automatic currency conversion to BTC prior to requesting BTC (=creation of a new address): Same like 2.
        4. Automatic currency conversion behaviour in the transactions pane should be fixed per wallet according to 1.

        Thinking about it, it might as well be a very bad idea due to the complexity for the user. It might create more trouble than it is worth...
        Anyhow, I wanted to mention it.

        Cheers,
        freemoney458


        Title: Re: MultiBit
        Post by: jim618 on November 21, 2012, 10:25:42 PM
        Hi freemoney,

        Thanks for your ideas and feedback.

        Yea I can imagine people wanting to tweak the rates used in various ways:
        1) bid/ ask/ last as you mentioned
        2) smoothing rates or daily rates (perhaps for their accounts as GAAP uses daily rates)
        3) 'tweaking' ie shift the rate a percent or two to make a profit
        4) other stuff I have not thought of

        Currently I am just using the last rate from Mt Gox (well I get the rate every 60 600 seconds so it will be a little out of date) which is the simplest I think.

        Having a single amount rather than Debit / Credit is definitely better I agree - I must admit I have copied this format from the other clients !




        Title: Re: MultiBit
        Post by: jim618 on November 22, 2012, 12:34:25 PM
        Just added the ability to swop the amount that appears in the single wallet panels between BTC and fiat. Screenshot:

        Edit: Changed - see further down thread.


        Title: Re: MultiBit
        Post by: Mike Hearn on November 22, 2012, 01:20:25 PM
        Awesome. I'm loving MultiBit these days.

        Shouldn't it be "swap" not "swop"?


        Title: Re: MultiBit
        Post by: slush on November 22, 2012, 01:34:47 PM
        Hm, what about displaying both amounts next to each other (on same vertical level)? Tooltips imho should not be used for such kind of information.


        Title: Re: MultiBit
        Post by: jim618 on November 22, 2012, 02:12:40 PM
        @Mike
        Thanks ! I am enjoying the currency work actually as it will make it more useful for everyday use.
        Apparently swop and swap are variants of each other. I am not sure which is the more common one for all English speakers.

        @Slush. There is not much space in the single wallet panels - basically two lines the top one of which is the description. There may well be other icons appearing on the bottom row over time (eg an icon for your device when you plug it in so I don't want to overcrowd it.

        To get the full balance info you want to see (maximally) the estimated + available balance in both currencies so you are going to want to click the single wallet panel to make it the active one. Then everything appears in the header.


        Title: Re: MultiBit
        Post by: Grouver (BtcBalance) on November 22, 2012, 02:31:15 PM
        If only Multibit was bound to Java. :(


        Title: Re: MultiBit
        Post by: Mike Hearn on November 22, 2012, 02:35:36 PM
        The one I'm used to seeing is "swap" at least, "swop" looks odd.

        I agree with Slush that it'd be nice to be able to see both BTC and fiat balances simultaneously, somehow. Perhaps by making the wallet panels a bit wider.


        Title: Re: MultiBit
        Post by: promankirov on November 22, 2012, 02:44:20 PM
        I'm trying MultiBit.
        It seems a very good client.

        Thanks to the developers!


        Title: Re: MultiBit
        Post by: jim618 on November 22, 2012, 02:45:18 PM
        I will put the amount in the single wallet panel as 'xxx BTC (fiat amount)' and widen the panel if required.

        Simplifies the control as well as it is one less click-to-do-something.
        That makes the tooltip unnecessary so I will remove it.

        In finance they always talk about 'swaps' so I think that is the more common one yes.

        @promankirov: thanks !


        Title: Re: MultiBit
        Post by: jim618 on November 22, 2012, 02:49:41 PM
        If only Multibit was bound to Java. :(


        I presume you mean 'not bound to Java'.
        It is a pretty useful abstraction layer - I doubt I could get stuff working on all of Win/ Linux/ Mac without it.

        You can put both MultiBit and an installation of Java on a USB drive and not have it installed on your machine if you want.


        Title: Re: MultiBit
        Post by: jim618 on November 22, 2012, 07:08:34 PM
        I have updated the wallet panel to show both the BTC and fiat amounts:

        http://multibit.org/postImages/fiat6.png


        Title: Re: MultiBit
        Post by: World on November 22, 2012, 08:00:08 PM
        will be nice if different wallet has a different fiat amounts calculation for each country


        Title: Re: MultiBit
        Post by: jim618 on November 22, 2012, 08:12:17 PM
        Hi World,

        It is one of things with customisation, where do you stop ?

        I figure the majority of people will want to convert to their 'home' currency so I have put in a 'per user' setting. Not sure it is worth having another level of settings to go down to the 'per wallet' level.


        Title: Re: MultiBit
        Post by: jim618 on November 23, 2012, 12:37:19 PM
        Initial layout of the currency support in the Send panel:

        http://multibit.org/postImages/fiat7.png

        It is not fully hooked up yet : the idea is you can type in either the BTC amount field or the fiat one and the other automatically fills out.
        The Request panel will be similar.

        It is a straight copy from blockchain.info as that is the best usage I have seen.


        Title: Re: MultiBit
        Post by: jim618 on November 26, 2012, 02:32:29 PM
        I have progressed the currency conversion and done a little infographic (that I will probably use in the help) on using it:

        http://multibit.org/postImages/fiat8.png

        There is a bit of finishing off to do but hopefully I will get a live version with the currency support in by the end of this week.


        Title: Re: MultiBit
        Post by: flooraccount on November 28, 2012, 02:40:00 AM
        Thank you. Problem solved.


        Title: Re: MultiBit
        Post by: Binford 6100 on November 28, 2012, 03:02:12 AM
        hi jim, any plans to support send to many? creating multiple outputs in one tx, like the satoshi client does?
        i just noticed I can't do that and got used to it ...
        besides that great client : )


        Title: Re: MultiBit
        Post by: jim618 on November 28, 2012, 08:25:04 AM
        Hi Binford 6100,

        Mainly as I have other things I want to get in, I don't plan to add it in for the foreseeable future no.


        Title: Re: MultiBit
        Post by: jim618 on November 28, 2012, 08:47:05 AM
        If you look at the transaction [redacted] you can see the second [redacted] output you are trying to spend is already spent. That is why your transaction is not propagating through the network (ie it is only seen by the peer you first sent it to).

        You should be able to scrub that transaction from your wallet if you do a 'Tools | Reset Blockchain and Transactions' if you choose the date THE DAY BEFORE the transaction. (it removes transactions using UTC time so if you are east of the UK if you choose the day before you avoid timezone problems).


        Title: Re: MultiBit
        Post by: jim618 on November 28, 2012, 03:36:22 PM
        Happy Halving Day Everybody !


        Title: Re: MultiBit
        Post by: flooraccount on November 28, 2012, 04:09:24 PM
        Jim, can you edit out the quote in https://bitcointalk.org/index.php?topic=43616.msg1362963#msg1362963 please?
        Problem was solved by downloading blockchain from Nov. 22 as you stated.


        Title: Re: MultiBit
        Post by: jim618 on November 28, 2012, 05:38:44 PM
        @flooraccount
        Removed as per your request.


        Title: Re: MultiBit
        Post by: jim618 on November 29, 2012, 11:52:03 AM
        I think I have done all the currency support / number localisation work. Screenshot:

        http://multibit.org/postImages/fiat9.png

        It is quite easy to miss localising something on one of the screens/ warning dialogs so I will spend the next 2 or 3 days:
        + porting the code to the live branch (it is all in the encrypted wallets branch at the moment)
        + testing the various screens/ drag and drop/ bitcoin URI support

        There should not be any new localisation terms added before the release - thanks for the localisation efforts everybody over the last couple of weeks. The help/ website will need updating but I can do that afterwards.

        Assuming nothing too serious turns up in the testing I aim to get it out on Monday.

        (Edit: and then the encrypted wallet beta with the currency support in should be a couple of days later)


        Title: Re: MultiBit
        Post by: jim618 on November 29, 2012, 02:37:24 PM
        Gary has started discussions with the lead dev of http://openexchangerates.org/ (Joss) to see if we can get some bitcoin to 'other fiat' cross rates.

        On their FAQ they mention adding in bitcoin by 'the end of 2012' so they look bitcoin friendly.


        Title: Re: MultiBit
        Post by: Mushroomized on November 29, 2012, 07:33:52 PM
        Gary has started discussions with the lead dev of http://openexchangerates.org/ (Joss) to see if we can get some bitcoin to 'other fiat' cross rates.

        On their FAQ they mention adding in bitcoin by 'the end of 2012' so they look bitcoin friendly.
        Very nice


        Title: Re: MultiBit
        Post by: Binford 6100 on November 30, 2012, 09:20:00 AM
        hi jim, i tried to start the mac os multibit.app with the -testnet switch
        i guess you know it does not work this way. what's the proper way to connect multibit to testnet, use testnet addresses and stuff, please?

        the boring part:
         /Applications/MultiBit-0.4.10.app/Contents/MacOS/JavaApplicationStub -testnet
        10:16:12.566 [main] INFO  o.m.ApplicationDataDirectoryLocator - Application data directory.1 = '/Users/piatok/Library/Application Support/MultiBit'
        10:16:12.603 [main] INFO  o.m.ApplicationDataDirectoryLocator - Application data directory.1 - Log files are '/Users/piatok/Library/Application Support/MultiBit/multibit_console.log' and '/Users/piatok/Library/Application Support/MultiBit/multibit_debug.log'.
        Nov 30 10:16:14 my-MacBook-Pro.local JavaApplicationStub[14487] <Error>: CGContextGetCTM: invalid context 0x0
        Nov 30 10:16:14 my-MacBook-Pro.local JavaApplicationStub[14487] <Error>: CGContextSetBaseCTM: invalid context 0x0
        Nov 30 10:16:14 my-MacBook-Pro.local JavaApplicationStub[14487] <Error>: CGContextGetCTM: invalid context 0x0
        Nov 30 10:16:14 my-MacBook-Pro.local JavaApplicationStub[14487] <Error>: CGContextSetBaseCTM: invalid context 0x0
        10:16:15.049 [main] DEBUG org.multibit.MultiBitInExecutableJar - Redirecting file output back to console
        TickerTimerTask - Current exchange rate for BTC/USD: USD 12.49892, bid = USD 12.49791, ask = USD 12.55001
        10:16:20.191 [PeerGroup-1-thread-1] DEBUG o.m.network.MultiBitDownloadListener - Download - blocksSoFar = 46
        10:16:20.521 [PeerGroup-1-thread-1] DEBUG o.m.network.MultiBitDownloadListener - Download - blocksSoFar = 45


        Title: Re: MultiBit
        Post by: jim618 on November 30, 2012, 10:04:02 AM
        Hi Binford 6100,

        To use the testnet, there is an option that you put in the multibit.properties configuration file.

        I see you are on a Mac, so I recommend doing the following:
        1) Duplicate your multibit.app to, say, multibit-testnet.app
        2) In Finder, do a right click and 'Show Package Contents'.
        3) Navigate to: /Contents/Resources/Java
        4) If you put a 'multibit.properties' file in the Java directory that install of multibit (only) will pick it up and use it. It effecively runs in local mode and does not use your user data area.
        5) Create in TextPad a file called multibit.properties and save it to the Java directory.
        6) In the file add the line:
              testOrProductionNetwork=test
        (case sensitive)
        7) Then when you open that install of multibit you will connect to the testnet and see something like:
        http://multibit.org/postImages/testnet.png

        A couple of things to note:
        a) I almost never use the testnet so you might run into some gotchas - let me know if you do.
        b) This is the 'old' testnet (with genesis hash 0000000224b1593e3ff16a0e3b61285bbc393a39f78c8aa48c456142671f7110)
        There is also a newer testnet3 (with genesis hash 000000000933ea01ad0ee984209779baaec3ced90fa3f408719526f8d77f4943) that currently there is no switch for. If you need this I can add it in - just let me know.


        Title: Re: MultiBit
        Post by: Binford 6100 on November 30, 2012, 12:19:27 PM
        jim, thanks a lot!
        i followed your guide, well written and easy to follow and it worked as expected, just much much faster.
        the reason is i'm promoting bitcoin to friends and want to give away test net coins so that they can play with them, loose them, get hands on experience w/o having to test with 1/100-1/1000 of btc or fear to loose more if using the real blockchain. testnet coins are still dirt cheap.
        if i'll ever need the switch for testnet3 i'll let you know.
        p.s. i also need a testnet client to verify the translations i work on : )


        Title: Re: MultiBit
        Post by: PTseller on November 30, 2012, 12:43:39 PM
        Hi PTSeller,

        Sorry to say that if you have not managed to find the relevant private key after looking for a week (the private key to the address 1MfPk2Kifpv85zokzQWW3ZFjrw6tyguMWf I mean) then I doubt anyone else will be able to find it. Unfortunately without the private key there is no way to spend your BTC on that address so effectively it is lost.

        :-(

        Jim


        hello Jim can you please tell me how does private key looks like ? i am new to BTC thing thank you !!


        Title: Re: MultiBit
        Post by: jim618 on November 30, 2012, 12:58:59 PM
        There is one private key for each bitcoin address listed in the 'Request tab'. These are the receiving addresses that people send bitcoin to.

        If you have the receiving address/ bitcoin address in your wallet then you will have the private key in your wallet. You need the private key to spend your bitcoin which is why it is so important.

        There is a little bit more in the multibit help here:
        http://multibit.org/v0.5/help_whatIsAPrivateKey.html (http://multibit.org/v0.5/help_whatIsAPrivateKey.html)


        Title: Re: MultiBit
        Post by: PTseller on November 30, 2012, 01:15:09 PM
        There is one private key for each bitcoin address listed in the 'Request tab'. These are the receiving addresses that people send bitcoin to.

        If you have the receiving address/ bitcoin address in your wallet then you will have the private key in your wallet. You need the private key to spend your bitcoin which is why it is so important.

        There is a little bit more in the multibit help here:
        http://multibit.org/v0.5/help_whatIsAPrivateKey.html (http://multibit.org/v0.5/help_whatIsAPrivateKey.html)

        i have many files in hard disk how does it looks like mate ?


        Title: Re: MultiBit
        Post by: jim618 on November 30, 2012, 01:38:07 PM
        The MultiBit/bitcoinj private keys are 32 bytes long and stored in the wallets in binary format.
        Realistically you need a program to parse the recent (protobuf) wallets to extract them. If you look at it in a hex editor it is all just bytes.

        In theory the wallets can be parsed using a variety of programming languages but to my knowledge there is only MultiBit/ bitcoinj that can read them.


        Title: Re: MultiBit
        Post by: World on December 02, 2012, 12:26:29 AM
        Gary has started discussions with the lead dev of http://openexchangerates.org/ (Joss) to see if we can get some bitcoin to 'other fiat' cross rates.

        On their FAQ they mention adding in bitcoin by 'the end of 2012' so they look bitcoin friendly.
        good news


        Title: Re: MultiBit
        Post by: PTseller on December 03, 2012, 09:35:34 AM


        Hello

        i just formated my system installed my multibit again but when i replaced my wallet with original one ( the backup one ) its gives me error


        Error - > Could not load the wallet file "C:\Users\---------\AppData\Roaming\MultiBit\multibit.wallet".
        The error message was "java.io.FileNotFoundException C:\Users\--------\AppData\Roaming\MultiBit\multibit.wallet (The system cannot find the path specified)"




        Title: Re: MultiBit
        Post by: jim618 on December 03, 2012, 11:58:19 AM
        That is the file path of the default wallet name.
        I would check things like: is the file there ?, are you logged on as the same user ? etc.
        You can rename your backup wallet file and open it directly if you want to.


        Title: Re: MultiBit
        Post by: jim618 on December 03, 2012, 02:24:07 PM
        There is a new live release of MultiBit at:

        multibit.org (http://multibit.org)


        Version 0.4.15

        Improvements
        + Fiat currency support (as outlined in the last few pages of this thread)
        + I18n refresh
        + Mac now uses command-c and v for cut and paste


        Scan of release checklist (http://multibit.org/test/releaseCheckList-0.4.15.jpg)


        The encrypted wallets version with all the currency support should be out in a couple of days.


        Title: Re: MultiBit
        Post by: jim618 on December 04, 2012, 02:42:25 PM
        Thanks for the donations to the multibit.org donations address in November and December !
        They are always appreciated.
        :-)


        Title: Re: MultiBit
        Post by: jim618 on December 04, 2012, 03:07:25 PM
        I have tweaked the BTC amount so that it is aligned on the decimal point as it is easier to read.
        Screenshot:

        http://multibit.org/postImages/fiat10.png

        Also, the Amount columns were not sorting correctly (it was ignoring the amount sign). This is now fixed.

        These changes will go in the next encrypted wallet release. They are 'nice to haves' rather than urgent bug fixes so I will wait and bundle them into the next live release.

        If you spot any inconsistencies with things like the number parsing, currency support or translations please post here. I have gone through the basic combinations but of course there are lots of currencies x languages now.


        Title: Re: MultiBit
        Post by: slush on December 04, 2012, 04:20:08 PM
        Jim, I tested latest release, monetary calculations looks very nice :-).

        However I think I've found one bug, wallets (left columns) don't adapt column wide, so wallet balances are hidden under right column...

        http://i.imgur.com/jWJ2b.png

        Hopefully there won't be too many bugs in this release, so you will focus to BIP32 wallets ;-).


        Title: Re: MultiBit
        Post by: jim618 on December 04, 2012, 04:55:31 PM
        Hi Slush,
        Thanks for that. Must be some of my component sizing calcs are screwy.

        Oh yes there is plenty to do on the BIP32 / piglet work that is for sure !
        It is definitely more of a marathon than a sprint.

        :-)

        Edit: my rough list of work is:
        + Currency support - initial version done (some promising stuff from openexchangerate.org / XChange further down the pipe).
        + Change being spendable - will prob do this next.
        + Encrypted wallets (random key) - I have a set of review comments from Mike + add in wallet master key to do. Also some UI work (new wallet wizard screen) which also preps for BIP 32/ watch only wallets.
        + Speed up - I am hoping bloom filters will be available 'at some point'. I should not have to do too much to use this but there will be something I am sure
        + BIP 32 / HD wallets. These need to be coded up robustly - noone has started these in bitcoinj yet I don't think.
        + Piglet coding, including the wire protocol.

        If there are any bitcoinj familiar Java devs who fancy starting the last two items now don't be shy !


        Title: Re: MultiBit
        Post by: Mike Hearn on December 04, 2012, 05:13:23 PM
        Thanks for paying attention to these small UI details Jim. It really makes the difference. I hope at some point we can get an artist/designer to contribute and really make MultiBit look slick as hell.

        What is Piglet, exactly?

        Bloom filters are, as far as I know, pending on Matt syncing his Java branch with the latest C++ code. The decision was to use a more compact merkle-block encoding and that meant extra code and spec work.


        Title: Re: MultiBit
        Post by: jim618 on December 04, 2012, 05:38:00 PM
        Hi Mike,

        Yes I must admit my GUI skills are fairly limited - if it ends up a bit boring but reliable I will be happy with that.

        Sounds like bloom filters are step by step becoming reality - it was always going to be a bit of a long coordination job that task.

        Piglet is the working term for the BIP 32 compliant hardware wallet Slush and Stick et al have been working on:
        https://bitcointalk.org/index.php?topic=122438.0

        I plan to support it in MultiBit and Slush has an Electrum fork he is working on. Alan Reiner has been posting quite a bit on the BIP 32 / HD wallet structure on that thread too so I am pretty sure he will add support into Armory too. (as both Armory and Electrum are both python I imagine most of the code will be shared).


        Title: Re: MultiBit
        Post by: wtfvanity on December 05, 2012, 02:42:02 PM
        Love multibit. Love the fact that it only takes 10 seconds to download the block chain not 10 hours. The saddest thing to me is no support for multiple output transactions. I'll continue to use the main client for that. However, I have two suggestions for the program after using it for a bit.

        1. Can you trim the white space off of a BTC address? When I copy and paste an address and it tells me it's invalid- well it's annoying. If not, could you provide more information to the user why? Like an invalid character such as letters outside of the allowed or white space or incorrect length or something. That could possibly prevent some hair pulling for a new users.

        2. Can you warn when coins are being sent to your own wallet? I don't know how I did it, but I completely messed up a copy and paste. The address was valid because it was mine. So I sent a transaction, wasted a fee and had to wait 10 extra minutes for the confirmation to have the next send be inserted into a block.


        Title: Re: MultiBit
        Post by: jim618 on December 05, 2012, 03:11:10 PM
        Hi wtfvanity,

        Thanks for your feedback.

        I recently added a trim of whitespace to the address. It is only in the most recent version (0.4.15). Was that the version you were using ? - If so then I will have to look at it again as maybe I have missed it or put it in the wrong branch.

        As it seems a common request I will have a think about adding multiple transactions on a send. It does not fit very well with the current UI where the top panel and the bottom panel are dynamically linked and entails beefing up the fees algorithm which is why I have been a bit reluctant to do it. It is pretty useful though and saves money so I'll put it on the ToDo list.

        A little note on the UI to highlight that the address you entered is in your own wallet is a good idea yes. Whilst not an 'illegal' thing to do it most likely is from a cut and paste error so would be worth highlighting.


        Title: Re: MultiBit
        Post by: jim618 on December 05, 2012, 04:59:16 PM
        1. Can you trim the white space off of a BTC address? When I copy and paste an address and it tells me it's invalid- well it's annoying. If not, could you provide more information to the user why? Like an invalid character such as letters outside of the allowed or white space or incorrect length or something. That could possibly prevent some hair pulling for a new users.

        I just tested version 0.4.15 with an added space both before and after the address and it trims the space and happily sends to that address. If you update to the latest version on the website you'll get it.


        Title: Re: MultiBit
        Post by: wtfvanity on December 05, 2012, 07:02:37 PM
        Hi wtfvanity,

        Thanks for your feedback.

        I recently added a trim of whitespace to the address. It is only in the most recent version (0.4.15). Was that the version you were using ? - If so then I will have to look at it again as maybe I have missed it or put it in the wrong branch.

        As it seems a common request I will have a think about adding multiple transactions on a send. It does not fit very well with the current UI where the top panel and the bottom panel are dynamically linked and entails beefing up the fees algorithm which is why I have been a bit reluctant to do it. It is pretty useful though and saves money so I'll put it on the ToDo list.

        A little note on the UI to highlight that the address you entered is in your own wallet is a good idea yes. Whilst not an 'illegal' thing to do it most likely is from a cut and paste error so would be worth highlighting.

        I am using 0.4.15. A space does not work, nor a tab, or a line break /n clfr etc.
        Space in front of the address does not work, nor in the middle of the address.

        It doesn't look like it made it into this branch.

        I agree that your existing UI, multiple outputs doesn't seem like there is a simple place to add it. In fact if you want to talk about UI, I thought the address book seemed confusing. I was testing it out and sent some coins and couldn't figure out how to "clear" it. Until I realized I was required to hit new or delete and start a new transaction. I'd love to see it but don't let that pull you off more important things. Again, that is an advanced feature. If someone is really using it then they may use the Satoshi client that is inherently more advanced.

        If you just put some text under the address that said *This address is in your own wallet, or something like that I don't need a dialogue box, just an FYI in case I'm being stupid because just as you mentioned, it's not against the rules to send them to yourself. New users may even do that on purpose so that they can see a transaction put into the block chain.


        Title: Re: MultiBit
        Post by: jim618 on December 05, 2012, 07:13:13 PM
        I'll have a look at the spaces thing.


        Title: Re: MultiBit
        Post by: Gabi on December 06, 2012, 05:47:32 PM
        Noob question: what about supporting the satoshi client wallets in Multibit? I don't know how hard this is to do, so if it's a noob question forgive me


        Title: Re: MultiBit
        Post by: jim618 on December 06, 2012, 06:29:32 PM
        It would be pretty expensive to do because:
        1) it's a whole different format - you would spend ages doing compatibility testing.  
        2) if the Satoshi client made a change you'd be forced to rework things
        3) there are different versions of the MultiBit wallet that need extra code to read, having a whole new set of wallet formats (the Satoshi wallet versions) would just be one big continual headache.

        I am hoping the HD wallets (BIP 32) to be functionally compatible between clients (ie type in your long passphrase into any compliant client and your wallet is there) which would be a big win.  The representation of the HD wallets on the disk would not be compatible I expect but in this case it would not matter.


        Title: Re: MultiBit
        Post by: jim618 on December 07, 2012, 06:39:32 PM
        I just added in support for testnet3 in.
        In the multibit.properties file you add:

        testOrProductionNetwork=testnet3

        It seems to sync ok (39,455 blocks as of 07 Dec 2012 18:32).
        If anyone has some testnet3 coins they don't need I would be grateful if you sent some to:

        mfkrBmjdRXLNRcAQH7tfmVaBRknZxRrnV3

        as I have zero testnet3 coin.


        Title: Re: MultiBit
        Post by: slush on December 07, 2012, 07:39:06 PM
        Jim, I just sent you few spare coins...


        Title: Re: MultiBit
        Post by: jim618 on December 07, 2012, 07:54:37 PM
        Thanks!


        Title: Re: MultiBit
        Post by: jim618 on December 08, 2012, 05:18:41 PM
        There is a new test release of MultiBit at:

        github.com (https://github.com/jim618/multibit/downloads)

        Version 0.5.6beta (Encrypted wallets)

        Enhancements:
        + Everything from version 0.4.15 e.g currency support
        + Amount in BTC decimal aligned
        + testnet3 support
        + I think I have fixed the wallet panel being too wide in Linux (I never saw that bug so cannot be sure. Slush < could you try it out please ?).


        Scan of release checklist (http://multibit.org/test/releaseCheckList-0.5.6beta.jpg)


        Title: Re: MultiBit
        Post by: slush on December 08, 2012, 08:48:30 PM
        + I think I have fixed the wallet panel being too wide in Linux (I never saw that bug so cannot be sure. Slush < could you try it out please ?).

        Fixed! Thanks :-)


        Title: Re: MultiBit
        Post by: jim618 on December 08, 2012, 09:19:05 PM
        Great - thanks for checking that out.


        Title: Re: MultiBit
        Post by: freemoney458 on December 08, 2012, 10:23:06 PM
        There is a new test release of MultiBit at:

        github.com (https://github.com/jim618/multibit/downloads)

        Version 0.5.6beta (Encrypted wallets)

        Enhancements:
        + Everything from version 0.4.15 e.g currency support
        + Amount in BTC decimal aligned
        + testnet3 support
        + I think I have fixed the wallet panel being too wide in Linux (I never saw that bug so cannot be sure. Slush < could you try it out please ?).


        Scan of release checklist (http://multibit.org/test/releaseCheckList-0.5.6beta.jpg)


        Hi Jim,

        just tried it out. Works fine on my Mac OS X 10.5.8, great work!

        Small finding:
        I found that in the transactions panel the BTC decimal alignment gives a weird result if you have amounts with decimals and without decimals. It seems that the decimal separator shifts amounts WITH decimal places a bit to the LEFT. The result is that the digits from amounts WITH decimals are not aligned with the corresponding digits of amounts WITHOUT decimals.

        Thank you for this great client!


        Title: Re: MultiBit
        Post by: jim618 on December 09, 2012, 10:08:56 AM
        Hi Freemoney,

        Yes I noticed that too - the decimal align is actually:
        + right align everything to the left of the decimal symbol
        + left align everything after the decimal sign

        (the Java decimal align won't align on a comma so I had to do something more complicated).

        I left it as if I change the number shown it then does not match exactly the number in the amount field on the send/ request which is more confusing. People get annoyed if they type '1' and it gets changed to '1,0'

        I will have another go at tweaking the layout !


        Title: Re: MultiBit
        Post by: jim618 on December 09, 2012, 11:57:26 AM
        Fixed:

        http://multibit.org/postImages/fiat11.png

        I will probably do another live release in the next couple of days as the decimal align is worth having in the live code. Much easier to read.


        Title: Re: MultiBit
        Post by: jim618 on December 10, 2012, 02:51:23 PM
        There is a new live release of MultiBit at:

        multibit.org (http://multibit.org)


        Version 0.4.16

        Improvements
        + User interface tidy ups e.g. decimal align on BTC amounts, amount sorting fixed, wallet panel width fixed.


        Scan of release checklist (http://multibit.org/test/releaseCheckList-0.4.16.jpg)


        Title: Re: MultiBit
        Post by: slush on December 10, 2012, 03:23:47 PM
        Jim, I really like your checklist. I was thinking about something similar for Electrum as well and now I finally decided to compose it, too.


        Title: Re: MultiBit
        Post by: jim618 on December 10, 2012, 03:49:53 PM
        Hi Slush,

        I find it quite useful mainly as stops me from forgetting to, say, update the I18n.  Also it 'forces' me to put my test hat on and run through the basic stuff for real.  I have a few functional tests that bash the network too which help but most of the unit tests mock up anything to do with the bitcoin network.

        Also it is handy for gradually ironing out UI glitches (which Java is quite prone to because of all the look and feel stuff).

        I would try to keep it to a single page though or it gets too much of a burden.


        Title: Re: MultiBit
        Post by: jim618 on December 11, 2012, 07:58:20 PM
        Help and documentation are like bran flakes - you know it's good for you but it is pretty dull stuff.

        Anyhow: I have updated the MultiBit help and website with new screen shots and generally updated things.


        Title: Re: MultiBit
        Post by: Mushroomized on December 11, 2012, 08:23:32 PM
        Keep up the good work, enjoying the latest update.


        Title: Re: MultiBit
        Post by: jim618 on December 11, 2012, 08:30:41 PM
        Thanks !

        I must admit I find it handy to send someone 'Ł1' in bitcoin. Surprising how we have wired our brains to think in terms of fiat.


        Title: Re: MultiBit
        Post by: jim618 on December 11, 2012, 10:19:02 PM
        Hi subSTRATA,

        The fees in MultiBit are very basic - just a flat fee. It needs beefing up for the cases you mention. It is on both Mike and I 's list of things that need sorting out. (The full fee knapsack algorithm is not done in bitcoinj yet which would be the general solution. As I am sure you know fee calcs are a bit complicated as adding another fee output changes the size of the transaction)

        The choice of outputs that are used I would have to look up exactly what the code does -  I think from memory it is smallest first the general order of unspent outputs (ie no real order) but will check.

        The normal number of nodes it connects to is 4 yes. To save on bandwidth it nominates one (at random) to do the full block downloads from but listens to the others for pending transactions etc. Because MultiBit does not relay transactions it is actually a burden on the network (as it takes up connection slots on each bitcoind it connects to but gives nothing back to the Bitcoin network. This is another reason not to 'overconnect').  


        Title: Re: MultiBit
        Post by: jim618 on December 11, 2012, 11:07:54 PM
        Yeah - it is a perfectly valid transaction to send from a wallet back into the same wallet. If you look at the transaction by doing a right click and do 'Show transaction details' have a look at the raw transaction. You typically see a transaction like:

        Edit: better example.

        You want to send 1 BTC to address 1ABC that is in your own wallet.

        You consume an output on 1ABC that has value 2.000 BTC.
        To address 1ABC, value 1.000 BTC (the amount you want to send)
        To address 1ABC, value 0.999 BTC (the change)
        Fee is 0.001 BTC.

        When it works out if it is a debit or credit it nets the three amounts and decides it is a debit of 0.001 BTC. It is confusing when you see it as you expect to see the 1.000 BTC somewhere. In effect you have moved BTC from your left pocket to your right pocket and paid a miner for the privilege !

        I guess you *might* want to shuffle BTC from one address to another in the same wallet but earlier up the thread someone suggested to put a little note 'you are sending to your own wallet' to catch the case where you accidentally choose the wrong address or do a cut and paste mistake (which would probably be more likely). I think this is a good idea to put it in.



        Title: Re: MultiBit
        Post by: phelix on December 12, 2012, 08:34:42 AM
        Hi subSTRATA,

        The fees in MultiBit are very basic - just a flat fee. It needs beefing up for the cases you mention. It is on both Mike and I 's list of things that need sorting out. (The full fee knapsack algorithm is not done in bitcoinj yet which would be the general solution. As I am sure you know fee calcs are a bit complicated as adding another fee output changes the size of the transaction)
        [...]
        just keep it simple. fee calculation in the qt-client is way too complicated.


        Title: Re: MultiBit
        Post by: phelix on December 12, 2012, 08:38:11 AM
        There is a new test release of MultiBit at:

        github.com (https://github.com/jim618/multibit/downloads)

        Version 0.5.6beta (Encrypted wallets)

        Enhancements:
        + Everything from version 0.4.15 e.g currency support
        + Amount in BTC decimal aligned
        + testnet3 support
        + I think I have fixed the wallet panel being too wide in Linux (I never saw that bug so cannot be sure. Slush < could you try it out please ?).


        Scan of release checklist (http://multibit.org/test/releaseCheckList-0.5.6beta.jpg)


        do you have an idea when 0.5 will get out of beta status? would you say one could recommend it to a noob already?

        I am considering writing a bitcoin quickstart page. multibit with encryption currently is pretty much the only thing I would like to recommend.


        Title: Re: MultiBit
        Post by: jim618 on December 12, 2012, 08:56:18 AM
        Hi Phelix,

        That is a good question.

        Unfortunately the encryption code is not ready for general release yet mainly because the wallet format is still changing. It is improving - there will be a wallet master key that you can print off and use to reset your password if you forget it and I have a set of suggestions to go through from Mike to do. (He reviewed all the encryption code recently).

        The wallet master key is Alan Reiner's idea - apparently forgetting your password is not that uncommon - with the current MultiBit encrypted wallets if you forget your password you are stuck trying to brute force it.

        It's probably weeks of work to do it all.

        The current beta code is ok if you know what you are doing (ie understand private keys and back things up) but it is not ready for the general user yet. 


        Title: Re: MultiBit
        Post by: jim618 on December 12, 2012, 09:01:07 AM
        just keep it simple. fee calculation in the qt-client is way too complicated.

        I think BitcoinSpinner work out their fees by size of transaction only (last I spoke to Jan) so maybe I should move to the same algorithm as that would be an improvement on flat fees. I'll have a talk with him.


        Title: Re: MultiBit
        Post by: jim618 on December 12, 2012, 06:44:24 PM
        In the test code I have just implemented what I call the "Boomerang Rule" - see below:

        http://multibit.org/postImages/boomerang.png

        It enables change to be spendable immediately as long as the transaction propagates through the network ok.

        I will spend a little while testing it and then produce another test release (beta) with it in.
        It would be very useful if a few people could test it out to make sure it works as expected before I put it into the live code.


        Title: Re: MultiBit
        Post by: jim618 on December 13, 2012, 04:00:47 PM
        Previously the MultiBit binaries were being hosted on github.com
        They have stopped hosting binaries (presumably to save on bandwidth costs) so I have moved the binaries to Amazon S3.

        You shouldn't notice any difference other than the download link is different but any problems let me know.


        Title: Re: MultiBit
        Post by: Nachtwind on December 13, 2012, 08:54:04 PM
        Running .5.6 Beta here

        Whatever i do - i just get an error "Could not generate key from password and salt" every time i try to send coins. None of the wallets is encrypted.

        Any idea what this is about?


        Title: Re: MultiBit
        Post by: jim618 on December 13, 2012, 09:00:10 PM
        Can you PM me the log files please and I will have a look. The password and salt only apply to encrypted wallets as I am sure you have guessed.

        Oh and I have not forgotten about uploading some older versions of multiBit for you. Got a bit sidetracked with setting up Amazon S3.

        Edit: you might want to try creating a new unencrypted wallet. Then do an export from the one that is causing you the problem and import them into the new unencrypted one.


        Title: Re: MultiBit
        Post by: foo on December 14, 2012, 02:59:21 AM
        Hi Phelix,

        That is a good question.

        Unfortunately the encryption code is not ready for general release yet mainly because the wallet format is still changing. It is improving - there will be a wallet master key that you can print off and use to reset your password if you forget it and I have a set of suggestions to go through from Mike to do. (He reviewed all the encryption code recently).

        The wallet master key is Alan Reiner's idea - apparently forgetting your password is not that uncommon - with the current MultiBit encrypted wallets if you forget your password you are stuck trying to brute force it.

        It's probably weeks of work to do it all.

        The current beta code is ok if you know what you are doing (ie understand private keys and back things up) but it is not ready for the general user yet.  

        Hm... What's needed right now is a better alternative to Bitcoin-Qt for newbies that don't want to spend several days downloading gigabytes of blockchain. I would recommend MultiBit if it had wallet encryption.

        The feature you describe above sounds useful, but is it really worth spending time on it now? How about pushing that to 0.6+, and releasing a 0.5 with the same type of wallet encryption that Bitcoin-Qt has?

        MultiBit has an opportunity to increase its "market share" now while Bitcoin-Qt sucks, that may go away when ultraprune arrives. ;D


        Title: Re: MultiBit
        Post by: jim618 on December 14, 2012, 08:19:13 AM
        Hi Foo,

        The wallet encryption really has to be as good as possible right from the start. More testing and another round of improvements will be worth it in the long run.

        I agree it is a bit frustrating though.

        There is also an 'upgrade cost' of having different versions in the wild that I would like to avoid. If there are, say, 50 experienced users running the beta code and a new wallet version comes out then it is much easier to upgrade them rather than 1000s of less experienced users.

        Downloads of MultiBit are running at about 200 a day so even a small failure rate means people start losing their bitcoin.

        Once the 'spendable change' is released encrypted wallets will be the priority.

        Thanks for your feedback.


        Title: Re: MultiBit
        Post by: jim618 on December 14, 2012, 12:19:00 PM
        Running .5.6 Beta here

        Whatever i do - i just get an error "Could not generate key from password and salt" every time i try to send coins. None of the wallets is encrypted.

        Any idea what this is about?

        I have just (I think) found and fixed this bug whilst working on the 0.5.7beta release.

        Rebuilding and retesting it now.

        It was a bug in the code where it was incorrectly trying to generate an AES key for unencrypted wallets and hence failing.


        Title: Re: MultiBit
        Post by: Mike Hearn on December 14, 2012, 12:37:29 PM
        200 a day, nice! Remember the importance of upgrade notifications though!


        Title: Re: MultiBit
        Post by: jim618 on December 14, 2012, 01:55:22 PM
        Yeah - it is quite good fun watching the downloads.

        Moving from github to AWS S3 means I have lost the very easy to use download figures - I just have a whole load of Apache style logs that need parsing now. I might actually shell out a few dollars a month on one of the S3 log parsers that are available.

        I have not forgotten about notifications no !

        :-)


        Title: Re: MultiBit
        Post by: jim618 on December 14, 2012, 03:49:46 PM
        There is a new test release of MultiBit.
        The downloads URLs are at:

        http://multibit.org/releases.html (http://multibit.org/releases.html)


        Version 0.5.7beta (Encrypted wallets)

        Enhancements:
        + Change is now spendable as soon as the transaction traverses the Bitcoin network.
        + Fix for "Could not generate key from password and salt" bug on send from unencrypted wallets.

        Scan of release checklist (http://multibit.org/test/releaseCheckList-0.5.7beta.jpg)



        This fixes the feature of MultiBit that you could not spend change until the next block confirmation.
        It would be very useful if a few people could test it out in the next few days before I put the change into the live code.


        Title: Re: MultiBit
        Post by: Mike Hearn on December 14, 2012, 04:20:11 PM
        Got a link to the patch you made, so I can give it a quick review?


        Title: Re: MultiBit
        Post by: jim618 on December 14, 2012, 04:55:11 PM

        Hi Mike,

        That would be very useful cheers.
        There are three main changes, all of which I have put into the Wallet (though 3 should prob go into Transaction):

        1) Wallet#completeTx now looks through the pending tx if there is not enough bitcoin in the unspent pool:
        https://github.com/jim618/multibit/blob/v0.5-bitcoinj-0.7/src/main/java/com/google/bitcoin/core/Wallet.java

        2) The Wallet#getBalance(BalanceType) works with another BalanceType (BalanceType.AVAILABLE_WITH_BOOMERANG_CHANGE):
        (same URL)
        This includes pending change if it has been seen by 2 peers.

        3) I would be interested if you could think of a neater way of detecting your own change. In the Wallet I have a method:

        transactionSpendsFromThisWalletAndHasBoomerangedBack

        which feels a little clunky.

        The rest of the changes are things like not allowing you to spend before you are connected to 2 peers (so as to give you a good chance of detecting the tx coming back) and UI updates when I get a onTransactionConfidenceChanged that I presume you are not so interested in.


        Title: Re: MultiBit
        Post by: freemoney458 on December 14, 2012, 08:36:41 PM
        Hi Jim,

        Version 0.5.7beta (Encrypted wallets) downloaded and sent some coins to BitMarket.eu, a free bitcoin exchange market who now needs a bit financial help.

        I sent coins two times in rapid succession, I did not notice any unexpected restrictions due to change problems.
        I can not tell for sure if it was due to the boomerang rule though, because I have about 20 addresses in my wallet and MultiBit used different addresses to send from.
        Anyway, I just wanted to tell you that the whole sending experience was very smooth and fast.

        Great work!


        Title: Re: MultiBit
        Post by: freemoney458 on December 14, 2012, 08:42:31 PM
        I forgot to mention that in the latest beta version, I noticed that the transaction fee was set by default to 1 BTC.
        I think this is way to high and can be really disgusting for novice users.

        I am not sure if it is part of the binary download version.
        If it is, I suggest you reduce the amount and maybe even add it as a check to your release checklist.


        Title: Re: MultiBit
        Post by: jim618 on December 14, 2012, 08:57:09 PM
        Hi Freemoney,

        The transaction fee is stored in your multibit.properties - a default value of 0.001 is only used if it is missing ie it is the very first install. After the first install it picks up the setting you put in the Preferences.

        I presume you have your MultiBit set to German ?
        Perhaps it is a bug in the number parsing.
        '0.001' parses in German as:

        Zero thousands and one = 1 BTC

        All the stored numbers *should* be stored in UK format but I will double check.

        If you still have the '1 BTC' appearing (or can reproduce it) can you have a look in your multibit.properties as to the actual value stored please. It will be something like:

        'fee=0.001'
        Or
        'fee=0,001' (note comma)

        It *should* be the first one.  The locale specific number should appear on the UI but NOT in the config file.
        As you can imagine it is very fiddly so I will double check the code.


        Title: Re: MultiBit
        Post by: freemoney458 on December 14, 2012, 09:33:56 PM
        Hi Jim,

        yes, I have MultiBit set to German.

        I looked things up more in detail:

        The multibit.properties showed sendFee=1.
        After changing in MultiBit to '0,001' BTC MultiBit used the correct fee during sending.
        After quitting MultiBit and restarting it, it showed the correct fee on the screen: '0,001' BTC.
        The multibit.properties showed sendFee=0.001.

        So everything is like expected.

        Maybe it was just a historic setting that now turned up when I seriously spent my first coins.
        I will have a look at it when I update the next time to a newer MultiBit version.

        On another note: I investigated the two rapid succession of 'send' transactions more in detail and found that the second transaction was actually done by spending the change from the first transaction. This was done within seconds after the first transaction.
        So your boomerang rule worked out fine.  ;D


        Title: Re: MultiBit
        Post by: Nachtwind on December 14, 2012, 09:34:03 PM
        Version 0.5.7beta (Encrypted wallets)
        Enhancements:
        + Fix for "Could not generate key from password and salt" bug on send from unencrypted wallets.

        Confirmed :)


        Title: Re: MultiBit
        Post by: jim618 on December 14, 2012, 09:43:19 PM
        Hi Jim,

        yes, I have MultiBit set to German.

        I looked things up more in detail:

        The multibit.properties showed sendFee=1.
        After changing in MultiBit to '0,001' BTC MultiBit used the correct fee during sending.
        After quitting MultiBit and restarting it, it showed the correct fee on the screen: '0,001' BTC.
        The multibit.properties showed sendFee=0.001.

        So everything is like expected.

        Maybe it was just a historic setting that now turned up when I seriously spent my first coins.
        I will have a look at it when I update the next time to a newer MultiBit version.

        On another note: I investigated the two rapid succession of 'send' transactions more in detail and found that the second transaction was actually done by spending the change from the first transaction. This was done within seconds after the first transaction.
        So your boomerang rule worked out fine.  ;D


        That is good to hear. The number parsing (especially commas and dots meaning different things in Europe) was fiddly.

        I will double check the values on a fresh install just to be sure.


        Title: Re: MultiBit
        Post by: lenny_ on December 15, 2012, 02:06:07 PM
        Hello there,
        I am very happy Multibit user and donor :) But one problem makes me worrying.
        Very often I have my transfers won't ever confirm by network. They just stuck on:
        "Seen by 1 peer. Not seen in chain."
        And no progress at all. I cannot use by wallet, and I have to revert blockchain to earlier date or restore whole %APPDATA%\Multibit folder from recent backup.
        Multibit latest version, 0.4.16, Windows 7 AMD64.
        Any ideas?


        Title: Re: MultiBit
        Post by: jim618 on December 15, 2012, 03:52:04 PM
        Hi lenny_,

        Thanks for your support !

        Those 'seen by 1 peer' are the troublesome transactions for sure.
        Once they have traversed the network (ie peers seen = 2 or more) you can be pretty sure they will confirm in my experience.

        Reasons for the 'seen by 1 peer' that I know of:

        + flakey network (eg I have a 3G network that will sometimes just die). The network layer in bitcoinj (that i use) is pretty good at retransmitting at start up so if I have trouble I normally:
        1) shut down MultiBit
        2) reconnect my 3G dongle
        3) start up MultiBit - it then (silently) retransmits any transactions it had problems sending

        + fees too low
        the fee calcs are quite basic so if you have a transaction with many small inputs a bitcoind might not pass it on. Also if you have the fee set to the absolute minimum (0.0001 BTC) I think you will get slow confirms now. The symptoms looks similar.

        + something else to do with the Bitcoin network interaction I am not yet aware of.

        Obviously the goal is to get every transaction out into the network 'happily' and confirmed so feedback from you if you think you are encountering one of the first two points above or if you think it is something else would be useful.


        Title: Re: MultiBit
        Post by: lenny_ on December 16, 2012, 12:02:53 AM
        Hello jim618,
        Thanks for your reply!
        Lets see reasons you suggest:

        - slow network - it's not a case, that's wired broadband connection, I am running web server here and some other services without any problems on multiple devices
        - fees too low - I tried fees up to 0.05 BTC and still nothing
        - shutdown Multibit and try again - I tried it twice, shutdown and start again. I saw status changing several times from "Connecting..." to "Online", but finally it went "Online" and transaction with "1 peer" has not been sended.

        Another clues:
        - I just successfully sent 15 BTC to external address with 0.001 BTC fee.
        - I am trying 5 times already and I cannot sent ~50 BTC from one wallet to another (both addresses in MultiBit, separate wallets). I tried a fee up to 0.05 BTC and no difference.
        - This must be something else bugging. Related to my Bitcoins or addresses, or separate wallets, I guess.

        Can I send you debug files?

        EDIT:
        Some more clues, they may be helpful:
        - All transactions I am trying to send, with "Seen by 1 peer. Not seen in chain." are not visible in blockchain/blockexplorer. Transaction ID not found.
        - I just received transaction from exchange, with 0 Fee. Multibit saying "Seen by 3 peers. Not seen in chain.", but transaction can be viewed in Blockchain.info without problems.


        Title: Re: MultiBit
        Post by: jim618 on December 16, 2012, 08:02:10 AM
        Yes please send me the log files (multibit_debug.log and multibit_console.log in the log directory - or just zip the log directory and send me the previous day's logs too) and email them to Jim at multibit dot org and I will have a look.

        Another possibility might be if you have any firewall rules redirecting any port 8333 traffic (to say a bitcoind on a different machine). I don't think it is that as you are connecting ok but you mention you are running a web server so you might have ports locked down. 


        Title: Re: MultiBit
        Post by: lenny_ on December 16, 2012, 12:38:22 PM
        Indeed, ports 8333-8334 are redirected to different machine in my local network. But MultiBit seems to be working OK for months already, except those rare, broken transactions.
        Logs sended.


        Title: Re: MultiBit
        Post by: jim618 on December 16, 2012, 08:43:01 PM
        For those of you who like poring over stats, I have put the MultiBit download logs on the multibit.org website.
        There is a link at the bottom of the 'Downloads' section on the top right.

        There are monthly totals and you can drill down to more detailed reports:

        MultiBit download statistics (https://s3.amazonaws.com/MultiBit/stats/index.html)


        Title: Re: MultiBit
        Post by: jim618 on December 17, 2012, 02:24:06 PM
        There is a new live release of MultiBit available at:

        http://multibit.org (http://multibit.org)


        Version 0.4.17

        Enhancements:
        + Change is now spendable as soon as the transaction traverses the Bitcoin network.

        Scan of release checklist (http://multibit.org/test/releaseCheckList-0.4.17.jpg)


        This is rolling out the same functionality that was put in the test code on Friday.
        It makes quite a difference to the usability of MultiBit in day to day use.


        Title: Re: MultiBit
        Post by: jim618 on December 18, 2012, 07:00:52 PM
        @Lenny

        I have been looking through your debug logs and asking on the bitcoinj mailing list.
        It is most likely due to the fee calculations in MultiBit/ bitcoinj not being right and hence the fee is too low for that particular transaction.


        Title: Re: MultiBit
        Post by: lenny_ on December 18, 2012, 09:35:52 PM
        @jim618:
        Thank you! So it looks like transaction don't even get out from bitcoinj? So why it is reported as sended, and "seen by 1 peer"?
        Is there anything I can do about it? What's the fee amount I should include? Can bitcoinj predict what transaction fee should be like?

        Today, as always I had problem to send BTC to an address. Minimal Fee was included, but it stuck "seen by 1 peer", as usual.
        So I went to BlockChain.info wallet, where I have same addresses added as backup. I manage to send same amount of BTC with 0 Fee.

        https://blockchain.info/tx/e559ccd123d0250ee9b44fdf774a0e6eedb60c1f37dd67899446d2d34bd87cd0
        Transaction was included in block relayed by OzCoin mining pool straight after 2 minutes.

        Regards
        lenny


        Title: Re: MultiBit
        Post by: jim618 on December 18, 2012, 10:09:37 PM
        Hi Lenny,

        MultiBit sends out it's transactions to a bitcoind (who then relays it to the rest of the Bitcoin network).
        Thus 'seen by 1 peer' is normally a result of a transaction being sent to a bitcoind but that node has not relayed it to other nodes. (it can also be due to network failure as I mentioned before). In your logs there were no errors to do with transmitting the transaction.

        Bitcoinj (which MultiBit uses) currently does not calculate the fees as per the rather complicated Bitcoin fee calculation rules which is probably where the problem lies. If the node that receives the transaction 'does not like' the transaction then it won't relay it.

        I am sure it is on Mike's todo list. There isn't really much the user can do about this at the moment as you cannot work out what the fee should be manually - it depends on how the transaction is constructed. (and how the transaction is constructed affects the fee - it's not trivial to work it out).

        In effect, MultiBit/ bitcoinj has to 'persuade' the node it is transmitting to to pass on the transaction but at the moment the calculated fees aren't right.

        I think blockchain.info runs bitcoinds actually behind the scenes hence the difference.

        Sorry I cannot give you a better answer - it is just not done yet.



        Title: Re: MultiBit
        Post by: jim618 on December 19, 2012, 04:37:56 PM
        At the moment the multibit.org files are hosted in a personal webserver and the binaries are on Amazon S3.

        To rationalise things a bit and give some performance headroom I have just ordered a dedicated server:
        http://www.server4you.net/root-server/server-details.php?products=1 (http://www.server4you.net/root-server/server-details.php?products=1)

        It will be housed in a datacentre in Strasbourg that has multiple fibre optic connections out. I figure the limiting factor will be the machine's 100 Mbit/s network adaptor.


        The multibit download is about 26 MB so at 100% load that could provide:

        100 * 1024 * 1024 * 3600 * 24 / (26 * 1024 * 1024 * 8 )  > 40,000 downloads a day.

        Seeing as how downloads are about 200 a day now there is plenty of room for growth !

        It will be a little while before everything gets moved over.


        Title: Re: MultiBit
        Post by: HostFat on December 19, 2012, 05:43:04 PM
        Can you provide magnet links? :)


        Title: Re: MultiBit
        Post by: jim618 on December 19, 2012, 05:58:21 PM
        Hi Hostfat,

        Yes - one of the things on my TODO list is to start PGP signing the installers so that you will be able to download them and verify that they were built by me.

        At that point I think it becomes safe to torrent it as the magnet link could be on multibit.org, you'd grab it and then verify it really was built by me and not a trojan.

        We probably won't need to do that for a while though as that server should be able to cope with demand for quite a while.
        In the server T&Cs there is the no-doubt-usual "no torrenting copyrighted material" but I can't see any problem in torrenting your own files.


        Title: Re: MultiBit
        Post by: zxyzxy on December 20, 2012, 01:56:39 PM
        why is in the settings the fee for transactions 1BTC? and i cant make it lower.. or did i missed something?


        Title: Re: MultiBit
        Post by: jim618 on December 20, 2012, 04:32:52 PM
        The default fee amount should be 0.001 BTC, with a minimum of 0.0001 BTC

        You should just be able to change the amount in the text field in Preferences and then press 'Apply changes'.

        In English the amount is written, say, "0.001" but if you have your language as, say, French or Spanish it will be "0,001"


        Title: Re: MultiBit
        Post by: zxyzxy on December 20, 2012, 05:58:11 PM
        damn, it was truly all about the coma instead of dot, oh mai.. btw the default value for a transaction really was  1BTC, nice.. kinda steep


        Title: Re: MultiBit
        Post by: jim618 on December 20, 2012, 06:24:54 PM
        Yeah - I think there is a bug lurking to do with the initial value of the fee when the user has the locale set up to use a comma. I will look into it. Like I say, the default should be 0.001 BTC


        Title: Re: MultiBit
        Post by: foo on December 21, 2012, 04:25:03 AM
        The default fee amount should be 0.001 BTC, with a minimum of 0.0001 BTC

        You should just be able to change the amount in the text field in Preferences and then press 'Apply changes'.

        In English the amount is written, say, "0.001" but if you have your language as, say, French or Spanish it will be "0,001"

        I have the decimal separator set to ",", however MultiBit (0.4.15) uses "." everywhere. (Windows XP with a customized en-US locale.)


        Title: Re: MultiBit
        Post by: jim618 on December 21, 2012, 08:37:26 AM
        The locale settings being used are based on the Java locale, which is looked up from the language. It would not pick up your Windows customisations unfortunately.


        Title: Re: MultiBit
        Post by: da2ce7 on December 21, 2012, 12:54:10 PM
        I've been really enjoying reading through the Multibit 5.0 code today. (6 hours so far).   :P
        Somehow I think that MultiBit is going to be lots of fun to hack up.  ;)


        Title: Re: MultiBit
        Post by: jim618 on December 21, 2012, 04:17:14 PM
        Glad you are enjoying it !

        Bitcoinj does most of the heavy lifting - a lot of MultiBit code is UI stuff.

        If there is anything unclear just PM me.


        Title: Re: MultiBit
        Post by: da2ce7 on December 21, 2012, 10:30:29 PM
        Glad you are enjoying it !

        Bitcoinj does most of the heavy lifting - a lot of MultiBit code is UI stuff.

        If there is anything unclear just PM me.

        Because I understand it! I enjoy reading it!
        It is neat, logical, and well-thought-out.
        This means that your code is easily extendible.


        Title: Re: MultiBit
        Post by: Mike Hearn on December 22, 2012, 08:28:24 AM
        If you are reading the code, make sure you use the latest branch:

        https://github.com/jim618/multibit/tree/v0.5-bitcoinj-0.7/src

        The link to github from the web site takes you to the long-abandoned master branch.

        Although I'm sure you already realized this, the bitcoinj co