My theory is that there is already a list of pre-generated addresses, they are just hidden from the address book. Spontaneous creation just un-hides the next one from the list, which doesn't require the password.
But then why the manual creation doesn't do the same trick? I grumble about this because it's very inconvenient how it works now.
|
|
|
I got it via PM: Busted out of the newbie area to get you this. I was able to compile db-4.8.30.NC by doing the following.
../dist/configure --disable-replication --enable-mingw --enable-cxx --prefix=/usr/local
db.h in build_unix/ @ Line 113 Replace
typedef pthread_t db_threadid_t;
with
typedef u_int32_t db_threadid_t;
Then did make. Hope it works for you!
It worked for me - thanks Icy!
|
|
|
Because the wallet is encrypted. To add, modify the encrypted wallet, most likely needs the PW. It's also encrypted when a new address appears spontaneously, after receiving some coins. So why no need to enter password then?
|
|
|
It's called a label, not a password so you know WHO is sending you coins. Unless you are using v 0.4.0 and it actually does require a password.
Yes - I'm talking about v0.4
|
|
|
When I receive some coins, a new address just magically appears in my client and I can use it right away. But when I try to manually create it, using the GUI - it asks me for the password. Why?
|
|
|
Should I consider the lack of any answer more like 'works for me', 'we never compile windows client' or rather 'who the hell are you to ask me such questions?'
|
|
|
According to build-msw.txt all one needs to do is: MSYS shell: cd /c/db-4.8.30.NC-mgw/build_unix sh ../dist/configure --enable-mingw --enable-cxx make
It worked just perfect with the previous version (4.7.25). But with 4.8.30 it just crashesh like this: $ make ./libtool --mode=compile gcc -c -I. -I../dist/.. -O3 ../dist/../mutex/mut_win32.c libtool: compile: gcc -c -I. -I../dist/.. -O3 ../dist/../mutex/mut_win32.c -DDLL_EXPORT -DPIC -o .libs/mut_win32.o In file included from ./db_int.h:886:0, from ../dist/../mutex/mut_win32.c:12: ../dist/../dbinc/repmgr.h:502:13: error: two or more data types in declaration specifiers ../dist/../dbinc/repmgr.h:502:1: warning: useless type name in empty declaration make: *** [mut_win32.lo] Error 1 So how do you build it?
|
|
|
To save the further anguish I propose that anyone who wants to be treated seriously should explain how his proposed improvement will deal with the following pseudo-code (from wallet.cpp & ui.cpp):
CWallet::SendMoney() { grab_the_wallet_lock(); solve_inverted_knapsack_problem_to_select_the_best_coin_subset(); fee = compute_the_required_transaction_fee(); yesno = ::ThreadSafeAskFee(fee); commit_transaction_and_release_lock(yesno); } This is how I see it: * grab_the_wallet_lock(); - not needed * solve_inverted_knapsack_problem_to_select_the_best_coin_subset() - not needed (see below) * fee = compute_the_required_transaction_fee() - just take the value from the user interface * yesno = ::ThreadSafeAskFee(fee) - useless (always answer 'yes - i'm sure what i set') * commit_transaction_and_release_lock(yesno) - this is the only thing you need to do. so you first talk to the wallet, saying that you want to send this money to this address. the wallet does the solve_inverted_knapsack_problem_to_select_the_best_coin_subset and returns you the signed transaction. then the UI app forwards it to the blockchain server. and then you also need to resend to the blockchain server those transactions that have not been mined yet. and also there are other things that you need to think about but basically the idea of splitting it into a blockchain/transaction server, a wallet and a native GUI app seems to me the most reasonable to go with
|
|
|
The most flexible solution would be to create one cross-platform "block-chain server", which only serves as a storage for the block-chain and handles connections.
Any app checks if such server is installed on the system and whether it's running or not. Runs it if it's not started.
This "block-chain server" will have nothing to do with wallets, so no protection is needed.
The client handles all wallet-related stuff and registers a global URI handler.
Any other application, such as a miner, that needs to access block-chain does this easily with no security concerns.
Any application or a browser that wants to send money simply opens the URI, the same way links or magnets are handled. The default "wallet app" pops up a dialog to the user and he either confirms or denies this request.
I like it. Sounds like a good split.
|
|
|
And then develop each platform independently?
The GUI is trivial. If there is a cross-platform backend, writing a GUI will be just a matter of several days. For me it's not about writing a GUI for the current client - there is already a GUI for the current client, so why to change it? Just so it would respond a few ms quicker on mouse clicks? Maybe that would be a good reason if it was slow, but it isn't slow. The biggest problem of the current GUI is that it's a hassle to change anything in it and hard to control/review the changes. I thought wx was being abandoned to make further development of bitcoin's UI easier - that would be a good reason. Unfortunately IMO you won't make further GUI development easier by switching from wx to Qt. Maybe the GUI shall be indeed a separate application which talks to bitcoind via some interface - like the JSON-RPC, but with both-way notifications, so the GUI doesn't need to pull for data. Then you could create your OS-specific GUI, while I'd do my web based one - and everybody would be happy
|
|
|
No. It's 2011. You can easily make HTML/JS app that works fine with every modern browser.
Ha! Why didn't I know this before?! What a fool I was spending countless hours, trying to make something look and work the same way in all browsers...
Oh, I'm sorry to hear that. Next time feel welcome to ask me - I will help you to write a webpage that looks the same on every browser. Only if you consider Internet Explorer "not a modern browser." And anyway I think you missed the sarcasm. uTorrent's WebUI works fine with IE as well. I didn't miss the sarcasm - I just followed it
|
|
|
- no need to install any huge packages/libraries/devenv in order to modify elements of the GUI
This is solved by writing a native, not a browser GUI. And then develop each platform independently? - easy to setup remote access to the GUI
When do you need it and what about security implications? Oh. Just give me such option and let me worry about my security. I really don't see it as a problem. - the ultimate platform independence (no wx, no other qt will give you that)
- the ultimate browser type and version dependence. No. It's 2011. You can easily make HTML/JS app that works fine with every modern browser. Slower response times matter in any kind of application. They affect subconscious feelings of the users - how they feel about the application. Sounds like you are a real expert in this domain - I'm not going to argue here. You can limit the GUI to accept connections only from localhost.
...making it easier for any malicious, especially browser-based, viruses to interact with the client. I am not sure, but what if the user opens a README for some program that contains an AJAX javascript to interact with the GUI? It will be accepted because it will come from localhost. Maybe it will, maybe it wont... You can protect HTTP session by different means. I really don't understand your security concerns. Don't you use internet banking? Debugging of HTTP/JS apps is easy.
Ha! Why didn't I know this before?! What a fool I was spending countless hours, trying to make something look and work the same way in all browsers... Oh, I'm sorry to hear that. Next time feel welcome to ask me - I will help you to write a webpage that looks the same on every browser.
|
|
|
IMO the best GUI would be browser-based ... Such solution would have a number of advantages.
Such as? Such as: - no need to install any huge packages/libraries/devenv in order to modify elements of the GUI - easy to setup remote access to the GUI - the ultimate platform independence (no wx, no other qt will ever give you that) I can think of a lot of disadvantages, such as slower interface response times, exposing your interface to anyone who connects to a port, debugging it in all the browsers and their different versions, interfering browser plugins and adblocks, phishing, etc. The GUI is very simple, you won't get much advantage by using a browser as your GUI, it will probably be more difficult. Slower response times don't matter in this kind of application. You can limit the GUI to accept TCP connections only from localhost. Developing and debugging of HTTP/JS apps is easy. To give you an example, an idea, just have a look at the WebUI of uTorrent. It is much more complex GUI that BitCoin will ever have. And it works really great, nobody has with it any problems you've mentioned. It works with basically every modern browser.
|
|
|
So the plan is for the next release of bitcoin to switch from the wxWidgets GUI we have now to the vastly nicer QT GUI that John Smith created. Don't mean to break the fun, but IMO the best GUI would be browser-based, where the client only exposes HTTP server and serves some customizable HTTP/JS app. And the user's browser does the rest. Such solution would have a number of advantages. I think Qt is a waste of time - we will still need a huge dev env to change a dot in the GUI.
|
|
|
Yes, please, write a working toolset for this! This really has to find its way into the official client soon!
i'm almost certain someone has written a working implementation, although it's not in the official client yet. (i wish i could remember who/where i read about it though). Never heard about that before, and can't find anything If you remember, please post i searched the forum for "offline import" and found the thread i was thinking of: https://bitcointalk.org/index.php?topic=28278.msg355646#msg355646Yeap, I've covered it some time ago. And it actually works - at least as far as I have needed it so far. I believe importing/exporting of transactions should become an option that is built into the official client. Though, not necessarily this particular implementation.
|
|
|
The WebSocket API does not work with the latest Chrome. Chrome dev claims that the problem is at mtgox side. Please fix.
|
|
|
imho, all changes must be. human's or robot's..
agree. but these dont look like robot changes, do they? why would a robot do something like that? the only thing i can think of: to DoS the server
|
|
|
It happens very often that there are consecutive "depth" messages, where one comes immediately after another and they both have the same amount/price and the opposite sign. So effectively they do nothing, except causing confusion and an unnecessary traffic. For instance: {"channel":"24e67e0d-1cad-4cc0-9e7a-f8523ef460fe","depth":{"currency":"USD","item":"BTC","price":"9.15417","price_int":"915417","type":1,"type_str":"ask","volume":"-0.09283","volume_int":"-9283000"},"op":"private","origin":"broadcast","private":"depth"} {"channel":"24e67e0d-1cad-4cc0-9e7a-f8523ef460fe","depth":{"currency":"USD","item":"BTC","price":"9.15417","price_int":"915417","type":1,"type_str":"ask","volume":"0.09283","volume_int":"9283000"},"op":"private","origin":"broadcast","private":"depth"} ... {"channel":"24e67e0d-1cad-4cc0-9e7a-f8523ef460fe","depth":{"currency":"USD","item":"BTC","price":"8.86","price_int":"886000","type":2,"type_str":"bid","volume":"-0.2","volume_int":"-20000000"},"op":"private","origin":"broadcast","private":"depth"} {"channel":"24e67e0d-1cad-4cc0-9e7a-f8523ef460fe","depth":{"currency":"USD","item":"BTC","price":"8.86","price_int":"886000","type":2,"type_str":"bid","volume":"0.2","volume_int":"20000000"},"op":"private","origin":"broadcast","private":"depth"} {"channel":"24e67e0d-1cad-4cc0-9e7a-f8523ef460fe","depth":{"currency":"USD","item":"BTC","price":"8.86","price_int":"886000","type":2,"type_str":"bid","volume":"-0.2","volume_int":"-20000000"},"op":"private","origin":"broadcast","private":"depth"} ... {"channel":"24e67e0d-1cad-4cc0-9e7a-f8523ef460fe","depth":{"currency":"USD","item":"BTC","price":"8.86852","price_int":"886852","type":2,"type_str":"bid","volume":"-0.79287883","volume_int":"-79287883"},"op":"private","origin":"broadcast","private":"depth"} {"channel":"24e67e0d-1cad-4cc0-9e7a-f8523ef460fe","depth":{"currency":"USD","item":"BTC","price":"8.86852","price_int":"886852","type":2,"type_str":"bid","volume":"0.79287883","volume_int":"79287883"},"op":"private","origin":"broadcast","private":"depth"}
It seems like some glitch and it would be nice if could be fixed one day.
|
|
|
So if I want to add funds to my EUR account using a bank transfer, it costs $50? Don't you think it is a bit too much?
|
|
|
I see that one of my workers has found 1 block, somewhere in the past.. Is it possible to know which block it was?
|
|
|
|