World
|
|
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
|
Supporting people with beautiful creative ideas. Bitcoin is because of the developers,exchanges,merchants,miners,investors,users,machines and blockchain technologies work together.
|
|
|
jim618 (OP)
Legendary
Offline
Activity: 1708
Merit: 1066
|
|
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
|
|
|
|
freemoney458
Member
Offline
Activity: 62
Merit: 10
|
|
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.
|
|
|
|
jim618 (OP)
Legendary
Offline
Activity: 1708
Merit: 1066
|
|
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).
|
|
|
|
jim618 (OP)
Legendary
Offline
Activity: 1708
Merit: 1066
|
|
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.
|
|
|
|
ErebusBat
|
|
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
|
|
|
|
jim618 (OP)
Legendary
Offline
Activity: 1708
Merit: 1066
|
|
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
|
|
|
|
ErebusBat
|
|
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)
|
|
|
|
xorgate
Newbie
Offline
Activity: 9
Merit: 0
|
|
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)
|
|
|
|
jim618 (OP)
Legendary
Offline
Activity: 1708
Merit: 1066
|
|
July 20, 2012, 08:31:50 PM |
|
|
|
|
|
jim618 (OP)
Legendary
Offline
Activity: 1708
Merit: 1066
|
|
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?
|
|
|
|
jim618 (OP)
Legendary
Offline
Activity: 1708
Merit: 1066
|
|
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.
|
|
|
|
xorgate
Newbie
Offline
Activity: 9
Merit: 0
|
|
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
|
|
|
|
jim618 (OP)
Legendary
Offline
Activity: 1708
Merit: 1066
|
|
July 20, 2012, 09:12:40 PM |
|
I will start using the #multibit channel on irc.freenode.net
|
|
|
|
xorgate
Newbie
Offline
Activity: 9
Merit: 0
|
|
July 20, 2012, 11:06:13 PM |
|
|
|
|
|
jim618 (OP)
Legendary
Offline
Activity: 1708
Merit: 1066
|
|
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: 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
|
|
|
|
jim618 (OP)
Legendary
Offline
Activity: 1708
Merit: 1066
|
|
July 23, 2012, 02:08:33 PM Last edit: July 23, 2012, 07:27:03 PM by jim618 |
|
There is a new release of MultiBit at: http://multibit.orgVersion 0.4.5 Enhancements: + Faster connection to the Bitcoin network at startup + More help on 'Available to spend' Scan of release checklist
|
|
|
|
jimbobway
Legendary
Offline
Activity: 1304
Merit: 1015
|
|
July 23, 2012, 06:37:28 PM |
|
Great checklist! Old school on paper works too!
|
|
|
|
jim618 (OP)
Legendary
Offline
Activity: 1708
Merit: 1066
|
|
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.
|
|
|
|
jim618 (OP)
Legendary
Offline
Activity: 1708
Merit: 1066
|
|
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.
|
|
|
|
|