Re: [Bitcoin-development] Announcement: libcoin
Hi Michael, Let's talk a little bit more about this awesome stuff! 2012/3/22 Michael Grønager grona...@ceptacle.com 1- How close is Libcoin with original Bitcoin? I mean, the output is a little different, the bitcoind help output was disabled and, I'm afraid that Libcoin can possibly being distant from Bitcoin in the future... That can happen?! Well, I hope at some point to push libcoin to bitcoin, but that is not for me to decide ;) Well, +1000 for that!! Since bitcoin-qt and bitcoind binaries share a lot of functions... There is a need for some kind of library, right?! So, both (and even more apps) can use it! :) Anyway, I will strive at keeping the two synced - currently, they are almost in sync - even bip 16 is part of libcoin, but I have postponed generation of P2SH till after we were certain of 16 vs 17. So that is high on the list. I did a presentation of libcoin at BitCon12 in San Antonio - I will trow the slides at the web-side asap. AWESOME!! 2- Do you have plans to update Libcoin on every new upstream Bitcoin release? How fast will be this updates? Do you need more resources/people working on it? More people is always nice! I am using libcoin for my own bitcoin project, so that should guarantee that it will be kept up to date. I'll try to help you here... One thing that I like to try and announce is: Use P2Pool with libcoin instead Bitcoin! BUT, to that work, libcoin must behave EXACTLY like Bitcoin 0.6.0rc5 (at least). If it works, I'll update my P2Pool guide here: A Complete Guide to P2Pool - Merged Mining (BTC/NMC/DVC/IXC/I0C) plus LTC, Linux: https://bitcointalk.org/index.php?topic=62842.0 I think that this will bring much more eyes to Libcoin!! Don't you think?! Let's do it?!?! Another questions not involved directly with Libcoin/Bitcoin but, I'll need it for my future Bitcoin projects, and Libcoin is on my radar: 1- Do you know about Diaspora* Project? Yes, I even have an account :) COOL!! I just finish my Diaspora test environment, can you try it?! https://quilombas.com/ 2- Do you have skills in Ruby on Rails development? Nope... Too bad... lol My plan with Diaspora is to include a wallet for each user and, Libcoin sound perfect for it. If I use original bitcoind, each Diaspora user will consumes a lot of resources and I'll need to build a private cloud computing for running user's wallets more safely... You know when you log into Diaspora and there is a Cubbi.es app for it?! So, the same way Cubbi.es manages/shows your pictures within Diaspora, my (our) application will manage our Bitcoins!! And users will be able to send/sell Bitcoins between them (maybe integrating it with Bitcoin-OTC will be a good idea for the future)... /M Michael Gronager, PhD Director, Ceptacle Jens Juels Gade 33 2100 Copenhagen E Mobile: +45 31 45 14 01 E-mail: grona...@ceptacle.com Web: http://www.ceptacle.com/ Cheers! Thiago Martins -- This SF email is sponsosred by: Try Windows Azure free for 90 days Click Here http://p.sf.net/sfu/sfd2d-msazure___ Bitcoin-development mailing list Bitcoin-development@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/bitcoin-development
Re: [Bitcoin-development] Announcement: libcoin
Hi! I'm trying to compile libcoin again and I'm seeing the following error: libcoin@xapado:~/libcoin$ make Scanning dependencies of target coin [ 1%] Building CXX object src/coin/CMakeFiles/coin.dir/util.o In file included from /home/libcoin/libcoin/include/coin/serialize.h:22:0, from /home/libcoin/libcoin/include/coin/uint256.h:8, from /home/libcoin/libcoin/include/coin/util.h:10, from /home/libcoin/libcoin/src/coin/util.cpp:6: /home/libcoin/libcoin/include/coin/Version.h:5:25: fatal error: coin/export.h: No such file or directory compilation terminated. make[2]: *** [src/coin/CMakeFiles/coin.dir/util.o] Error 1 make[1]: *** [src/coin/CMakeFiles/coin.dir/all] Error 2 make: *** [all] Error 2 Any help?! Thanks! Thiago -- This SF email is sponsosred by: Try Windows Azure free for 90 days Click Here http://p.sf.net/sfu/sfd2d-msazure___ Bitcoin-development mailing list Bitcoin-development@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/bitcoin-development
Re: [Bitcoin-development] Announcement: libcoin
Michael, Since libcoin is chain agnostic, I was wondering if the project can be used like this: When I install it with make install, I would like to have something like this: Regular file: /usr/local/bin/libcoincore # or whatever you like Symlink - Regular file /usr/local/bit/bitcoind - /usr/local/bin/libcoincore # bitcoind is a symlink to libcoincore /usr/local/bit/litecoind - /usr/local/bin/libcoincore # litecoind is a symlink to libcoincore /usr/local/bit/devcoind - /usr/local/bin/libcoincore # devcoind is a symlink to libcoincore /usr/local/bit/namecoind - /usr/local/bin/libcoincore # devcoind is a symlink to libcoincore ...and so on... So, libcoincore will interpret the ARGV[0] and, for each string, it will initiate the appropriate internal functions... I don't know if Libcoin already does something like that... I'm not a developer/code reader... Just a small nerd with big ideas... ^_^ Thanks! Thiago 2012/2/28 Michael Grønager grona...@ceptacle.com Hi again - and thanks for testing and finding this! I have fixed the bug you reported: The culprit was an implicit string constructor for the ChainAddress that caused creation of a not fully initialized ChainAddress. The right way to do it is using chain::getAddress(string) as the ChainAddress is chain specific. A git pull will fix it ;) Cheers, Michael On 27/02/2012, at 20:03, Martinx - ジェームズ wrote: AWESOME!! Thank you!! Anyway, I found a new problem... lol /usr/local/bin/bitcoind getinfo #okay { version : 40001, blocks : 168753, connections : 8, difficulty : 1376302.26788638, testnet : false } /usr/local/bin/bitcoind getaccountaddress # okay... 1J4vNcvEdeCuLH4yvyoC2gxFEF4zquoJ87 /usr/local/bin/bitcoind listaccounts # NOT okay... { } /usr/local/bin/bitcoind getaccountaddress teste # okay 1E6pGh6AAtuJdFXheZMp1zdYmvdqAQn9QT /usr/local/bin/bitcoind listaccounts # NOT okay... { teste : 0. } Where is my default account listed at listaccounts output?! Best, Thiago 2012/2/26 Michael Grønager grona...@ceptacle.com And if you do an update now help is there too ;) /M On 25/02/2012, at 03:11, Martinx - ジェームズ wrote: Thank you!!! It is all working now! Except help... Nice work Michael!! Best, Thiago 2012/2/24 Michael Grønager grona...@ceptacle.com OK - didn't took the weekend: support for port is on github now :) Only took two lines: (port, valueunsigned short(port)-default_value(8333), Listen on specified port for the p2p protocol) and using the port option in the Node constructor (was there already): Node node(chain, data_dir, args.count(nolisten) ? : 0.0.0.0, lexical_caststring(port)); // it is also here we specify the use of a proxy! /M On 24/02/2012, at 19:49, Martinx - ジェームズ wrote: Hi Michael, Thank you for your attention! Now, I'm trying to start libcoin's bitcoind using high ports but, it always try to listen at 8332, no matter what I say... Look: $ cat .bitcoin/bitcoin.conf server=1 daemon=1 rpcuser=libcoin rpcpassword=LibCoin13 rpcport=10332 port=10333 But: /usr/local/bin/bitcoind Error: Address already in use terminate called after throwing an instance of 'DbException' what(): DbEnv::close: Invalid argument Aborted When I strace it, I can see: ... bind(12, {sa_family=AF_INET, sin_port=htons(8333), sin_addr=inet_addr(0.0.0.0)}, 16) = -1 EADDRINUSE (Address already in use) ... I already tried: /usr/local/bin/bitcoind --rpcport 10332 /usr/local/bin/bitcoind --rpcport=10332 Without success... Thanks again! Thiago 2012/2/24 Michael Grønager grona...@ceptacle.com Hi Thiago, Forgot to comment on the two latter: $ bitcoind getaccountaddress HTTP error code: 401 Error: couldn't parse reply from server $ bitcoind listaccounts HTTP error code: 401 Error: couldn't parse reply from server 401 = permission denied - you need to setup username / password either on the commandline or in the bicoin.conf file to access those commands... See in the bitcoind.cpp file for commands that you can use with and without auth... Those that contains an auth requires auth: server.registerMethod(method_ptr(new GetBalance(wallet)), auth); As opposed to: server.registerMethod(method_ptr(new GetInfo(node))); auth is defined by: Auth auth(rpc_user, rpc_pass); // if rpc_user and rpc_pass are not set, all authenticated methods becomes disallowed. so you just experience the case explained in the comment ;) I admit that the output could be more readable, though! /M Any tips?! lol Thanks! Thiago 2012/2/23 Martinx - ジェームズ thiagocmarti...@gmail.com AWESOME!!! I can compile libcoin at my Ubuntu 11.10... I just need to install: sudo aptitude install libboost1.46-all-dev
Re: [Bitcoin-development] Announcement: libcoin
Hi Michael, NOTE: Re-add bitcoin-dev to this thread on Cc... I'll test this ASAP! I REALLY need this feature (blockchain server - wallet client). I just want ask you some things... 1- How close is Libcoin with original Bitcoin? I mean, the output is a little different, the bitcoind help output was disabled and, I'm afraid that Libcoin can possibly being distant from Bitcoin in the future... That can happen?! 2- Do you have plans to update Libcoin on every new upstream Bitcoin release? How fast will be this updates? Do you need more resources/people working on it? Another questions not involved directly with Libcoin/Bitcoin but, I'll need it for my future Bitcoin projects, and Libcoin is on my radar: 1- Do you know about Diaspora* Project? 2- Do you have skills in Ruby on Rails development? Thank you! Thiago 2012/3/3 Michael Grønager grona...@ceptacle.com Hi Martin, There are a couple of options of doing similarly... In the libcoin repository you will find some code for btc and btcd, it is some code I wrote a while ago and it needs to be updated. It functions as a bitcoind master and slave. The btcd keeps the blockchain, but no wallet. btc keeps the wallet and contact the btcd to get transaction info (like send an address and get its transactions or send a transaction id and get its details). It works (or worked when I wrote them) with the wallet.dat, but needs a little update. You could e.g. run one btcd on the machine and several btc instances to get the functionality you asked for. Further, btcd also enables a web wallet, where the private keys are stored in your browsers local-store. I will get the application updated, but most likely in a bit other setup as it is something I intend to marketize in the near future. Hope this answers your question. Cheers, Michael On 03/03/2012, at 02:04, Martinx - ジェームズ wrote: Michael, libcoin is AWESOME! Thanks!!! Can I do the following scenario with libcoin ? : 1- Create a regular Linux user called blockchain, with home dir pointed to /var/lib/libcoin/ (more or like Ubuntu/Debian mysql does); 2- Start bitcoind under user blockchain (the Bitcoin blockchain) will be downloaded to /var/lib/libcoin/bitcoin/ directory); 3- As another regular user, called michael, I would like to run bitcoind too but, I do not want to re-download the blockchain to its own subdir, I want instead, to consult it (blockchain) through libcoin itself (not by socket of JSON)... So, the /home/michael/.bitcoin/ directory will have only wallet.dat and related files, not the blockchain. This is more or less what we can do with Bitcoin Electrum alternate client but, with Electrum, it copy the whole blockchain to mysql... This is terrible from my point of view, I think that there is no need to duplicate the blockchain within MySQL in anyway. I just imagine a bitcoin splited in two, blockchain in one side and wallet in the other side. This is possible with libcoin?! Thank you again! Best, Thiago 2012/2/28 Michael Grønager grona...@ceptacle.com Hi again - and thanks for testing and finding this! I have fixed the bug you reported: The culprit was an implicit string constructor for the ChainAddress that caused creation of a not fully initialized ChainAddress. The right way to do it is using chain::getAddress(string) as the ChainAddress is chain specific. A git pull will fix it ;) Cheers, Michael On 27/02/2012, at 20:03, Martinx - ジェームズ wrote: AWESOME!! Thank you!! Anyway, I found a new problem... lol /usr/local/bin/bitcoind getinfo #okay { version : 40001, blocks : 168753, connections : 8, difficulty : 1376302.26788638, testnet : false } /usr/local/bin/bitcoind getaccountaddress # okay... 1J4vNcvEdeCuLH4yvyoC2gxFEF4zquoJ87 /usr/local/bin/bitcoind listaccounts # NOT okay... { } /usr/local/bin/bitcoind getaccountaddress teste # okay 1E6pGh6AAtuJdFXheZMp1zdYmvdqAQn9QT /usr/local/bin/bitcoind listaccounts # NOT okay... { teste : 0. } Where is my default account listed at listaccounts output?! Best, Thiago 2012/2/26 Michael Grønager grona...@ceptacle.com And if you do an update now help is there too ;) /M On 25/02/2012, at 03:11, Martinx - ジェームズ wrote: Thank you!!! It is all working now! Except help... Nice work Michael!! Best, Thiago 2012/2/24 Michael Grønager grona...@ceptacle.com OK - didn't took the weekend: support for port is on github now :) Only took two lines: (port, valueunsigned short(port)-default_value(8333), Listen on specified port for the p2p protocol) and using the port option in the Node constructor (was there already): Node node(chain, data_dir, args.count(nolisten) ? : 0.0.0.0, lexical_caststring(port)); // it is also here we specify the use of a proxy! /M On 24/02/2012, at 19:49,
Re: [Bitcoin-development] Announcement: libcoin
OK - didn't took the weekend: support for port is on github now :) Only took two lines: (port, valueunsigned short(port)-default_value(8333), Listen on specified port for the p2p protocol) and using the port option in the Node constructor (was there already): Node node(chain, data_dir, args.count(nolisten) ? : 0.0.0.0, lexical_caststring(port)); // it is also here we specify the use of a proxy! /M On 24/02/2012, at 19:49, Martinx - ジェームズ wrote: Hi Michael, Thank you for your attention! Now, I'm trying to start libcoin's bitcoind using high ports but, it always try to listen at 8332, no matter what I say... Look: $ cat .bitcoin/bitcoin.conf server=1 daemon=1 rpcuser=libcoin rpcpassword=LibCoin13 rpcport=10332 port=10333 But: /usr/local/bin/bitcoind Error: Address already in use terminate called after throwing an instance of 'DbException' what(): DbEnv::close: Invalid argument Aborted When I strace it, I can see: ... bind(12, {sa_family=AF_INET, sin_port=htons(8333), sin_addr=inet_addr(0.0.0.0)}, 16) = -1 EADDRINUSE (Address already in use) ... I already tried: /usr/local/bin/bitcoind --rpcport 10332 /usr/local/bin/bitcoind --rpcport=10332 Without success... Thanks again! Thiago 2012/2/24 Michael Grønager grona...@ceptacle.com Hi Thiago, Forgot to comment on the two latter: $ bitcoind getaccountaddress HTTP error code: 401 Error: couldn't parse reply from server $ bitcoind listaccounts HTTP error code: 401 Error: couldn't parse reply from server 401 = permission denied - you need to setup username / password either on the commandline or in the bicoin.conf file to access those commands... See in the bitcoind.cpp file for commands that you can use with and without auth... Those that contains an auth requires auth: server.registerMethod(method_ptr(new GetBalance(wallet)), auth); As opposed to: server.registerMethod(method_ptr(new GetInfo(node))); auth is defined by: Auth auth(rpc_user, rpc_pass); // if rpc_user and rpc_pass are not set, all authenticated methods becomes disallowed. so you just experience the case explained in the comment ;) I admit that the output could be more readable, though! /M Any tips?! lol Thanks! Thiago 2012/2/23 Martinx - ジェームズ thiagocmarti...@gmail.com AWESOME!!! I can compile libcoin at my Ubuntu 11.10... I just need to install: sudo aptitude install libboost1.46-all-dev ...alongside with another already installed dependencies, and now it works!! Thank you! Thiago 2012/2/23 Michael Grønager grona...@ceptacle.com Hi Martinx, Another note: boost 1.42 and openssl 1.0 has a conflict (you will see it when you try to compile coinHTTP with that specific combination: sslv2 has been removed from openssl, but boost still references it.) You should do a : sudo apt-get upgrade libboost-dev-all to get the 1.46.1 library /M On 23/02/2012, at 18:31, Martinx - ジェームズ wrote: Hi Michael! Thank you for libcoin! It is a awesome evolution for Bitcoin and for the CryptoCurrencies as a hole... Thanks!!! Anyway, I am unable to compile libcoin under my Ubuntu 11.04. At this machine, I have compiled and running Bitcoin (from sources), Namecoin, Devcoin, Litecoin, IXcoin and I0coin, all from sources but, when I try to compile libcoin, I got: user@desk:~/libcoin$ ./configure -- The C compiler identification is GNU -- The CXX compiler identification is GNU -- Check for working C compiler: /usr/bin/gcc -- Check for working C compiler: /usr/bin/gcc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working CXX compiler: /usr/bin/c++ -- Check for working CXX compiler: /usr/bin/c++ -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Looking for include files CMAKE_HAVE_PTHREAD_H -- Looking for include files CMAKE_HAVE_PTHREAD_H - found -- Looking for pthread_create in pthreads -- Looking for pthread_create in pthreads - not found -- Looking for pthread_create in pthread -- Looking for pthread_create in pthread - found -- Found Threads: TRUE -- Looking for XOpenDisplay in /usr/lib/i386-linux-gnu/libX11.so;/usr/lib/i386-linux-gnu/libXext.so -- Looking for XOpenDisplay in /usr/lib/i386-linux-gnu/libX11.so;/usr/lib/i386-linux-gnu/libXext.so - found -- Looking for gethostbyname -- Looking for gethostbyname - found -- Looking for connect -- Looking for connect - found -- Looking for remove -- Looking for remove - found -- Looking for shmat -- Looking for shmat - found -- Looking for IceConnectionNumber in ICE -- Looking for IceConnectionNumber in ICE - found -- Found X11: /usr/lib/i386-linux-gnu/libX11.so -- Boost version: 1.42.0 -- Found the following Boost libraries: --
Re: [Bitcoin-development] Announcement: libcoin
Thank you!!! It is all working now! Except help... Nice work Michael!! Best, Thiago 2012/2/24 Michael Grønager grona...@ceptacle.com OK - didn't took the weekend: support for port is on github now :) Only took two lines: (port, valueunsigned short(port)-default_value(8333), Listen on specified port for the p2p protocol) and using the port option in the Node constructor (was there already): Node node(chain, data_dir, args.count(nolisten) ? : 0.0.0.0, lexical_caststring(port)); // it is also here we specify the use of a proxy! /M On 24/02/2012, at 19:49, Martinx - ジェームズ wrote: Hi Michael, Thank you for your attention! Now, I'm trying to start libcoin's bitcoind using high ports but, it always try to listen at 8332, no matter what I say... Look: $ cat .bitcoin/bitcoin.conf server=1 daemon=1 rpcuser=libcoin rpcpassword=LibCoin13 rpcport=10332 port=10333 But: /usr/local/bin/bitcoind Error: Address already in use terminate called after throwing an instance of 'DbException' what(): DbEnv::close: Invalid argument Aborted When I strace it, I can see: ... bind(12, {sa_family=AF_INET, sin_port=htons(8333), sin_addr=inet_addr(0.0.0.0)}, 16) = -1 EADDRINUSE (Address already in use) ... I already tried: /usr/local/bin/bitcoind --rpcport 10332 /usr/local/bin/bitcoind --rpcport=10332 Without success... Thanks again! Thiago 2012/2/24 Michael Grønager grona...@ceptacle.com Hi Thiago, Forgot to comment on the two latter: $ bitcoind getaccountaddress HTTP error code: 401 Error: couldn't parse reply from server $ bitcoind listaccounts HTTP error code: 401 Error: couldn't parse reply from server 401 = permission denied - you need to setup username / password either on the commandline or in the bicoin.conf file to access those commands... See in the bitcoind.cpp file for commands that you can use with and without auth... Those that contains an auth requires auth: server.registerMethod(method_ptr(new GetBalance(wallet)), auth); As opposed to: server.registerMethod(method_ptr(new GetInfo(node))); auth is defined by: Auth auth(rpc_user, rpc_pass); // if rpc_user and rpc_pass are not set, all authenticated methods becomes disallowed. so you just experience the case explained in the comment ;) I admit that the output could be more readable, though! /M Any tips?! lol Thanks! Thiago 2012/2/23 Martinx - ジェームズ thiagocmarti...@gmail.com AWESOME!!! I can compile libcoin at my Ubuntu 11.10... I just need to install: sudo aptitude install libboost1.46-all-dev ...alongside with another already installed dependencies, and now it works!! Thank you! Thiago 2012/2/23 Michael Grønager grona...@ceptacle.com Hi Martinx, Another note: boost 1.42 and openssl 1.0 has a conflict (you will see it when you try to compile coinHTTP with that specific combination: sslv2 has been removed from openssl, but boost still references it.) You should do a : sudo apt-get upgrade libboost-dev-all to get the 1.46.1 library /M On 23/02/2012, at 18:31, Martinx - ジェームズ wrote: Hi Michael! Thank you for libcoin! It is a awesome evolution for Bitcoin and for the CryptoCurrencies as a hole... Thanks!!! Anyway, I am unable to compile libcoin under my Ubuntu 11.04. At this machine, I have compiled and running Bitcoin (from sources), Namecoin, Devcoin, Litecoin, IXcoin and I0coin, all from sources but, when I try to compile libcoin, I got: user@desk:~/libcoin$ ./configure -- The C compiler identification is GNU -- The CXX compiler identification is GNU -- Check for working C compiler: /usr/bin/gcc -- Check for working C compiler: /usr/bin/gcc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working CXX compiler: /usr/bin/c++ -- Check for working CXX compiler: /usr/bin/c++ -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Looking for include files CMAKE_HAVE_PTHREAD_H -- Looking for include files CMAKE_HAVE_PTHREAD_H - found -- Looking for pthread_create in pthreads -- Looking for pthread_create in pthreads - not found -- Looking for pthread_create in pthread -- Looking for pthread_create in pthread - found -- Found Threads: TRUE -- Looking for XOpenDisplay in /usr/lib/i386-linux-gnu/libX11.so;/usr/lib/i386-linux-gnu/libXext.so -- Looking for XOpenDisplay in /usr/lib/i386-linux-gnu/libX11.so;/usr/lib/i386-linux-gnu/libXext.so - found -- Looking for gethostbyname -- Looking for gethostbyname - found -- Looking for connect -- Looking for connect - found -- Looking for remove -- Looking for remove - found -- Looking for shmat -- Looking for
Re: [Bitcoin-development] Announcement: libcoin
Hi Martinx, I am looking into it now - I just tried on my Ubuntu 11.10 - I got by Script.cpp with no problems. I have Boost 1.48.1, but I can't see that causing the issue - I will retry with a cleaner machine... /M On 23/02/2012, at 18:31, Martinx - ジェームズ wrote: Hi Michael! Thank you for libcoin! It is a awesome evolution for Bitcoin and for the CryptoCurrencies as a hole... Thanks!!! Anyway, I am unable to compile libcoin under my Ubuntu 11.04. At this machine, I have compiled and running Bitcoin (from sources), Namecoin, Devcoin, Litecoin, IXcoin and I0coin, all from sources but, when I try to compile libcoin, I got: user@desk:~/libcoin$ ./configure -- The C compiler identification is GNU -- The CXX compiler identification is GNU -- Check for working C compiler: /usr/bin/gcc -- Check for working C compiler: /usr/bin/gcc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working CXX compiler: /usr/bin/c++ -- Check for working CXX compiler: /usr/bin/c++ -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Looking for include files CMAKE_HAVE_PTHREAD_H -- Looking for include files CMAKE_HAVE_PTHREAD_H - found -- Looking for pthread_create in pthreads -- Looking for pthread_create in pthreads - not found -- Looking for pthread_create in pthread -- Looking for pthread_create in pthread - found -- Found Threads: TRUE -- Looking for XOpenDisplay in /usr/lib/i386-linux-gnu/libX11.so;/usr/lib/i386-linux-gnu/libXext.so -- Looking for XOpenDisplay in /usr/lib/i386-linux-gnu/libX11.so;/usr/lib/i386-linux-gnu/libXext.so - found -- Looking for gethostbyname -- Looking for gethostbyname - found -- Looking for connect -- Looking for connect - found -- Looking for remove -- Looking for remove - found -- Looking for shmat -- Looking for shmat - found -- Looking for IceConnectionNumber in ICE -- Looking for IceConnectionNumber in ICE - found -- Found X11: /usr/lib/i386-linux-gnu/libX11.so -- Boost version: 1.42.0 -- Found the following Boost libraries: -- date_time -- regex -- filesystem -- system -- program_options -- thread -- Found OpenSSL: /usr/lib/libssl.so;/usr/lib/libcrypto.so -- Looking for Q_WS_X11 -- Looking for Q_WS_X11 - found -- Looking for Q_WS_WIN -- Looking for Q_WS_WIN - not found. -- Looking for Q_WS_QWS -- Looking for Q_WS_QWS - not found. -- Looking for Q_WS_MAC -- Looking for Q_WS_MAC - not found. -- Found Qt-Version 4.7.2 (using /usr/bin/qmake) -- Found wxWidgets: TRUE The build system is configured to install libraries to /usr/local/lib Your applications may not be able to find your installed libraries unless you: set your LD_LIBRARY_PATH (user specific) or update your ld.so configuration (system wide) You have an ld.so.conf.d directory on your system, so if you wish to ensure that applications find the installed libcoin libraries, system wide, you could install an libcoin specific ld.so configuration with: sudo make install_ld_conf -- Configuring done -- Generating done -- Build files have been written to: /home/user/libcoin Now I tried make, without success: . Script.cpp:(.text._ZngRK7CBigNum[operator-(CBigNum const)]+0xf): undefined reference to `BN_init' Script.cpp:(.text._ZngRK7CBigNum[operator-(CBigNum const)]+0x1e): undefined reference to `BN_copy' Script.cpp:(.text._ZngRK7CBigNum[operator-(CBigNum const)]+0x38): undefined reference to `BN_set_negative' Script.cpp:(.text._ZngRK7CBigNum[operator-(CBigNum const)]+0x4f): undefined reference to `BN_clear_free' Script.cpp:(.text._ZngRK7CBigNum[operator-(CBigNum const)]+0xd3): undefined reference to `BN_clear_free' ../../lib/libcoin.a(Script.o): In function `operator(CBigNum const, unsigned int)': Script.cpp:(.text._ZlsRK7CBigNumj[operator(CBigNum const, unsigned int)]+0x16): undefined reference to `BN_init' Script.cpp:(.text._ZlsRK7CBigNumj[operator(CBigNum const, unsigned int)]+0x2c): undefined reference to `BN_lshift' Script.cpp:(.text._ZlsRK7CBigNumj[operator(CBigNum const, unsigned int)]+0xad): undefined reference to `BN_clear_free' ../../lib/libcoin.a(Script.o): In function `operator(CBigNum const, unsigned int)': Script.cpp:(.text._ZrsRK7CBigNumj[operator(CBigNum const, unsigned int)]+0xf): undefined reference to `BN_init' Script.cpp:(.text._ZrsRK7CBigNumj[operator(CBigNum const, unsigned int)]+0x1e): undefined reference to `BN_copy' Script.cpp:(.text._ZrsRK7CBigNumj[operator(CBigNum const, unsigned int)]+0x47): undefined reference to `BN_clear_free' Script.cpp:(.text._ZrsRK7CBigNumj[operator(CBigNum const, unsigned int)]+0xcb): undefined reference to `BN_clear_free' ../../lib/libcoin.a(Script.o): In function `operator!=(CBigNum const, CBigNum const)': Script.cpp:(.text._ZneRK7CBigNumS1_[operator!=(CBigNum const, CBigNum const)]+0x14): undefined reference to `BN_cmp'
Re: [Bitcoin-development] Announcement: libcoin
I tried on another 11.10 machine with the normal boost 1.42 and things also worked as they should. However, I noticed a difference between your cmake output and mine: -- Found OpenSSL: /usr/lib/libssl.so;/usr/lib/libcrypto.so -- Found OpenSSL: /usr/lib/i386-linux-gnu/libssl.so;/usr/lib/i386-linux-gnu/libcrypto.so (found version 1..) Are you sure that the openssl libraries/includes found are the correct ones ? cmake finds your openssl libraries at /usr/lib/ which most likely will make it think that the includes are at /usr/include. I can see that at least X11 stuff is in /usr/lib/x386-linux-gnu like my openssl. Could there be an issue there ? SHA256 would normally be found in openssl/sha.h but if that is somehow corrupt ? Cheers, M PS: to get more debug output, please try a make VERBOSE=1 That will show what g++ flags that are used, and might help us. On 23/02/2012, at 18:31, Martinx - ジェームズ wrote: Hi Michael! Thank you for libcoin! It is a awesome evolution for Bitcoin and for the CryptoCurrencies as a hole... Thanks!!! Anyway, I am unable to compile libcoin under my Ubuntu 11.04. At this machine, I have compiled and running Bitcoin (from sources), Namecoin, Devcoin, Litecoin, IXcoin and I0coin, all from sources but, when I try to compile libcoin, I got: user@desk:~/libcoin$ ./configure -- The C compiler identification is GNU -- The CXX compiler identification is GNU -- Check for working C compiler: /usr/bin/gcc -- Check for working C compiler: /usr/bin/gcc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working CXX compiler: /usr/bin/c++ -- Check for working CXX compiler: /usr/bin/c++ -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Looking for include files CMAKE_HAVE_PTHREAD_H -- Looking for include files CMAKE_HAVE_PTHREAD_H - found -- Looking for pthread_create in pthreads -- Looking for pthread_create in pthreads - not found -- Looking for pthread_create in pthread -- Looking for pthread_create in pthread - found -- Found Threads: TRUE -- Looking for XOpenDisplay in /usr/lib/i386-linux-gnu/libX11.so;/usr/lib/i386-linux-gnu/libXext.so -- Looking for XOpenDisplay in /usr/lib/i386-linux-gnu/libX11.so;/usr/lib/i386-linux-gnu/libXext.so - found -- Looking for gethostbyname -- Looking for gethostbyname - found -- Looking for connect -- Looking for connect - found -- Looking for remove -- Looking for remove - found -- Looking for shmat -- Looking for shmat - found -- Looking for IceConnectionNumber in ICE -- Looking for IceConnectionNumber in ICE - found -- Found X11: /usr/lib/i386-linux-gnu/libX11.so -- Boost version: 1.42.0 -- Found the following Boost libraries: -- date_time -- regex -- filesystem -- system -- program_options -- thread -- Found OpenSSL: /usr/lib/libssl.so;/usr/lib/libcrypto.so -- Looking for Q_WS_X11 -- Looking for Q_WS_X11 - found -- Looking for Q_WS_WIN -- Looking for Q_WS_WIN - not found. -- Looking for Q_WS_QWS -- Looking for Q_WS_QWS - not found. -- Looking for Q_WS_MAC -- Looking for Q_WS_MAC - not found. -- Found Qt-Version 4.7.2 (using /usr/bin/qmake) -- Found wxWidgets: TRUE The build system is configured to install libraries to /usr/local/lib Your applications may not be able to find your installed libraries unless you: set your LD_LIBRARY_PATH (user specific) or update your ld.so configuration (system wide) You have an ld.so.conf.d directory on your system, so if you wish to ensure that applications find the installed libcoin libraries, system wide, you could install an libcoin specific ld.so configuration with: sudo make install_ld_conf -- Configuring done -- Generating done -- Build files have been written to: /home/user/libcoin Now I tried make, without success: . Script.cpp:(.text._ZngRK7CBigNum[operator-(CBigNum const)]+0xf): undefined reference to `BN_init' Script.cpp:(.text._ZngRK7CBigNum[operator-(CBigNum const)]+0x1e): undefined reference to `BN_copy' Script.cpp:(.text._ZngRK7CBigNum[operator-(CBigNum const)]+0x38): undefined reference to `BN_set_negative' Script.cpp:(.text._ZngRK7CBigNum[operator-(CBigNum const)]+0x4f): undefined reference to `BN_clear_free' Script.cpp:(.text._ZngRK7CBigNum[operator-(CBigNum const)]+0xd3): undefined reference to `BN_clear_free' ../../lib/libcoin.a(Script.o): In function `operator(CBigNum const, unsigned int)': Script.cpp:(.text._ZlsRK7CBigNumj[operator(CBigNum const, unsigned int)]+0x16): undefined reference to `BN_init' Script.cpp:(.text._ZlsRK7CBigNumj[operator(CBigNum const, unsigned int)]+0x2c): undefined reference to `BN_lshift' Script.cpp:(.text._ZlsRK7CBigNumj[operator(CBigNum const, unsigned int)]+0xad): undefined reference to `BN_clear_free' ../../lib/libcoin.a(Script.o): In function `operator(CBigNum const, unsigned int)':
Re: [Bitcoin-development] Announcement: libcoin
Hi Martinx, Another note: boost 1.42 and openssl 1.0 has a conflict (you will see it when you try to compile coinHTTP with that specific combination: sslv2 has been removed from openssl, but boost still references it.) You should do a : sudo apt-get upgrade libboost-dev-all to get the 1.46.1 library /M On 23/02/2012, at 18:31, Martinx - ジェームズ wrote: Hi Michael! Thank you for libcoin! It is a awesome evolution for Bitcoin and for the CryptoCurrencies as a hole... Thanks!!! Anyway, I am unable to compile libcoin under my Ubuntu 11.04. At this machine, I have compiled and running Bitcoin (from sources), Namecoin, Devcoin, Litecoin, IXcoin and I0coin, all from sources but, when I try to compile libcoin, I got: user@desk:~/libcoin$ ./configure -- The C compiler identification is GNU -- The CXX compiler identification is GNU -- Check for working C compiler: /usr/bin/gcc -- Check for working C compiler: /usr/bin/gcc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working CXX compiler: /usr/bin/c++ -- Check for working CXX compiler: /usr/bin/c++ -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Looking for include files CMAKE_HAVE_PTHREAD_H -- Looking for include files CMAKE_HAVE_PTHREAD_H - found -- Looking for pthread_create in pthreads -- Looking for pthread_create in pthreads - not found -- Looking for pthread_create in pthread -- Looking for pthread_create in pthread - found -- Found Threads: TRUE -- Looking for XOpenDisplay in /usr/lib/i386-linux-gnu/libX11.so;/usr/lib/i386-linux-gnu/libXext.so -- Looking for XOpenDisplay in /usr/lib/i386-linux-gnu/libX11.so;/usr/lib/i386-linux-gnu/libXext.so - found -- Looking for gethostbyname -- Looking for gethostbyname - found -- Looking for connect -- Looking for connect - found -- Looking for remove -- Looking for remove - found -- Looking for shmat -- Looking for shmat - found -- Looking for IceConnectionNumber in ICE -- Looking for IceConnectionNumber in ICE - found -- Found X11: /usr/lib/i386-linux-gnu/libX11.so -- Boost version: 1.42.0 -- Found the following Boost libraries: -- date_time -- regex -- filesystem -- system -- program_options -- thread -- Found OpenSSL: /usr/lib/libssl.so;/usr/lib/libcrypto.so -- Looking for Q_WS_X11 -- Looking for Q_WS_X11 - found -- Looking for Q_WS_WIN -- Looking for Q_WS_WIN - not found. -- Looking for Q_WS_QWS -- Looking for Q_WS_QWS - not found. -- Looking for Q_WS_MAC -- Looking for Q_WS_MAC - not found. -- Found Qt-Version 4.7.2 (using /usr/bin/qmake) -- Found wxWidgets: TRUE The build system is configured to install libraries to /usr/local/lib Your applications may not be able to find your installed libraries unless you: set your LD_LIBRARY_PATH (user specific) or update your ld.so configuration (system wide) You have an ld.so.conf.d directory on your system, so if you wish to ensure that applications find the installed libcoin libraries, system wide, you could install an libcoin specific ld.so configuration with: sudo make install_ld_conf -- Configuring done -- Generating done -- Build files have been written to: /home/user/libcoin Now I tried make, without success: . Script.cpp:(.text._ZngRK7CBigNum[operator-(CBigNum const)]+0xf): undefined reference to `BN_init' Script.cpp:(.text._ZngRK7CBigNum[operator-(CBigNum const)]+0x1e): undefined reference to `BN_copy' Script.cpp:(.text._ZngRK7CBigNum[operator-(CBigNum const)]+0x38): undefined reference to `BN_set_negative' Script.cpp:(.text._ZngRK7CBigNum[operator-(CBigNum const)]+0x4f): undefined reference to `BN_clear_free' Script.cpp:(.text._ZngRK7CBigNum[operator-(CBigNum const)]+0xd3): undefined reference to `BN_clear_free' ../../lib/libcoin.a(Script.o): In function `operator(CBigNum const, unsigned int)': Script.cpp:(.text._ZlsRK7CBigNumj[operator(CBigNum const, unsigned int)]+0x16): undefined reference to `BN_init' Script.cpp:(.text._ZlsRK7CBigNumj[operator(CBigNum const, unsigned int)]+0x2c): undefined reference to `BN_lshift' Script.cpp:(.text._ZlsRK7CBigNumj[operator(CBigNum const, unsigned int)]+0xad): undefined reference to `BN_clear_free' ../../lib/libcoin.a(Script.o): In function `operator(CBigNum const, unsigned int)': Script.cpp:(.text._ZrsRK7CBigNumj[operator(CBigNum const, unsigned int)]+0xf): undefined reference to `BN_init' Script.cpp:(.text._ZrsRK7CBigNumj[operator(CBigNum const, unsigned int)]+0x1e): undefined reference to `BN_copy' Script.cpp:(.text._ZrsRK7CBigNumj[operator(CBigNum const, unsigned int)]+0x47): undefined reference to `BN_clear_free' Script.cpp:(.text._ZrsRK7CBigNumj[operator(CBigNum const, unsigned int)]+0xcb): undefined reference to `BN_clear_free' ../../lib/libcoin.a(Script.o): In function `operator!=(CBigNum const, CBigNum const)':
Re: [Bitcoin-development] Announcement: libcoin
Hi Michael! I just run bitcoind, from libcoin (sudo make install) sources, with empty ~/.bitcoin directory and: Terminal 1: bitcoind # apparently okay Terminal 2: $ bitcoind getinfo # okay { version : 40001, blocks : 57733, connections : 8, difficulty : 11.84622815, testnet : false } # sleep a couple minutes $ bitcoind getinfo # ok { version : 40001, blocks : 67527, connections : 8, difficulty : 45.38582234, testnet : false } But... $ bitcoind help HTTP error code: 404 JSON RPC Error code: -36001 Method not found. $ bitcoind getaccountaddress HTTP error code: 401 Error: couldn't parse reply from server $ bitcoind listaccounts HTTP error code: 401 Error: couldn't parse reply from server Any tips?! lol Thanks! Thiago 2012/2/23 Martinx - ジェームズ thiagocmarti...@gmail.com AWESOME!!! I can compile libcoin at my Ubuntu 11.10... I just need to install: sudo aptitude install libboost1.46-all-dev ...alongside with another already installed dependencies, and now it works!! Thank you! Thiago 2012/2/23 Michael Grønager grona...@ceptacle.com Hi Martinx, Another note: boost 1.42 and openssl 1.0 has a conflict (you will see it when you try to compile coinHTTP with that specific combination: sslv2 has been removed from openssl, but boost still references it.) You should do a : sudo apt-get upgrade libboost-dev-all to get the 1.46.1 library /M On 23/02/2012, at 18:31, Martinx - ジェームズ wrote: Hi Michael! Thank you for libcoin! It is a awesome evolution for Bitcoin and for the CryptoCurrencies as a hole... Thanks!!! Anyway, I am unable to compile libcoin under my Ubuntu 11.04. At this machine, I have compiled and running Bitcoin (from sources), Namecoin, Devcoin, Litecoin, IXcoin and I0coin, all from sources but, when I try to compile libcoin, I got: user@desk:~/libcoin$ ./configure -- The C compiler identification is GNU -- The CXX compiler identification is GNU -- Check for working C compiler: /usr/bin/gcc -- Check for working C compiler: /usr/bin/gcc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working CXX compiler: /usr/bin/c++ -- Check for working CXX compiler: /usr/bin/c++ -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Looking for include files CMAKE_HAVE_PTHREAD_H -- Looking for include files CMAKE_HAVE_PTHREAD_H - found -- Looking for pthread_create in pthreads -- Looking for pthread_create in pthreads - not found -- Looking for pthread_create in pthread -- Looking for pthread_create in pthread - found -- Found Threads: TRUE -- Looking for XOpenDisplay in /usr/lib/i386-linux-gnu/libX11.so;/usr/lib/i386-linux-gnu/libXext.so -- Looking for XOpenDisplay in /usr/lib/i386-linux-gnu/libX11.so;/usr/lib/i386-linux-gnu/libXext.so - found -- Looking for gethostbyname -- Looking for gethostbyname - found -- Looking for connect -- Looking for connect - found -- Looking for remove -- Looking for remove - found -- Looking for shmat -- Looking for shmat - found -- Looking for IceConnectionNumber in ICE -- Looking for IceConnectionNumber in ICE - found -- Found X11: /usr/lib/i386-linux-gnu/libX11.so -- Boost version: 1.42.0 -- Found the following Boost libraries: -- date_time -- regex -- filesystem -- system -- program_options -- thread -- Found OpenSSL: /usr/lib/libssl.so;/usr/lib/libcrypto.so -- Looking for Q_WS_X11 -- Looking for Q_WS_X11 - found -- Looking for Q_WS_WIN -- Looking for Q_WS_WIN - not found. -- Looking for Q_WS_QWS -- Looking for Q_WS_QWS - not found. -- Looking for Q_WS_MAC -- Looking for Q_WS_MAC - not found. -- Found Qt-Version 4.7.2 (using /usr/bin/qmake) -- Found wxWidgets: TRUE The build system is configured to install libraries to /usr/local/lib Your applications may not be able to find your installed libraries unless you: set your LD_LIBRARY_PATH (user specific) or update your ld.so configuration (system wide) You have an ld.so.conf.d directory on your system, so if you wish to ensure that applications find the installed libcoin libraries, system wide, you could install an libcoin specific ld.so configuration with: sudo make install_ld_conf -- Configuring done -- Generating done -- Build files have been written to: /home/user/libcoin Now I tried make, without success: . Script.cpp:(.text._ZngRK7CBigNum[operator-(CBigNum const)]+0xf): undefined reference to `BN_init' Script.cpp:(.text._ZngRK7CBigNum[operator-(CBigNum const)]+0x1e): undefined reference to `BN_copy' Script.cpp:(.text._ZngRK7CBigNum[operator-(CBigNum const)]+0x38): undefined reference to `BN_set_negative' Script.cpp:(.text._ZngRK7CBigNum[operator-(CBigNum const)]+0x4f): undefined reference to `BN_clear_free'
Re: [Bitcoin-development] Announcement: libcoin
On Thu, Feb 2, 2012 at 12:12 PM, Gregory Maxwell gmaxw...@gmail.com wrote: sync, libbitcoin only made it to height 138k (of course, because the time is mostly spent late in the chain 138k is not very far along— I'm guessing it's going to take libbitcoin 3x-4x longer all said) It ended up taking almost exactly twice as long, FWIW. -- Keep Your Developer Skills Current with LearnDevNow! The most comprehensive online learning library for Microsoft developers is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3, Metro Style Apps, more. Free future releases when you subscribe now! http://p.sf.net/sfu/learndevnow-d2d ___ Bitcoin-development mailing list Bitcoin-development@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/bitcoin-development
Re: [Bitcoin-development] Announcement: libcoin
On Thu, Feb 2, 2012 at 12:36 PM, Gregory Maxwell gmaxw...@gmail.com wrote: On Thu, Feb 2, 2012 at 12:12 PM, Gregory Maxwell gmaxw...@gmail.com wrote: sync, libbitcoin only made it to height 138k (of course, because the time is mostly spent late in the chain 138k is not very far along— I'm guessing it's going to take libbitcoin 3x-4x longer all said) It ended up taking almost exactly twice as long, FWIW. (and Gah: forgive the autocompletion of my fingers: I'm apparently unable to type the word coin without prefacing it with bit) *libcoin* not libbitcoin. -- Keep Your Developer Skills Current with LearnDevNow! The most comprehensive online learning library for Microsoft developers is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3, Metro Style Apps, more. Free future releases when you subscribe now! http://p.sf.net/sfu/learndevnow-d2d ___ Bitcoin-development mailing list Bitcoin-development@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/bitcoin-development
Re: [Bitcoin-development] Announcement: libcoin
You will also find the RPC server in libcoin blistering fast compared to the Satoshi client. (It was actually what got me to write libcoin in the first place...). The Satoshi client HTTP server executes all rpc commands in its own thread, but to do so, it needs to stop the thread of the Node, even though the command executed is just a query (i.e. not a SendTo), you hence have two threads blocking each other and when they wait, you wait... In libcoin all the query methods access the blockChain as a const object and they can hence safely query it without intervening the work of the Node thread. The exception are the SendTo methods that first query if a transaction can take place, then pushes it to the work-queue of the Node thread and again exits immediately. The actual execution then follows once the Node has finished its current tasks (e.g. validating a block). Hello Michael, I'm impressed by your refactorings, and hope some of them can make it into the Satoshi codebase. I am however not sure what you've said above is safe. In particular, how do you guarantee that no other thread modifies the blockchain structure while you are performing your query on it? Does the query code operate on a const copy of the structure, or is there guaranteed only one thread accessing it? I've been thinking about moving to read-write locks that allow multiple threads reading the datastructure simultaneously, but removing the locking all together sounds wrong to me. -- Pieter -- Try before you buy = See our experts in action! The most comprehensive online learning library for Microsoft developers is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3, Metro Style Apps, more. Free future releases when you subscribe now! http://p.sf.net/sfu/learndevnow-dev2___ Bitcoin-development mailing list Bitcoin-development@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/bitcoin-development
Re: [Bitcoin-development] Announcement: libcoin
On Wed, Feb 1, 2012 at 9:18 AM, Michael Grønager grona...@ceptacle.com wrote: The libcoin/bitcoind client downloads the entire block chain 3.5 times faster than the bitcoin/bitcoind client. This is less than 90 minutes on a modern laptop! Very interesting. Do you know where this speedup came from? It's not typical for straight refactors that don't change datastructures and the like to see such big speedups. I see you have commented out code that disables fsync, which was my first guess since I get big speedups from doing similar things. -- Keep Your Developer Skills Current with LearnDevNow! The most comprehensive online learning library for Microsoft developers is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3, Metro Style Apps, more. Free future releases when you subscribe now! http://p.sf.net/sfu/learndevnow-d2d ___ Bitcoin-development mailing list Bitcoin-development@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/bitcoin-development
Re: [Bitcoin-development] Announcement: libcoin
On Wednesday, February 01, 2012 9:18:32 AM Michael Grønager wrote: libcoin is now in a state ready for its first release, which I would like to share with you! Looks interesting. However, it doesn't configure for me: http://paste.pocoo.org/show/544135/ I noticed it's forked from bitcoind 0.4.x. Do you plan to merge up to 0.5.x? Luke -- Keep Your Developer Skills Current with LearnDevNow! The most comprehensive online learning library for Microsoft developers is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3, Metro Style Apps, more. Free future releases when you subscribe now! http://p.sf.net/sfu/learndevnow-d2d ___ Bitcoin-development mailing list Bitcoin-development@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/bitcoin-development
Re: [Bitcoin-development] Announcement: libcoin
Hi Gregory, I played with the database sync as well to get further speedups, but in the latest version I could only get about 1% extra from this. In the Satoshi client there is a bunch of sleeps and mutexes (put in there with great generosity) for making threads run smoother and to avoid deadlock I guess. The big change in speed came from moving from the threading based setup to the async based setup, so I think these are the culprit. Further, as I also write somewhere in the wiki. I can measure that 50% of the time is consumed in verify, so there is not much left to optimize now. Actually, Berkeley DB does a quite decent job in caching reads so not even a cache should help. Cheers, M On 01/02/2012, at 15:59, Gregory Maxwell wrote: On Wed, Feb 1, 2012 at 9:18 AM, Michael Grønager grona...@ceptacle.com wrote: The libcoin/bitcoind client downloads the entire block chain 3.5 times faster than the bitcoin/bitcoind client. This is less than 90 minutes on a modern laptop! Very interesting. Do you know where this speedup came from? It's not typical for straight refactors that don't change datastructures and the like to see such big speedups. I see you have commented out code that disables fsync, which was my first guess since I get big speedups from doing similar things. Michael Gronager, PhD Director, Ceptacle Jens Juels Gade 33 2100 Copenhagen E Mobile: +45 31 45 14 01 E-mail: grona...@ceptacle.com Web: http://www.ceptacle.com/ -- Keep Your Developer Skills Current with LearnDevNow! The most comprehensive online learning library for Microsoft developers is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3, Metro Style Apps, more. Free future releases when you subscribe now! http://p.sf.net/sfu/learndevnow-d2d ___ Bitcoin-development mailing list Bitcoin-development@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/bitcoin-development
Re: [Bitcoin-development] Announcement: libcoin
Well, it should be simple. libcoin separates all the stuff you would like to do from a gui from the actual code, so I think it could be done cleanly. I havn't looked much at qt though... But help would be appreciated ;) /M On 01/02/2012, at 16:02, Wladimir wrote: Sounds very nice. Congratulations with the release! Any plans for porting over bitcoin-qt? Wladimir Op 1 feb. 2012 15:19 schreef Michael Grønager grona...@ceptacle.com het volgende: Dear Bitcoiners, libcoin is now in a state ready for its first release, which I would like to share with you! === libcoin is a crypto currency library based on the bitcoin/bitcoin Satoshi client. === Copenhagen, Denmark - 1st February 2012 Ceptacle announces the release of the first version of the crypto currency library libcoin based on the bitcoin/bitcoin Satoshi client. libcoin also maintains a version of bitcoind that is a 100% compatible drop-in replacement of the bitcoin/bitcoind client: You can use it on the same computer on the same files and you can call it with the same scripts. And you can easily extend it without touching the basic bitcoin source files. The libcoin/bitcoind client downloads the entire block chain 3.5 times faster than the bitcoin/bitcoind client. This is less than 90 minutes on a modern laptop! In libcoin, the Satoshi client code has been completely refactored, properly encapsulating classes, removing all globals, moving from threads and mutexes to a pure asynchronous approach. Functionalities have been divided into logical units and libraries, minimizing dependencies for e.g. thin clients. libcoin is chain agnostic, all chain (bitcoin, testnet, namecoin, litecoin, ...) specific settings are maintained from a single class (Chain) and hence experiments with chain settings, mining, security and digital currencies for research and educational purposes are easily accessible. See the ponzicoin example for how you define your own chain. The build system of libcoin is based on CMake and supports builds of static and dynamic libraries on Linux, Mac OS X, and Windows. The libcoin license is LGPL v. 3. This mean that you can use it in open source as well as in commercial projects, but improvements should go back into the libcoin library. == Read more on libcoin on: http://github.com/ceptacle/libcoin/wiki Join libcoin on twitter: http://twitter.com/libcoin Download libcoin Satoshi release: http://github.com/ceptacle/libcoin/zipball/v0.4.0.1 Best regards, Michael Gronager, PhD Director, Ceptacle Jens Juels Gade 33 2100 Copenhagen E Mobile: +45 31 45 14 01 E-mail: grona...@ceptacle.com Web: http://www.ceptacle.com/ -- Keep Your Developer Skills Current with LearnDevNow! The most comprehensive online learning library for Microsoft developers is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3, Metro Style Apps, more. Free future releases when you subscribe now! http://p.sf.net/sfu/learndevnow-d2d ___ Bitcoin-development mailing list Bitcoin-development@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/bitcoin-development Michael Gronager, PhD Director, Ceptacle Jens Juels Gade 33 2100 Copenhagen E Mobile: +45 31 45 14 01 E-mail: grona...@ceptacle.com Web: http://www.ceptacle.com/ -- Keep Your Developer Skills Current with LearnDevNow! The most comprehensive online learning library for Microsoft developers is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3, Metro Style Apps, more. Free future releases when you subscribe now! http://p.sf.net/sfu/learndevnow-d2d ___ Bitcoin-development mailing list Bitcoin-development@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/bitcoin-development
Re: [Bitcoin-development] Announcement: libcoin
Would be fine for me, depends on the community, and it is one of those chunks that make many stall... The reason for building on bitcoin/bitcoin directly is that this created a history of all changes, and this way I had a working version running each day while doing the refactoring - with my wallet at stake! However, I think perhaps the bitcoin project should be split into a library, with a prototype client and the actual clients. This library facilitates this. Cheers, M On 01/02/2012, at 16:09, slush wrote: Very interesting. Do you have any plans to push your refactored code into Bitcoin upstream for future releases someday? slush On Wed, Feb 1, 2012 at 3:18 PM, Michael Grønager grona...@ceptacle.com wrote: Dear Bitcoiners, libcoin is now in a state ready for its first release, which I would like to share with you! === libcoin is a crypto currency library based on the bitcoin/bitcoin Satoshi client. === Copenhagen, Denmark - 1st February 2012 Ceptacle announces the release of the first version of the crypto currency library libcoin based on the bitcoin/bitcoin Satoshi client. libcoin also maintains a version of bitcoind that is a 100% compatible drop-in replacement of the bitcoin/bitcoind client: You can use it on the same computer on the same files and you can call it with the same scripts. And you can easily extend it without touching the basic bitcoin source files. The libcoin/bitcoind client downloads the entire block chain 3.5 times faster than the bitcoin/bitcoind client. This is less than 90 minutes on a modern laptop! In libcoin, the Satoshi client code has been completely refactored, properly encapsulating classes, removing all globals, moving from threads and mutexes to a pure asynchronous approach. Functionalities have been divided into logical units and libraries, minimizing dependencies for e.g. thin clients. libcoin is chain agnostic, all chain (bitcoin, testnet, namecoin, litecoin, ...) specific settings are maintained from a single class (Chain) and hence experiments with chain settings, mining, security and digital currencies for research and educational purposes are easily accessible. See the ponzicoin example for how you define your own chain. The build system of libcoin is based on CMake and supports builds of static and dynamic libraries on Linux, Mac OS X, and Windows. The libcoin license is LGPL v. 3. This mean that you can use it in open source as well as in commercial projects, but improvements should go back into the libcoin library. == Read more on libcoin on: http://github.com/ceptacle/libcoin/wiki Join libcoin on twitter: http://twitter.com/libcoin Download libcoin Satoshi release: http://github.com/ceptacle/libcoin/zipball/v0.4.0.1 Best regards, Michael Gronager, PhD Director, Ceptacle Jens Juels Gade 33 2100 Copenhagen E Mobile: +45 31 45 14 01 E-mail: grona...@ceptacle.com Web: http://www.ceptacle.com/ -- Keep Your Developer Skills Current with LearnDevNow! The most comprehensive online learning library for Microsoft developers is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3, Metro Style Apps, more. Free future releases when you subscribe now! http://p.sf.net/sfu/learndevnow-d2d ___ Bitcoin-development mailing list Bitcoin-development@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/bitcoin-development Michael Gronager, PhD Director, Ceptacle Jens Juels Gade 33 2100 Copenhagen E Mobile: +45 31 45 14 01 E-mail: grona...@ceptacle.com Web: http://www.ceptacle.com/ -- Keep Your Developer Skills Current with LearnDevNow! The most comprehensive online learning library for Microsoft developers is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3, Metro Style Apps, more. Free future releases when you subscribe now! http://p.sf.net/sfu/learndevnow-d2d ___ Bitcoin-development mailing list Bitcoin-development@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/bitcoin-development
Re: [Bitcoin-development] Announcement: libcoin
Hi Luke, Your CMake cannot find boost - use ccmake or cmake-gui to help it with the location. Btw what platform are you using ? /M On 01/02/2012, at 16:26, Luke-Jr wrote: On Wednesday, February 01, 2012 9:18:32 AM Michael Grønager wrote: libcoin is now in a state ready for its first release, which I would like to share with you! Looks interesting. However, it doesn't configure for me: http://paste.pocoo.org/show/544135/ I noticed it's forked from bitcoind 0.4.x. Do you plan to merge up to 0.5.x? Luke Michael Gronager, PhD Director, Ceptacle Jens Juels Gade 33 2100 Copenhagen E Mobile: +45 31 45 14 01 E-mail: grona...@ceptacle.com Web: http://www.ceptacle.com/ -- Keep Your Developer Skills Current with LearnDevNow! The most comprehensive online learning library for Microsoft developers is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3, Metro Style Apps, more. Free future releases when you subscribe now! http://p.sf.net/sfu/learndevnow-d2d ___ Bitcoin-development mailing list Bitcoin-development@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/bitcoin-development
Re: [Bitcoin-development] Announcement: libcoin
Sounds great. Does it support merged mining? Also, I'm a bit skeptic about it being chain agnostic. I want to implement a chain with demurrage and I think I'll need to also change coinWallet and not only create an implementation of the interface Chain. Anyway, this will make the task much easier. Thank you. Until I have the time to code it, there's a little bounty (7.3 btc) for this in case you're interested. -- Keep Your Developer Skills Current with LearnDevNow! The most comprehensive online learning library for Microsoft developers is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3, Metro Style Apps, more. Free future releases when you subscribe now! http://p.sf.net/sfu/learndevnow-d2d ___ Bitcoin-development mailing list Bitcoin-development@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/bitcoin-development
Re: [Bitcoin-development] Announcement: libcoin
On Wednesday, February 01, 2012 10:58:28 AM Michael Grønager wrote: Your CMake cannot find boost - use ccmake or cmake-gui to help it with the location. I didn't see anything useful in ccmake. Boost is in the standard locations (/usr/include/boost/ and /usr/lib/libboost* Btw what platform are you using ? Gentoo -- Keep Your Developer Skills Current with LearnDevNow! The most comprehensive online learning library for Microsoft developers is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3, Metro Style Apps, more. Free future releases when you subscribe now! http://p.sf.net/sfu/learndevnow-d2d ___ Bitcoin-development mailing list Bitcoin-development@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/bitcoin-development
Re: [Bitcoin-development] Announcement: libcoin
OK - from your path it looks like linux. What version of Boost do you use. I require 1.47 or 1.48. - I will change that, but it is quite handy for signal_sets - will make an alternative scheme though. And, as for 0.4 vs 0.5 - I have tried to follow the changes, which were mostly (?) related to the integration of the qt client, which would have to be re-done anyway. Then there were some deadlock fixes, that I don't need ;). A fix for a special attack, that I have included. But I will go over everything again. Cheers, M On 01/02/2012, at 16:26, Luke-Jr wrote: On Wednesday, February 01, 2012 9:18:32 AM Michael Grønager wrote: libcoin is now in a state ready for its first release, which I would like to share with you! Looks interesting. However, it doesn't configure for me: http://paste.pocoo.org/show/544135/ I noticed it's forked from bitcoind 0.4.x. Do you plan to merge up to 0.5.x? Luke Michael Gronager, PhD Director, Ceptacle Jens Juels Gade 33 2100 Copenhagen E Mobile: +45 31 45 14 01 E-mail: grona...@ceptacle.com Web: http://www.ceptacle.com/ -- Keep Your Developer Skills Current with LearnDevNow! The most comprehensive online learning library for Microsoft developers is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3, Metro Style Apps, more. Free future releases when you subscribe now! http://p.sf.net/sfu/learndevnow-d2d ___ Bitcoin-development mailing list Bitcoin-development@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/bitcoin-development
Re: [Bitcoin-development] Announcement: libcoin
Just wrote it in another mail, but I am quite certain it is the boost version - you need 1.48 (or 1.47). /M On 01/02/2012, at 17:15, Luke-Jr wrote: On Wednesday, February 01, 2012 10:58:28 AM Michael Grønager wrote: Your CMake cannot find boost - use ccmake or cmake-gui to help it with the location. I didn't see anything useful in ccmake. Boost is in the standard locations (/usr/include/boost/ and /usr/lib/libboost* Btw what platform are you using ? Gentoo Michael Gronager, PhD Director, Ceptacle Jens Juels Gade 33 2100 Copenhagen E Mobile: +45 31 45 14 01 E-mail: grona...@ceptacle.com Web: http://www.ceptacle.com/ -- Keep Your Developer Skills Current with LearnDevNow! The most comprehensive online learning library for Microsoft developers is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3, Metro Style Apps, more. Free future releases when you subscribe now! http://p.sf.net/sfu/learndevnow-d2d ___ Bitcoin-development mailing list Bitcoin-development@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/bitcoin-development
Re: [Bitcoin-development] Announcement: libcoin
On Wednesday, February 01, 2012 11:20:22 AM Michael Grønager wrote: OK - from your path it looks like linux. What version of Boost do you use. I require 1.47 or 1.48. - I will change that, but it is quite handy for signal_sets - will make an alternative scheme though. Upgrading to 1.47 did not change the error at all... :/ -- Keep Your Developer Skills Current with LearnDevNow! The most comprehensive online learning library for Microsoft developers is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3, Metro Style Apps, more. Free future releases when you subscribe now! http://p.sf.net/sfu/learndevnow-d2d ___ Bitcoin-development mailing list Bitcoin-development@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/bitcoin-development
Re: [Bitcoin-development] Announcement: libcoin
However, I think perhaps the bitcoin project should be split into a library, with a prototype client and the actual clients. This library facilitates this. I'll be trying your implementation soon. And libbitcoin/subvertx too. Partly because they're also non-interpreted, and partly to what seems better architected... To the minimal extent of my understanding... I'd like to see wallet ops completely separated from background chain ops. ie: have a chain daemon doing it's thing, updating, verifying, etc. The generator doing it's thing. And a wallet app that can independently manage separate wallets in parallel, referencing the live chain files as needed. It seems a library would allow quality focus on the separate functions and let apps/ui's use the fn's as desired on top. Right now, it seems I have to run bitcoind and can only deal with one wallet at a time, having to stop it, deal with state issues, swap in a new wallet, start it, and repeat till illness ensues :( And when the chain is being processed hard by the daemon cpuwise, bitcoin RPC takes minutes to respond, if ever or errors out. If wallet ops or statistical queries on the chain need it for integrity or reading, a db checkpoint/lock/logroll could be implemented into the chain demon processes with a client lib api to trigger it as needed. Don't know, just saying. fyi... boost 1.48 and db 4.8.30 work fine with 0.5.2, 0.5.x, and master, you just need to compile and include it by hand if you want it and your package manager doesn't have it. -- Keep Your Developer Skills Current with LearnDevNow! The most comprehensive online learning library for Microsoft developers is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3, Metro Style Apps, more. Free future releases when you subscribe now! http://p.sf.net/sfu/learndevnow-d2d ___ Bitcoin-development mailing list Bitcoin-development@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/bitcoin-development