jim618 (OP)
Legendary
Offline
Activity: 1708
Merit: 1066
|
|
January 11, 2013, 11:41:19 AM |
|
A quick fix for windows: public static Sha256Hash hashFileContents(File f) throws IOException { // Lame implementation that just reads the entire file into RAM. Can be made more efficient later. FileInputStream fileInputStream = new FileInputStream(f); Sha256Hash sha256Hash = create(ByteStreams.toByteArray(fileInputStream)); fileInputStream.close(); fileInputStream = null; return sha256Hash; }
merged and pushed to github.
|
|
|
|
Mike Hearn
Legendary
Offline
Activity: 1526
Merit: 1134
|
|
January 11, 2013, 03:46:44 PM |
|
The Windows fix is already in bitcoinj master.
|
|
|
|
jim618 (OP)
Legendary
Offline
Activity: 1708
Merit: 1066
|
|
January 11, 2013, 06:23:04 PM |
|
Thanks for the comment Mike,
The MultiBit version of Sha256Hash only exists now because of that problem from ages ago about there being two different serialVersionUIDs in the wild.
I think at some point I will stop supporting serialised wallets and for any serialised wallets remaining just ask people to download an older version of MultiBit from multibit.org/releases and migrate their wallet using that. There cannot be very many in the wild now anyhow.
Then that class can disappear from the MultiBit code base forever.
|
|
|
|
jim618 (OP)
Legendary
Offline
Activity: 1708
Merit: 1066
|
|
January 12, 2013, 03:45:12 PM Last edit: January 12, 2013, 04:37:28 PM by jim618 |
|
I have added in a 'pickaxe' icon for coinbase transactions to distinguish them from regular transactions. Screenshot: Hat tip to Alan Reiner for the icon idea. For coinbase transactions they mature slower than regular transactions (120 blocks for a full confirmation) so I have slowed down how quickly the status icon fills in correspondingly. It will appear in the next live release, which should be early next week.
|
|
|
|
jim618 (OP)
Legendary
Offline
Activity: 1708
Merit: 1066
|
|
January 13, 2013, 10:03:18 AM |
|
I thought I would mention a useful bitcoinj utility that Mike Hearn has written and included in bitcoinj. It is called WalletTool and it gives you a command line to the bitcoinj wallets. (These are the same wallets used in MultiBit). It has been around a while and Mike keeps adding to it. Probably the easiest way to describe its capabilities is to include the help: WalletTool: print and manipulate wallets
Usage: >>> GENERAL OPTIONS --debuglog Enables logging from the core library. --net=PROD/TEST Which network to connect to, defaults to PROD. --mode=FULL/SPV Whether to do full verification of the chain or just light mode. --wallet=<file> Specifies what wallet file to load and save. --chain=<file> Specifies the name of the file that stores the block chain. --force Overrides any safety checks on the requested action. --date Provide a date in form YYYY/MM/DD to any action that requires one. --peers=1.2.3.4 Comma separaterd IP addresses/domain names for connections instead of peer discovery. --condition=... Allows you to specify a numeric condition for other commands. The format is one of the following operators = < > <= >= immediately followed by a number. For example --condition=">5.10" or --condition="<=1"
>>> ACTIONS --action=DUMP Loads and prints the given wallet in textual form to stdout. --action=RAW_DUMP Prints the wallet as a raw protobuf with no parsing or sanity checking applied. --action=CREATE Makes a new wallet in the file specified by --wallet. Will complain and require --force if the wallet already exists. --action=ADD_KEY Adds a new key to the wallet, either specified or freshly generated. If --date is specified, that's the creation date. If --privkey is specified, use as a hex/base58 encoded private key. Don't specify --pubkey in that case, it will be derived automatically. If --pubkey is specified, use as a hex/base58 encoded non-compressed public key. --action=DELETE_KEY Removes the key specified by --pubkey or --addr from the wallet. --action=SYNC Sync the wallet with the latest block chain (download new transactions). If the chain file does not exist this will RESET the wallet. --action=RESET Deletes all transactions from the wallet, for if you want to replay the chain. --action=SEND Creates a transaction with the given --output from this wallet and broadcasts, eg: --output=1GthXFQMktFLWdh5EPNGqbq3H6WdG8zsWj:1.245 You can repeat --output=address:value multiple times. If the output destination starts with 04 and is 65 or 33 bytes long it will be treated as a public key instead of an address and the send will use <key> CHECKSIG as the script. Other options include: --fee=0.01 sets the tx fee
>>> WAITING You can wait for the condition specified by the --waitfor flag to become true. Transactions and new blocks will be processed during this time. When the waited for condition is met, the tx/block hash will be printed. Waiting occurs after the --action is performed, if any is specified.
--waitfor=EVER Never quit. --waitfor=WALLET_TX Any transaction that sends coins to or from the wallet. --waitfor=BLOCK A new block that builds on the best chain. --waitfor=BALANCE Waits until the wallets balance meets the --condition.
A useful complement to the MultiBit graphical user interface. Bitcoinj is here.
|
|
|
|
jim618 (OP)
Legendary
Offline
Activity: 1708
Merit: 1066
|
|
January 14, 2013, 03:37:01 PM |
|
Suggestions for MultiBit:
1. Option to hide spent inputs from transactions list.
2. Option to filter transactions based on one or more criterias, like label and / or date.
3. Option to check private keys inside the MultiBit.
Hi subSTRATA, I see what you mean with 2 and 3 but what do you mean exactly with 1 ? Do you mean only showing your receiving addresses that have non-zero balances ? Note that you can order the columns in any of the tables by clicking on the header so you sort any column ascending/descending. I use that quite a lot.
|
|
|
|
jim618 (OP)
Legendary
Offline
Activity: 1708
Merit: 1066
|
|
January 14, 2013, 04:14:34 PM |
|
There is a new live release of MultiBit available at: https://multibit.orgVersion 0.4.19 Please note: this version does not include a full fix for the zero-confirmation vulnerability announced by Retep on 10 Jan 2013. (This is still being worked on). Improvements + Improved status notifications for transactions + Update to bitcoinj 0.6.1 + Coinbase transactions now have a pickaxe icon and the status icon fills more slowly + Now only hits currency server if ticker is shown or currency conversions are on + Fiat currency fields only shown on Send and Request if fiat currency successfully found from remote server + Small increase in table row height for visual clarity. Bug fixes + Fixed help tab borking MultiBit if no network present
|
|
|
|
jim618 (OP)
Legendary
Offline
Activity: 1708
Merit: 1066
|
|
January 14, 2013, 05:22:20 PM |
|
I see what you mean.
As the number of transactions in the Transactions tab grows, it does need some way of managing them.
Currently I am not planning to do much on the UI for a while (nothing major anyhow) but I will certainly have a think about it.
|
|
|
|
jim618 (OP)
Legendary
Offline
Activity: 1708
Merit: 1066
|
|
January 14, 2013, 05:57:59 PM |
|
Good catch - I think the 'additional' in the second line indicates the option is not available in the Izpack installer (that I use) but I will have a look. I use the IzPack installer without any customisation for simplicity. subSTRATA < for bugs and issues that don't really need much debate it would be easier for me if you added them into the github issues section directly. It is then easier for me to track and there is a comment thread per bug so it is easier to see what is going on. Things tend to get lost 'up the thread' here I find. The MultiBit github issues are here: https://github.com/jim618/multibit/issuesThanks for the feedback. Linux and Win feedback is especially useful as I work on a Mac and just use VMs to test those platforms.
|
|
|
|
jim618 (OP)
Legendary
Offline
Activity: 1708
Merit: 1066
|
|
January 14, 2013, 10:00:46 PM |
|
For those of you (like me) that have slow net connections, I thought I'd mention: Once you have a copy of MultiBit on your machine, to upgrade to the latest version you only need to update the multibit-exe.jar in your MultiBit installation directory. This is only a third the size of the full installer so I have started to upload it into the multibit.org releases directory: https://multibit.org/releases/On Windows I wrap the executable jar file into an exe as people are more familiar with those but you can still use the multibit-exe.jar on Windows too. To run it you can normally just double click it. Or if your operating system is not set up to run jars, just open a command line, 'cd' to the directory and type: > java -jar multibit-exe.jar (Or write a shell script/ batch file to do the same). As this involves knowing a little about what is going on 'under the hood' I will leave it off the regular installation notes on the multibit.org site. If you are wondering, the other two thirds of the installer is the (headers only) blockchain. If you have already installed MultiBit you've already got this so it's not strictly necessary to have it again. (It is used as a fallback should the user copy of the blockchain get damaged for any reason so the re-download is not wasted).
|
|
|
|
mila
|
|
January 14, 2013, 11:21:19 PM |
|
I just gave .4.19 a try on windows could see the 'issue' during install the additional shortcuts can be selected or deselected independently form start-menu shortcuts just play with the checkboxes like in a pc game and you'll find a way how to choose any combo you need (level 1 riddle)
Could there be an issue with string "Your wallet description" ? it's the default wallet description and it shows up not translated (despite translation exists (since September 2012))
same for "undo last font or language change"
do you want/need a screenshot?
|
your ad here:
|
|
|
jim618 (OP)
Legendary
Offline
Activity: 1708
Merit: 1066
|
|
January 15, 2013, 08:32:25 AM |
|
Hi Mila,
Thanks for your feedback.
The wallet description is set when you create a wallet in the language you have set at the time. It then does not change unless you click on the text and customise it. I expect you have it in English and then have changed your UI language. The wallet description can be any unicode characters you like.
The 'undo last font or language change' button is localised but in the language you are changing from. This is so that if you accidentally change from, say, English, to a language you cannot read, say, Chinese you can still read the label on the button to undo it all.
Similarly (on Linux especially) some fonts don't render the characters at all and you just see little squares everywhere. The 'undo' button keeps the previous font so that you can click it and go back to what you had before.
To use your riddle analogy: you can always read the label on the door you used to come into a room, so that you know that's the one that takes you back to where you were before.
|
|
|
|
Mike Hearn
Legendary
Offline
Activity: 1526
Merit: 1134
|
|
January 15, 2013, 09:09:58 AM |
|
Maybe you could have "" be the default wallet description stored in the file, and have that swapped for a localized string at render time?
|
|
|
|
mila
|
|
January 15, 2013, 09:42:59 AM |
|
thanks for feedback. you're right (I started the client with english language, this is where my wallet came from) and only afterwards changed it as I maintain one lang I was sure the string was translated and could not figure out why it's still english. will do some more tests just to see if the translations make sense also in context of the app I had to giggle few times when I saw it. at least I know whom to blame for it ))
|
your ad here:
|
|
|
jim618 (OP)
Legendary
Offline
Activity: 1708
Merit: 1066
|
|
January 15, 2013, 09:49:51 AM |
|
Maybe you could have "" be the default wallet description stored in the file, and have that swapped for a localized string at render time?
Good idea - except that the user could then never blank the description. I don't want to put in a magic text as I want to add the description into the protobuf so that other bitcoinj libraries can use it. Edit: they could put in just spaces to blank it but that does not seem very intuitive.
|
|
|
|
mila
|
|
January 15, 2013, 10:25:56 AM |
|
what about prompting user after switching (a) language and (b) at least one wallet has the default description Q: it seems you changed the language version of the client, do you want also to change the description of the wallet (to match selected language)?
//really not an issue, just maybe how to solve it without magic and for all //if confirmed, wallet description changes according to user preferences and is saved there
|
your ad here:
|
|
|
jim618 (OP)
Legendary
Offline
Activity: 1708
Merit: 1066
|
|
January 15, 2013, 10:41:30 AM |
|
I think I will have it so that at startup there is NO default wallet created and have a proper create wallet wizard so that they can choose:
+ type of wallet + wallet description + password
This means that MultiBit won't have to set the default description at all. It also means (for encrypted wallets) that the wallet is never written to disk unencrypted which has some security advantages.
|
|
|
|
bitcoinspot.nl
|
|
January 15, 2013, 08:26:05 PM |
|
Hi Jim,
Maybe a stupid question but: The encrypted wallets are not yet implemented in version 4, but will be in version 5? and do you have an idea when version 5 will leave the beta status.
Sorry but havent been catching up with the the bitcoin-clients lately.
Greets, Roland.
|
- bitcoinspot.nl - Alles over bitcoin! -
|
|
|
jim618 (OP)
Legendary
Offline
Activity: 1708
Merit: 1066
|
|
January 15, 2013, 08:54:27 PM |
|
Hi Roland,
Yes that is correct.
The encrypted wallet code's natural home is in bitcoinj rather than the MultiBit code base as it will then be useful for everybody. I created a pull request for Mike Hearn to review just before Xmas. I am going through his feedback now (about half way through). Once that is done and Mike is happy with it he can merge it into bitcoinj and release a version of bitcoinj with it in. Then I should be able to pick it up pretty quickly (as I am keeping the MultiBit code in step).
After that I will do a release candidate with it in for people to try out for, say, a week and then release it on the website (assuming people's test feedback is positive).
I cannot say exactly when it will be out but I don't think it will be too long now.
|
|
|
|
bitcoinspot.nl
|
|
January 15, 2013, 09:20:31 PM |
|
Ok, thanks again for the quick reply!
Roland.
and to st
|
- bitcoinspot.nl - Alles over bitcoin! -
|
|
|
|