Just for clarification (as I had asked for an ability to provide comments on blockchain.info a long time ago) exactly how can you enter a comment for a tx (or is this just for a tx in your own wallet)?
|
|
|
Good stuff!
I think that should get the message across (red text is probably not necessary).
|
|
|
Bite the bullet, leave your ivory tower and its comfy silk cushions and get back to the real world. You might have to drop the snazzy VC++ auto-complete, but you'll just become a better coder for it.
Actually ever since Herb Sutter joined MS their compiler has been extremely standards compliant (although you do have to flick some compiler switches to get it to adhere correctly). I don't actually use the IDE myself (being a console guy). The only big problem with not doing that is the lack of auto-dependencies (at least in the free version) although it isn't really that hard to construct your own make system (which I did for my own project) and there are other free ones out there.
|
|
|
Ouch - if that is true then certainly it needs to be changed (and the notice should probably be presented to the end user in a bold font with a bright color). YOU NEED TO BACKUP YOUR ENCRYPTED WALLET BEFORE MAKING ANY TRANSACTION OR YOU COULD LOSE ALL YOUR BITCOINS!
|
|
|
Actually it wouldn't matter how many keys were in the key pool in the case you have linked to as his backup was unencrypted then he encrypted his wallet and then sent BTC.
He lost the BTC because it was sent to a "change" address and that address (for security reasons) is not taken from the unencrypted pool but instead from a new pool that is created when you encrypt the wallet.
The lesson is to immediately backup after encrypting (and I believe the software does warn you that you need to).
|
|
|
Yes, the total sum is correct.
That's good to know. I don't think I used "move" specifically. I haven't actually initiated any transaction from my local client, yet. (I use blockchain.info wallet for that) I've only imported a few of my blockchain-wallet privkeys into local satoshi-client - mainly for reasons of a second viewpoint on the relevant transactions.
My surprise is really about how these numbers are arrived at. How can it see more "activity" on an address than ever existed for it? (I guess, the negative balance for "" then is just the difference to the actual balance)
I am pretty sure (but not 100% certain as I haven't played with it yet) that the Satoshi client will enable you to create negative balances via the "move" command. No actual tx is created when doing such an operation (it's wallet only data) and is allowed so that someone using bitcoin as a service could say issue a fee to an account before it has been paid. If you didn't issue any "move" commands though then perhaps it is something more to do with the private key that was imported (perhaps check the blockchain info for the public key to see if the address was involved any tx's in the past).
|
|
|
If you add up those numbers you end up with 0.05887045 (so well under the 0.1 amount you mentioned) but how those numbers got there in the first place seems a little strange.
Did you use the "move" RPC command at all?
|
|
|
No love for Melbourne ![Sad](https://bitcointalk.org/Smileys/default/sad.gif) A fellow Melbournite here (although now an expat). Unfortunately also a Hawks fan though so don't talk to me about footy. ![Sad](https://bitcointalk.org/Smileys/default/sad.gif)
|
|
|
In my opinion, even sqlite is overkill for the wallet. It's yet another dependency (something you don't like, right?), and all we need is a simple key-value store that is read at startup and loaded into memory. Probably we'll move to a very simple custom append-only format with checksums.
For the blockchain: performance. LevelDB is exactly what we need: not more than a key-value store with atomic writes, with very good performance and consistency.
Agreed - the simpler the better IMO (have developed my own object DB but have yet to make it ACID). I use SQLite for all document formats, no matter how simple. Because it is transactional, robust, and performs well. I have taken the soci C++ wrapper and remodeled it to provide a very nice system of binding to C++ that takes advantage of all the object oriented metaphors. So it is simple to map primitive data types and object types to and from database entries.
As for integration and dependencies, SQLite is quite easy to integrate it comes as a single .c / .h file pair that you just add to your existing project. No Makefile, no build settings, nothing.
Also agreed - you might be interested to take a look at the DB I developed as it works with streaming operators and fits very nicely with C++.
|
|
|
SQLite works great with multithreaded apps you just need to set the appropriate locking model option. If you mean concurrency in the sense of different processes accessing the same database then yeah I agree (but that's not SQLite's target audience).
Interesting - my problem was actually with multi-threading not different processes - will have to look into that again if they have improved the locking (I last looked at that a few years back).
|
|
|
Why not sqlite for the wallet (and maybe the blockchain) ?
Although not familiar with LevelDB I can say I was quite impressed with SQLite (used to use it for my own project although unfortunately it's not designed for concurrency due to its rather global locking approach).
|
|
|
The tool for VC++ that I am using just scans all the quoted #include's from the source files to work out the dependencies.
Provided you stick to a consistent coding style it solves this problem easily and without anything weird (just requires a couple of tools and the makefile template).
|
|
|
Link not working in China (perhaps blocked?) - will try and have a look at that tomorrow though.
|
|
|
I fully agree, and I think the other developers do as well.
It's just that all experiments with more automated build systems failed - either they didn't work for all currently supported platforms, or weren't maintained after being written.
Again, help is welcome.
Okay - the system I have developed works with an XML like "makefile" that is minimal (only source files and required libraries for each dependency). It then uses OS specific "templates" that take it's structure and turn it into an actual platform specific makefile (my system can do VC++, BCB and g++ makefiles currently). Maintenance of the system is actually very minimal (don't think I've had to change it much in the last few years actually). Header dependencies (only for VC++ in my system as both BCB and g++ handle these automatically) are handled via a specific tool (also not that complicated).
|
|
|
You should give unity builds a try. "SimpleDJ" in my signature uses that style.
I'm sure there are probably several good build systems out there - am comfortable with my own as it works perfectly for Windows and Linux - but manually putting together a large makefile is definitely a huge PITA (especially if it needs to be specifically told about headers).
|
|
|
Well, it was not maintained, so it was removed from the repository. Just checked, it was removed between 0.5.0 and 0.6.0. The latest makefile.vc file is here. You can use it as a starting point, but a lot changed since it was functional. Thanks Pieter - but ouch - this is/was a manually maintained makefile (maybe you guys might be interested in my system that can automatically generate make files and handle dependencies even with the free VC++ compiler). I don't know if I am really going to have enough free time to do this as I'm flat out on my own project (just have a look at how many commits I have made in https://github.com/ciyam/ciyam to get an idea) but if I do find a day or so to do this I will.
|
|
|
Sorry - but I don't know how that helps me find a Visual Studio version (it is not one of the branches AFAICT). I do have the software on my computer but it requires MingW to build (am I missing something obvious?).
|
|
|
I have no clue about Windows programming or build environments. But if you make it work with nmake, then it will...
Okay - can you give me the repository URL so I can have a look at it (am hoping it is github)?
|
|
|
Had a look but didn't immediately see what they were doing. They indicate you need to push tx the final transaction so I guess it isn't for someone who doesn't know how to do that anyway.
True - the technical stuff would need to be hidden "under the hood" with your idea but what they are doing is creating "two signature" keys (which I believe is the main thing necessary for security).
|
|
|
There was a suggestion for being able to "add" fees to an existing tx to ensure it does get processed but I am not sure whether this idea has been looked into in detail yet.
|
|
|
|