root@inana:~# /usr/local/bin/python2.7 pywallet.py Traceback (most recent call last): File "pywallet.py", line 81, in <module> curve_secp256k1 = ecdsa.ellipticcurve.CurveFp (_p, _a, _b) NameError: name 'ecdsa' is not defined
I installed it anyway. For those you you doing it the hard way, you can find the ecdsa package on this page, or use this direct link. I found why, it's now fixed here but I will push it later, thanks! Not having much luck signing. I tried to verify my own message, and it fails. I clicked a few more times, and I get a different signature each time. Signature of 'does it sign?' by 1CNs777TvaENvZpTDmCUFE4xsDKwaasrzk: 3045022100c126528db7cbab77d0cf7f25ca5a154239ac0b89d27a85ff734d1be080e313e70220556fe87721933703e391453a1976bd1f444ff1a645d5a4d51610aea5c1976f50 Pubkey: 04f9d1306312ad46edce343fca404213825ac218bde1ffd30a03c0adc4fe67a6d79f55afe4bfd50ee5de0c1b5161aabd9d1e2f550768d62540be2c7cd81070fb8f
Other sigs I've seen for the same message/key: 3045022037a8d7ba379516293ff4e84306d24f5ee53ad4a57d1c1a76f1f7767e68a58cc202210092a54c9dbed2ff05c8ffc18cd7ac54bcb810e9f37438f6876c94411d308d0686 3045022100c94837ea529f9bc1840e992ce12a40d145425393f049ba3a74a1fa5f21e496c802206e4f22c034a4757181f1c633fc5ca8e517f262e3728f38ac9c525a37aefa7da2 3046022100a1879e71aaea0905c243a7d41dcaa804f43f2cc08a727b3ee1828bc7d4c21c48022100a90627c76d00bf1091ebe3d11270e8f5304146c841031c93c34db92474e2d9d1 3044022002a1a70e671f056147026030f72e73aae40802f6017b0d8b66268a7657dcbfcc02206a8c75b26f7929558ef5242fea8d59c18967c20d983fd07b0007c496e2a448a8
Not good, I can't verify your sigs neither At least does it verify your own sigs? Btw, different sig for same msg/key is normal
|
|
|
Why? I mean what is the purpose of what? Just reaching the limit 18 years before?
|
|
|
Hi, I'm currently reading a transaction: http://blockexplorer.com/rawtx/947656865df51aaa6ea3d7535263f0e3358fa700e7ff4769645741e9d7b473b8The hex data of txin #1 is: 4f539888478f3bfcd6ea1c52a3f3bcb5abf645ee5dccfb5e34aa30ac7579eeff 03000000 8c49 304602210090e58c2e9c3686557553f085958bf2a17c89044858c457921a55a781f04147ac02210 0eec9749891436ac36e937412d1e9bde7adda176bafe3c839d938c6159cb0e50201 41 042e6c25cb2712f6f997004d675432d480540851db63fccfea9f45ec968a76ffeda1b41c85cf3d4 6176a86d8b6cfe33993cd01246e3a08bbcee05b2fde0bba5653 ffffffff
We have: prevout_hash, prevout_n, 8c49, scriptsig41pubkey, seq So, what is 8c49 ?
|
|
|
Yes, and this is this patch that made me think about implementing it The only problem I see is that it requires to build bitcoin and it's dependencies When I tested to build bitcoin it was really a pain (Ubuntu), so I think building it without internet connection must be even more boring
|
|
|
I just pushed the new release to Github So: - Do not install ecdsa python package yet
- Download the new pywallet
- Run it, and check it says "'ecdsa' package is not installed, pywallet won't be able to sign/verify messages" in the console
- Close pywallet, install ecdsa package, see previous post
- Run pywallet again, check that "get info" section became "get info or sign/verify a message" with new input forms: Message, Signature, Pubkey
- To sign a message with a private key, fill Message and Key
- To verify a signature, fill Message, Signature and Pubkey
Some testing: https://bitcointalk.org/index.php?topic=6428.msg93866#msg93866msg: "Hi github users :p" { "address" : "1L5zqFahc8Ahu9wtgJqCeJMendvD174xsG", "pubkey" : "04ef6e366cd6b0b8fbf02c0c25ad39fe892b90c597875899fdc9db16941cf43fb8c429e0534cb8b 972f5cc9f1a50f36dc3352ffad427f073e1c64a145828a3be6e", "sign" : "3046022100a80b6e0c7c54c54ba943f4e3cde12f5a7dc5313e3f0a15ce868f01683ced64fa02210 08b4ad7d3800a11c241dcef7aaf44c8224a7d9f1e54d3e669bf4887036b6d10af" } Msg: "Thanks you guys!" Pubkey: 04bb50e2d89a4ed70663d080659fe0ad4b9bc3e06c17a227433966cb59ceee020decddbf6e00192 011648d13b1c00af770c0c1bb609d4d3a5c98a43772e0e18ef4 Sig: 3046022100a2274c679dc2e54db8838b6dc827b7129de0687f0b9bfebfb191490f8a52d03002210 0c671a6f3214a4d154b231c557b6c4b3f7e30b7f432d98cd5c2ff592190516f13 Please share your signed messages so that we can all verify each others ones Todo: Remove the "A if C else B" for Python2.4
|
|
|
Is it possible to write something with the following functionality? Take as input: 1) a private key (e.g. from a paper wallet, generated with vanity gen or similiar, which has received coins but has never been in a wallet) 1a) the balance of the private key address (enter as parameter or query this from blockexplorer) 2) a transaction amount 3) a destination address 4) a change address (e.g. new, unused paper wallet or vanity generated address, never stored in a wallet)
Write the transaction to send the "transaction amount" from the "private key" to the "destination address" and send change to the "change address".
Broadcast this transaction (or input into new wallet and run bitcoin(d) to broadcast).
This would allow a secure transaction with only one computer that can be online, with secure addresses kept offline. I'm not aware of how feasible this is to program. As I understand it, you method requires the bitcoin instance on Computer A to write the transaction data. I would love to After testing signing/verifying messages feature I just implemented, that will be my next task. Should take a lot of time though
|
|
|
I believe that OSX binaries have been compiled on Leopard I'm not really a Mac user so I don't know if that can be a problem Did try googling 'bitcoin on osx 10.4'?
|
|
|
What new features?
By the way, this doesn't work with Python 2.4.2. I jumped right up to 2.7, so I don't know what the minimum version was. Among other things, the "A if Condition else B" syntax appears to be pretty new.
That's going to be annoying, I didn't want pywallet to only work with one specific version of Python.... It seems to have been included in Python 2.5 though Anyway, thanks for the feedback, I'll test all the Python versions then and modify the code to work with 2.4 New features are signing/verifying messages (this is the main thing I want to test) and no more crashing when missing dependencies Signing/verifying messages requires the ecdsa package, but please do not install it yet to test missing dependencies warnings It is installable with easyinstall(not sure for windows and osx): Linux Debian-based: apt-get install python-setuptools sudo easy_install ecdsa Windows: 32bit http://pypi.python.org/pypi/setuptools#downloads to install setuptools 64bit http://pypi.python.org/pypi/setuptools#windows to download, then run ez_setup.py Go to C:\Python27\Scripts Run easy_install.exe ecdsa OSX: http://pypi.python.org/pypi/setuptools#cygwin-mac-os-x-linux-other or found that too: http://stephenhucker.com/2008/04/08/python-easy-install-on-os-x-105-leopard/I will post here when I push the new release in github Also it seems that I forgot to post here that exporting/importing all the tx's to/from a json file have been implemented, see here for instructions
|
|
|
I would need a few testers to test new features, anybody? ![Smiley](https://bitcointalk.org/Smileys/default/smiley.gif)
|
|
|
cc -ggdb -O3 -Wall -c -o pattern.o pattern.c cc -ggdb -O3 -Wall -c -o util.o util.c cc vanitygen.o pattern.o util.o -o vanitygen -ggdb -O3 -Wall -lpcre -lcrypto -lm -lpthread cc -ggdb -O3 -Wall -c -o oclvanitygen.o oclvanitygen.c oclvanitygen.c:37:19: fatal error: CL/cl.h: No such file or directory compilation terminated. make: *** [oclvanitygen.o] Error 1
If RaTTuS' solution doesn't work (which was the case for me), put that in a sh file, make it executable and run it with arguments (1:the folder containing the CL directory, 2: the folder containing libOpenCL.so): #!/bin/sh if [ $# -lt 2 ] then echo 'arg1 = sdk/include' echo 'arg2 = sdk/lib/x86(_64?)' exit fi mkdir CL -p cp $1'/CL/cl.h' CL sed -i 's#<CL/cl.h>#"CL/cl.h"#' oclvanitygen.c cp $1'/CL/cl_platform.h' CL sed -i 's#<CL/cl_platform.h>#"cl_platform.h"#' CL/cl.h sed -i 's#$(LIBS) -L.* -lOpenCL.*#$(LIBS) -L'$2' -lOpenCL#' Makefile sed -i 's#$(LIBS) -lOpenCL.*#$(LIBS) -L'$2' -lOpenCL#' Makefile make oclvanitygen sed -i 's#"CL/cl.h"#<CL/cl.h>#' oclvanitygen.c sed -i 's#$(LIBS) -L.* -lOpenCL.*#$(LIBS) -lOpenCL#' Makefile rm CL -R echo "Run: \n export LD_LIBRARY_PATH=$2:\$LD_LIBRARY_PATH"
cc oclvanitygen.o pattern.o util.o -o oclvanitygen -ggdb -O3 -Wall -I/opt/AMD-APP-SDK-v2.4-lnx64/include/CL/ -lpcre -lcrypto -lm -lpthread -lOpenCL /usr/bin/ld: cannot find -lOpenCL collect2: ld returned 1 exit status make: *** [oclvanitygen] Error 1 Are you sure libOpenCL.so is in the second directory you provided?
|
|
|
cc -ggdb -O3 -Wall -c -o pattern.o pattern.c cc -ggdb -O3 -Wall -c -o util.o util.c cc vanitygen.o pattern.o util.o -o vanitygen -ggdb -O3 -Wall -lpcre -lcrypto -lm -lpthread cc -ggdb -O3 -Wall -c -o oclvanitygen.o oclvanitygen.c oclvanitygen.c:37:19: fatal error: CL/cl.h: No such file or directory compilation terminated. make: *** [oclvanitygen.o] Error 1
If RaTTuS' solution doesn't work (which was the case for me), put that in a sh file, make it executable and run it with arguments (1:the folder containing the CL directory, 2: the folder containing libOpenCL.so): #!/bin/sh if [ $# -lt 2 ] then echo 'arg1 = sdk/include' echo 'arg2 = sdk/lib/x86(_64?)' exit fi mkdir CL -p cp $1'/CL/cl.h' CL sed -i 's#<CL/cl.h>#"CL/cl.h"#' oclvanitygen.c cp $1'/CL/cl_platform.h' CL sed -i 's#<CL/cl_platform.h>#"cl_platform.h"#' CL/cl.h sed -i 's#$(LIBS) -L.* -lOpenCL.*#$(LIBS) -L'$2' -lOpenCL#' Makefile sed -i 's#$(LIBS) -lOpenCL.*#$(LIBS) -L'$2' -lOpenCL#' Makefile make oclvanitygen sed -i 's#"CL/cl.h"#<CL/cl.h>#' oclvanitygen.c sed -i 's#$(LIBS) -L.* -lOpenCL.*#$(LIBS) -lOpenCL#' Makefile rm CL -R echo "Run: \n export LD_LIBRARY_PATH=$2:\$LD_LIBRARY_PATH"
|
|
|
C'est juste pour pouvoir te répondre que je te demande si quelqu'un t'a déjà payé Je pense que non, donc: C'est normal que tu n'ais rien reçu, le logiciel est comme ton "relevé de compte". Si personne ne t'a envoyé d'argent tu ne vois rien. Quand tu aura reçu/envoyé de l'argent, tu verras ça : http://www.stealthcopter.com/blog/wp-content/uploads/2010/07/bitcoin-600x393.pngSi tu veux recevoir un peu de monnaie tout de suite, tu peux recevoir 0.001 BTC en allant sur ce site (c'est un service pour justement que les nouveaux puissent voir comment ça marche) : https://freebitcoins.appspot.com/Si tu veux plus de monnaie, tu peux "miner", c'est-à-dire faire tourner ton CPU et ton GPU pour créer des bitcoins. Ne t'attends pas à des sommes énormes mais tu auras plus que 0.001 BTC... Si ça t'intéresse, dis-le, ça demande quelques explications supplémentaires
|
|
|
Looks cool. But how exactly do you decrypt md5?
+1, md5 isn't a form of encryption, it's hashing. Same with SHA btw. +2 This makes me suspicious WalletCrypt: Encrypt your wallet, never retrieve it After all the drama's with on-line wallet services, I finally decided to have my own wallet steal your coins too Fix'd
|
|
|
user@linuxcoin:~/vanitygen$ make vanitygen oclvanitygen cc -ggdb -O3 -Wall -c -o pattern.o pattern.c pattern.c:32:18: fatal error: pcre.h: No such file or directory compilation terminated. make: *** [pattern.o] Error 1
Right, you need the PCRE lib installed. Download from http://pcre.org/./configure; make; make install root@linuxcoin:/home/user/vanitygen# make vanitygen oclvanitygen cc -ggdb -O3 -Wall -c -o pattern.o pattern.c cc -ggdb -O3 -Wall -c -o util.o util.c cc vanitygen.o pattern.o util.o -o vanitygen -ggdb -O3 -Wall -lpcre -lcrypto -lm -lpthread cc -ggdb -O3 -Wall -c -o oclvanitygen.o oclvanitygen.c oclvanitygen.c:37:19: fatal error: CL/cl.h: No such file or directory compilation terminated. make: *** [oclvanitygen.o] Error 1 Nvidia or Amd?
|
|
|
jackjack, what happens if I import a key into the address book of 2 clients ? [not that I want to - I just want to know what would happen]
You will see its balance/tx's in these wallets just like you expect it Only the first wallet to use the coins can spend them, obviously
|
|
|
Satoshi = Kim Jong-il
Of course! Only the great leader of Best Korea is super-genius enough to create bitcoin! ![Roll Eyes](https://bitcointalk.org/Smileys/default/rolleyes.gif) If only that piece of shit would use his genius to feed his people. You're taking about Kim Jong-il and North Korean people or Satoshi and his miners?
|
|
|
An added layer of security would be the ability to create custom and random wallet.dat filenames. If someone was able to compromise a machine running the bitcoin client, it wouldn't be as easy as searching for the standard filename. And while we're at it ... how about some encryption. ![Smiley](https://bitcointalk.org/Smileys/default/smiley.gif) Would it randomize file extension(.dat) also? And what about a custom folder/path instead of %appdata%\Bitcoin\, wouldn't that be needed as well? I made a fork of bitcoin which only difference with it is taking a -wallet flag as the filename of your wallet, so if you absolutely need to use a file other than 'wallet.dat', you may want to try it (github) For example, ./bitcoin -wallet wal.bc will use the file wal.bc instead of wallet.dat as its wallet To use another directory, just use the official client's -datadir flag
|
|
|
|