From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from sog-mx-2.v43.ch3.sourceforge.com ([172.29.43.192] helo=mx.sourceforge.net) by sfs-ml-4.v29.ch3.sourceforge.com with esmtp (Exim 4.76) (envelope-from ) id 1SAgHr-000745-QB for bitcoin-development@lists.sourceforge.net; Thu, 22 Mar 2012 11:34:35 +0000 X-ACL-Warn: Received: from 2508ds5-oebr.0.fullrate.dk ([95.166.54.49] helo=mail.ceptacle.com) by sog-mx-2.v43.ch3.sourceforge.com with esmtp (Exim 4.76) id 1SAgHl-0005qZ-JD for bitcoin-development@lists.sourceforge.net; Thu, 22 Mar 2012 11:34:35 +0000 Received: from localhost (localhost [127.0.0.1]) by mail.ceptacle.com (Postfix) with ESMTP id 32B501977618; Thu, 22 Mar 2012 12:34:23 +0100 (CET) X-Virus-Scanned: amavisd-new at ceptacle.com Received: from mail.ceptacle.com ([127.0.0.1]) by localhost (server.ceptacle.private [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id NdlPFmh3h55Y; Thu, 22 Mar 2012 12:34:23 +0100 (CET) Received: from [109.105.106.219] (unknown [109.105.106.219]) by mail.ceptacle.com (Postfix) with ESMTPSA id CDD2F1977612; Thu, 22 Mar 2012 12:34:22 +0100 (CET) Mime-Version: 1.0 (Apple Message framework v1257) Content-Type: text/plain; charset=utf-8 From: =?iso-8859-1?Q?Michael_Gr=F8nager?= In-Reply-To: Date: Thu, 22 Mar 2012 12:34:22 +0100 Content-Transfer-Encoding: quoted-printable Message-Id: <072A82C0-A8FF-415D-8D1B-AE71F1D2208F@ceptacle.com> References: <4FF4A408-F8C9-4A50-8B13-13D3686BEB09@ceptacle.com> <3C518667-C2A6-4D1F-988D-888964925489@ceptacle.com> <07A82C1E-AE1D-44DC-AF02-38A3D755FA35@ceptacle.com> <8CEEE576-37DF-4101-9593-73D5FB66D52F@ceptacle.com> To: =?utf-8?Q?Martinx_-_=E3=82=B8=E3=82=A7=E3=83=BC=E3=83=A0?= =?utf-8?Q?=E3=82=BA?= X-Mailer: Apple Mail (2.1257) X-Spam-Score: 0.0 (/) X-Spam-Report: Spam Filtering performed by mx.sourceforge.net. See http://spamassassin.org/tag/ for more details. 0.0 MIME_QP_LONG_LINE RAW: Quoted-printable line longer than 76 chars -0.0 AWL AWL: From: address is in the auto white-list X-Headers-End: 1SAgHl-0005qZ-JD Cc: Bitcoin Dev Subject: Re: [Bitcoin-development] Announcement: libcoin X-BeenThere: bitcoin-development@lists.sourceforge.net X-Mailman-Version: 2.1.9 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 22 Mar 2012 11:34:35 -0000 >=20 > 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 ;) 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.=20 I did a presentation of libcoin at BitCon12 in San Antonio - I will trow = the slides at the web-side asap. >=20 > 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. > Another questions not involved directly with Libcoin/Bitcoin but, = I'll need it for my future Bitcoin projects, and Libcoin is on my radar: >=20 > 1- Do you know about Diaspora* Project? Yes, I even have an account :) > 2- Do you have skills in Ruby on Rails development? Nope... /M >=20 >=20 > Thank you! > Thiago >=20 > 2012/3/3 Michael Gr=C3=B8nager > Hi Martin, >=20 > There are a couple of options of doing similarly... >=20 > 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. >=20 > You could e.g. run one btcd on the machine and several btc instances = to get the functionality you asked for. >=20 > Further, btcd also enables a web wallet, where the private keys are = stored in your browsers local-store. >=20 > 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. >=20 > Hope this answers your question. >=20 > Cheers, >=20 > Michael >=20 > On 03/03/2012, at 02:04, Martinx - =E3=82=B8=E3=82=A7=E3=83=BC=E3=83=A0=E3= =82=BA wrote: >=20 > > 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=C3=B8nager > > 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 - =E3=82=B8=E3=82=A7=E3=83=BC=E3=83=A0= =E3=82=BA 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.00000000 > >> } > >> > >> Where is my default account listed at "listaccounts" output?! > >> > >> Best, > >> Thiago > >> > >> 2012/2/26 Michael Gr=C3=B8nager > >> And if you do an update now "help" is there too ;) > >> > >> /M > >> > >> On 25/02/2012, at 03:11, Martinx - =E3=82=B8=E3=82=A7=E3=83=BC=E3=83=A0= =E3=82=BA wrote: > >> > >>> Thank you!!! > >>> > >>> It is all working now! Except "help"... > >>> > >>> Nice work Michael!! > >>> > >>> Best, > >>> Thiago > >>> > >>> 2012/2/24 Michael Gr=C3=B8nager > >>> OK - didn't took the weekend: > >>> > >>> support for "port" is on github now :) > >>> > >>> Only took two lines: > >>> > >>> ("port", value(&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_cast(port)); // it is also here we specify = the use of a proxy! > >>> > >>> /M > >>> > >>> > >>> > >>> On 24/02/2012, at 19:49, Martinx - =E3=82=B8=E3=82=A7=E3=83=BC=E3=83= =A0=E3=82=BA 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=3D1 > >>>> daemon=3D1 > >>>> rpcuser=3Dlibcoin > >>>> rpcpassword=3DLibCoin13 > >>>> rpcport=3D10332 > >>>> port=3D10333 > >>>> > >>>> 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=3DAF_INET, sin_port=3Dhtons(8333), = sin_addr=3Dinet_addr("0.0.0.0")}, 16) =3D -1 EADDRINUSE (Address already = in use) > >>>> ... > >>>> > >>>> I already tried: > >>>> > >>>> /usr/local/bin/bitcoind --rpcport 10332 > >>>> /usr/local/bin/bitcoind --rpcport=3D10332 > >>>> > >>>> Without success... > >>>> > >>>> Thanks again! > >>>> Thiago > >>>> > >>>> 2012/2/24 Michael Gr=C3=B8nager > >>>> 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 =3D 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 - =E3=82=B8=E3=82=A7=E3=83=BC=E3=83=A0=E3=82=BA = > >>>>> 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=C3=B8nager > >>>>> 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 - =E3=82=B8=E3=82=A7=E3=83=BC=E3=83= =A0=E3=82=BA 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!=3D(CBigNum = const&, CBigNum const&)': > >>>>>> Script.cpp:(.text._ZneRK7CBigNumS1_[operator!=3D(CBigNum = const&, CBigNum const&)]+0x14): undefined reference to `BN_cmp' > >>>>>> ../../lib/libcoin.a(Script.o): In function `operator>(CBigNum = const&, CBigNum const&)': > >>>>>> Script.cpp:(.text._ZgtRK7CBigNumS1_[operator>(CBigNum const&, = CBigNum const&)]+0x14): undefined reference to `BN_cmp' > >>>>>> ../../lib/libcoin.a(Script.o): In function `uint256 = Hash<__gnu_cxx::__normal_iterator > > = >(__gnu_cxx::__normal_iterator > >, = __gnu_cxx::__normal_iterator > >)': > >>>>>> = Script.cpp:(.text._Z4HashIN9__gnu_cxx17__normal_iteratorIPhSt6vectorIhSaIh= EEEEE7uint256T_S8_[uint256 Hash<__gnu_cxx::__normal_iterator > > = >(__gnu_cxx::__normal_iterator > >, = __gnu_cxx::__normal_iterator > >)]+0x6d): undefined reference to = `SHA256' > >>>>>> = Script.cpp:(.text._Z4HashIN9__gnu_cxx17__normal_iteratorIPhSt6vectorIhSaIh= EEEEE7uint256T_S8_[uint256 Hash<__gnu_cxx::__normal_iterator > > = >(__gnu_cxx::__normal_iterator > >, = __gnu_cxx::__normal_iterator > >)]+0xb8): undefined reference to = `SHA256' > >>>>>> collect2: ld returned 1 exit status > >>>>>> make[2]: *** [bin/bitcoind] Error 1 > >>>>>> make[1]: *** = [applications/bitcoind/CMakeFiles/app_bitcoind.dir/all] Error 2 > >>>>>> make: *** [all] Error 2 > >>>>>> ----- > >>>>>> > >>>>>> What can I do?! > >>>>>> > >>>>>> Best, > >>>>>> Thiago > >>>>>> > >>>>>> > >>>>>> On 1 February 2012 12:18, Michael Gr=C3=B8nager = wrote: > >>>>>> Dear Bitcoiners, > >>>>>> > >>>>>> libcoin is now in a state ready for its first release, which I = would like to share with you! > >>>>>> > >>>>>> =3D=3D=3D libcoin is a crypto currency library based on the = bitcoin/bitcoin "Satoshi" client. =3D=3D=3D > >>>>>> > >>>>>> 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. > >>>>>> > >>>>>> =3D=3D=3D=3D=3D=3D > >>>>>> > >>>>>> 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: gronager@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: gronager@ceptacle.com > >>>>> Web: http://www.ceptacle.com/ > >>>>> > >>>>> > >>>>> > >>>> > >>>> > >>> > >>> Michael Gronager, PhD > >>> Director, Ceptacle > >>> Jens Juels Gade 33 > >>> 2100 Copenhagen E > >>> Mobile: +45 31 45 14 01 > >>> E-mail: gronager@ceptacle.com > >>> Web: http://www.ceptacle.com/ > >>> > >>> > >> > >> Michael Gronager, PhD > >> Director, Ceptacle > >> Jens Juels Gade 33 > >> 2100 Copenhagen E > >> Mobile: +45 31 45 14 01 > >> E-mail: gronager@ceptacle.com > >> Web: http://www.ceptacle.com/ > >> > >> > > > > Michael Gronager, PhD > > Director, Ceptacle > > Jens Juels Gade 33 > > 2100 Copenhagen E > > Mobile: +45 31 45 14 01 > > E-mail: gronager@ceptacle.com > > Web: http://www.ceptacle.com/ > > > > >=20 > Michael Gronager, PhD > Director, Ceptacle > Jens Juels Gade 33 > 2100 Copenhagen E > Mobile: +45 31 45 14 01 > E-mail: gronager@ceptacle.com > Web: http://www.ceptacle.com/ >=20 >=20 Michael Gronager, PhD Director, Ceptacle Jens Juels Gade 33 2100 Copenhagen E Mobile: +45 31 45 14 01 E-mail: gronager@ceptacle.com Web: http://www.ceptacle.com/