From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from sog-mx-3.v43.ch3.sourceforge.com ([172.29.43.193] helo=mx.sourceforge.net) by sfs-ml-4.v29.ch3.sourceforge.com with esmtp (Exim 4.76) (envelope-from ) id 1SAlNR-0006oa-IM for bitcoin-development@lists.sourceforge.net; Thu, 22 Mar 2012 17:00:41 +0000 Received-SPF: pass (sog-mx-3.v43.ch3.sourceforge.com: domain of coinlab.com designates 209.85.160.175 as permitted sender) client-ip=209.85.160.175; envelope-from=peter@coinlab.com; helo=mail-gy0-f175.google.com; Received: from mail-gy0-f175.google.com ([209.85.160.175]) by sog-mx-3.v43.ch3.sourceforge.com with esmtps (TLSv1:RC4-MD5:128) (Exim 4.76) id 1SAlNP-0006LG-GE for bitcoin-development@lists.sourceforge.net; Thu, 22 Mar 2012 17:00:41 +0000 Received: by ghbz2 with SMTP id z2so2423792ghb.34 for ; Thu, 22 Mar 2012 10:00:34 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type:x-gm-message-state; bh=kSxO9IK6PuJlL7nvqFC6jdHcp6uWs2wsru/zjDVbqKA=; b=SLmejxU3kLg8UGZzfmI00e4TI6p4bJX6/n2hh/cyP0nYqiTCBf2yoOHbyu54+cjRIS 0p/F08voPxBj2x3Rw4TJy4s27lQKn8X5DUNEw16KeBSIfgCfdyryxYH+2Z8NgPXInzfO tIo78emWCX1OSS88YdLEoCsgSY39gjmyFLvlYpiyjZZGym/zCAyg8yzAb3W3+xzX3dnL iUEJxVdfuEGhHP8zkEtSiPCa5pomN1RRJs5NGwmCeYmG1Jr+toc4/yPvdgNninBMYT8c +viyEjL+63H+NvvYDStkCWrJBE2INgSIPfM0NPcvZQIKGCVsglyMC186ao6YlQQrqSOu ZIHA== Received: by 10.60.25.162 with SMTP id d2mr11207496oeg.30.1332434094278; Thu, 22 Mar 2012 09:34:54 -0700 (PDT) MIME-Version: 1.0 Received: by 10.182.111.38 with HTTP; Thu, 22 Mar 2012 09:34:34 -0700 (PDT) In-Reply-To: <264BCBC5-8ADC-46FA-B756-6CEEC18CAE75@ceptacle.com> References: <4FF4A408-F8C9-4A50-8B13-13D3686BEB09@ceptacle.com> <3C518667-C2A6-4D1F-988D-888964925489@ceptacle.com> <07A82C1E-AE1D-44DC-AF02-38A3D755FA35@ceptacle.com> <264BCBC5-8ADC-46FA-B756-6CEEC18CAE75@ceptacle.com> From: Peter Vessenes Date: Thu, 22 Mar 2012 09:34:34 -0700 Message-ID: To: =?ISO-8859-1?Q?Michael_Gr=F8nager?= Content-Type: multipart/alternative; boundary=e89a8ff1c16ae048b604bbd77c1d X-Gm-Message-State: ALoCoQnb93s7lYTSmgXbkiOmxgIrkq4+t2xt23Z7JBq2ZYw+BK6LDs3Tz3ijhIqU9cqQ6kGKloGO X-Spam-Score: -0.5 (/) X-Spam-Report: Spam Filtering performed by mx.sourceforge.net. See http://spamassassin.org/tag/ for more details. -1.5 SPF_CHECK_PASS SPF reports sender host as permitted sender for sender-domain -0.0 SPF_PASS SPF: sender matches SPF record 1.0 HTML_MESSAGE BODY: HTML included in message X-Headers-End: 1SAlNP-0006LG-GE X-Mailman-Approved-At: Thu, 22 Mar 2012 17:04:51 +0000 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 17:00:41 -0000 --e89a8ff1c16ae048b604bbd77c1d Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable This conversation reminds me that I'd like to see a comprehensive list of tests that alt processors / generators can run against. I haven't looked in the client code for some time, but does that exist now? That would be a nice 'I want to help' early project, getting together inputs and expected outputs / stack states for implementers to check against. As it is right now, we've split our codebase a bit; we rely on the client to check the validity of a transaction, the balance of a given address, and converse with the network, but we have written most of our own code for stuff like block gen; I expect we will also do that for transaction creation. Peter 2012/3/22 Michael Gr=C3=B8nager > What you list below was actually the plan - just havn't gotten there yet, > but it will be dead easy. > > /M > > > On 22/03/2012, at 11:50, Martinx - =E3=82=B8=E3=82=A7=E3=83=BC=E3=83=A0= =E3=82=BA wrote: > > > 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 i= s > 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=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 tha= t > 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, i= t > 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 yo= u > 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), Namecoi= n, > 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 - fo= und > > >>>>> -- 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 librarie= s > 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 char, std::allocator > > > >(__gnu_cxx::__normal_iterator std::allocator > >, __gnu_cxx::__normal_iterator char*, std::vector > >)': > > >>>>> > Script.cpp:(.text._Z4HashIN9__gnu_cxx17__normal_iteratorIPhSt6vectorIhSaI= hEEEEE7uint256T_S8_[uint256 > Hash<__gnu_cxx::__normal_iterator char, std::allocator > > > >(__gnu_cxx::__normal_iterator std::allocator > >, __gnu_cxx::__normal_iterator char*, std::vector > > >)]+0x6d): undefined reference to `SHA256' > > >>>>> > Script.cpp:(.text._Z4HashIN9__gnu_cxx17__normal_iteratorIPhSt6vectorIhSaI= hEEEEE7uint256T_S8_[uint256 > Hash<__gnu_cxx::__normal_iterator char, std::allocator > > > >(__gnu_cxx::__normal_iterator std::allocator > >, __gnu_cxx::__normal_iterator char*, std::vector > > >)]+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" bas= ed > 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 us= e > it on the same computer on the same files and you can call it with the sa= me > 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 minut= es > 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 dependenci= es > for e.g. thin clients. > > >>>>> > > >>>>> libcoin is chain agnostic, all chain (bitcoin, testnet, namecoin, > litecoin, ...) specific settings are maintained from a single class (Chai= n) > and hence experiments with chain settings, mining, security and digital > currencies for research and educational purposes are easily accessible. S= ee > 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 i= n > 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/ > > > > > > 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/ > > > > -------------------------------------------------------------------------= ----- > 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 > --=20 Peter J. Vessenes CEO, CoinLab M: 206.595.9839 --e89a8ff1c16ae048b604bbd77c1d Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable This conversation reminds me that I'd like to see a comprehensive list = of tests that alt processors / generators can run against.

I haven't looked in the client code for some time, but does that exi= st now? That would be a nice 'I want to help' early project, gettin= g together inputs and expected outputs / stack states for implementers to c= heck against.

As it is right now, we've split our codebase a bit;= we rely on the client to check the validity of a transaction, the balance = of a given address, and converse with the network, but we have written most= of our own code for stuff like block gen; I expect we will also do that fo= r transaction creation.=C2=A0

Peter



2012/3/22 Michael Gr=C3=B8nager <= ;gronager@ceptacle.com>
What you list below was actually the plan - = just havn't gotten there yet, but it will be dead easy.

/M


On 22/03/2012, at 11:50, Martinx - =E3=82=B8=E3=82=A7=E3=83=BC=E3=83=A0=E3= =82=BA wrote:

> Michael,
>
> =C2=A0Since libcoin is "chain agnostic", I was wonderi= ng if the project can be used like this:
>
> =C2=A0When I install it with "make install", I would like to= have something like this:
>
> =C2=A0Regular file: /usr/local/bin/libcoincore # or whatever you like<= br> >
> =C2=A0Symlink -> Regular file
>
> =C2=A0/usr/local/bit/bitcoind -> =C2=A0/usr/local/bin/libcoincore = =C2=A0# bitcoind is a symlink to libcoincore
>
> =C2=A0/usr/local/bit/litecoind -> =C2=A0/usr/local/bin/libcoincore = =C2=A0# litecoind is a symlink to libcoincore
>
> =C2=A0/usr/local/bit/devcoind -> =C2=A0/usr/local/bin/libcoincore = =C2=A0# devcoind is a symlink to libcoincore
>
> =C2=A0/usr/local/bit/namecoind -> =C2=A0/usr/local/bin/libcoincore = =C2=A0# devcoind is a symlink to libcoincore
>
> =C2=A0...and so on...
>
> =C2=A0So, libcoincore will interpret the ARGV[0] and, for each string,= it will initiate the appropriate internal functions...
>
> =C2=A0I don't know if Libcoin already does something like that... = I'm not a developer/code reader... Just a small nerd with big ideas... = =C2=A0^_^
>
> Thanks!
> Thiago
>
> 2012/2/28 Michael Gr=C3=B8nager <gronager@ceptacle.com>
> Hi again - and thanks fo= r testing and finding this!
>
> I have fixed the bug you reported:
>
> The culprit was an implicit string constructor for the ChainAddress th= at caused creation of a not fully initialized ChainAddress. The right way t= o do it is using chain::getAddress(string) as the ChainAddress is chain spe= cific.
>
> 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
> > {
> > =C2=A0 =C2=A0"version" : 40001,
> > =C2=A0 =C2=A0"blocks" : 168753,
> > =C2=A0 =C2=A0"connections" : 8,
> > =C2=A0 =C2=A0"difficulty" : 1376302.26788638,
> > =C2=A0 =C2=A0"testnet" : false
> > }
> >
> > /usr/local/bin/bitcoind getaccountaddress "" =C2=A0# ok= ay...
> > 1J4vNcvEdeCuLH4yvyoC2gxFEF4zquoJ87
> >
> > /usr/local/bin/bitcoind listaccounts # NOT okay...
> > {
> > }
> >
> > /usr/local/bin/bitcoind getaccountaddress "teste" # oka= y
> > 1E6pGh6AAtuJdFXheZMp1zdYmvdqAQn9QT
> >
> > /usr/local/bin/bitcoind listaccounts # NOT okay...
> > {
> > =C2=A0 =C2=A0"teste" : 0.00000000
> > }
> >
> > Where is my default account listed at "listaccounts" ou= tput?!
> >
> > Best,
> > Thiago
> >
> > 2012/2/26 Michael Gr=C3=B8nager <gronager@ceptacle.com>
> > 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 <gronager@ceptacle.com>
> >> OK - didn't took the weekend:
> >>
> >> support for "port" is on github now :)
> >>
> >> Only took two lines:
> >>
> >> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0("port", value<= ;unsigned short>(&port)->default_value(8333), "Listen on spe= cified port for the p2p protocol")
> >>
> >> and using the port option in the Node constructor (was there = already):
> >>
> >> =C2=A0 =C2=A0 =C2=A0Node node(chain, data_dir, args.count(&qu= ot;nolisten") ? "" : "0.0.0.0", lexical_cast<st= ring>(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 "sa= y"...
> >>>
> >>> 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 'DbExc= eption'
> >>> what(): =C2=A0DbEnv::close: Invalid argument
> >>> Aborted
> >>>
> >>> When I "strace it", I can see:
> >>>
> >>> ...
> >>> bind(12, {sa_family=3DAF_INET, sin_port=3Dhtons(8333), si= n_addr=3Dinet_addr("0.0.0.0")}, 16) =3D -1 EADDRINUSE (Address al= ready 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 <gronager@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 =3D permission denied - you need to setup username / = password either on the commandline or in the bicoin.conf file to access tho= se commands...
> >>>
> >>> See in the bitcoind.cpp file for commands that you can us= e with and without auth...
> >>>
> >>> Those that contains an "auth" requires auth: > >>>
> >>> =C2=A0 =C2=A0 server.registerMethod(method_ptr(new GetBal= ance(wallet)), auth);
> >>>
> >>> As opposed to:
> >>>
> >>> =C2=A0 =C2=A0 server.registerMethod(method_ptr(new GetInf= o(node)));
> >>>
> >>> auth is defined by:
> >>>
> >>> =C2=A0 =C2=A0 Auth auth(rpc_user, rpc_pass); // if rpc_us= er and rpc_pass are not set, all authenticated methods becomes disallowed.<= br> > >>>
> >>> 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 <thiagocmartin= sc@gmail.com>
> >>>> AWESOME!!!
> >>>>
> >>>> I can compile libcoin at my Ubuntu 11.10... I just ne= ed to install:
> >>>>
> >>>> sudo aptitude install libboost1.46-all-dev
> >>>>
> >>>> ...alongside with another already installed dependenc= ies, and now it works!!
> >>>>
> >>>> Thank you!
> >>>> Thiago
> >>>>
> >>>> 2012/2/23 Michael Gr=C3=B8nager <gronager@ceptacle.com>
> >>>> Hi Martinx,
> >>>>
> >>>> Another note:
> >>>>
> >>>> boost 1.42 and openssl 1.0 has a conflict (you will s= ee it when you try to compile coinHTTP with that specific combination: sslv= 2 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 U= buntu 11.04. At this machine, I have compiled and running Bitcoin (from sou= rces), 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 f= ound
> >>>>> -- Looking for pthread_create in pthread
> >>>>> -- Looking for pthread_create in pthread - found<= br> > >>>>> -- Found Threads: TRUE
> >>>>> -- Looking for XOpenDisplay in /usr/lib/i386-linu= x-gnu/libX11.so;/usr/lib/i386-linux-gnu/libXext.so
> >>>>> -- Looking for XOpenDisplay in /usr/lib/i386-linu= x-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:
> >>>>> -- =C2=A0 date_time
> >>>>> -- =C2=A0 regex
> >>>>> -- =C2=A0 filesystem
> >>>>> -- =C2=A0 system
> >>>>> -- =C2=A0 program_options
> >>>>> -- =C2=A0 thread
> >>>>> -- Found OpenSSL: /usr/lib/libssl.so;/usr/lib/lib= crypto.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)<= br> > >>>>> -- Found wxWidgets: TRUE
> >>>>>
> >>>>> The build system is configured to install librari= es to /usr/local/lib
> >>>>> Your applications may not be able to find your in= stalled libraries unless you:
> >>>>> =C2=A0set your LD_LIBRARY_PATH (user specific) or=
> >>>>> =C2=A0update your ld.so configuration (system wid= e)
> >>>>> 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:
> >>>>> =C2=A0sudo make install_ld_conf
> >>>>>
> >>>>> -- Configuring done
> >>>>> -- Generating done
> >>>>> -- Build files have been written to: /home/user/l= ibcoin
> >>>>> ----
> >>>>>
> >>>>> Now I tried make, without success:
> >>>>>
> >>>>> ----
> >>>>> .....
> >>>>> Script.cpp:(.text._ZngRK7CBigNum[operator-(CBigNu= m const&)]+0xf): undefined reference to `BN_init'
> >>>>> Script.cpp:(.text._ZngRK7CBigNum[operator-(CBigNu= m const&)]+0x1e): undefined reference to `BN_copy'
> >>>>> Script.cpp:(.text._ZngRK7CBigNum[operator-(CBigNu= m const&)]+0x38): undefined reference to `BN_set_negative'
> >>>>> Script.cpp:(.text._ZngRK7CBigNum[operator-(CBigNu= m const&)]+0x4f): undefined reference to `BN_clear_free'
> >>>>> Script.cpp:(.text._ZngRK7CBigNum[operator-(CBigNu= m const&)]+0xd3): undefined reference to `BN_clear_free'
> >>>>> ../../lib/libcoin.a(Script.o): In function `opera= tor<<(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_lshi= ft'
> >>>>> Script.cpp:(.text._ZlsRK7CBigNumj[operator<<= ;(CBigNum const&, unsigned int)]+0xad): undefined reference to `BN_clea= r_free'
> >>>>> ../../lib/libcoin.a(Script.o): In function `opera= tor>>(CBigNum const&, unsigned int)':
> >>>>> Script.cpp:(.text._ZrsRK7CBigNumj[operator>>= ;(CBigNum const&, unsigned int)]+0xf): undefined reference to `BN_init&= #39;
> >>>>> 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_clea= r_free'
> >>>>> Script.cpp:(.text._ZrsRK7CBigNumj[operator>>= ;(CBigNum const&, unsigned int)]+0xcb): undefined reference to `BN_clea= r_free'
> >>>>> ../../lib/libcoin.a(Script.o): In function `opera= tor!=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 `opera= tor>(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 `uint2= 56 Hash<__gnu_cxx::__normal_iterator<unsigned char*, std::vector<u= nsigned char, std::allocator<unsigned char> > > >(__gnu_cxx:= :__normal_iterator<unsigned char*, std::vector<unsigned char, std::al= locator<unsigned char> > >, __gnu_cxx::__normal_iterator<uns= igned char*, std::vector<unsigned char, std::allocator<unsigned char&= gt; > >)':
> >>>>> Script.cpp:(.text._Z4HashIN9__gnu_cxx17__normal_i= teratorIPhSt6vectorIhSaIhEEEEE7uint256T_S8_[uint256 Hash<__gnu_cxx::__no= rmal_iterator<unsigned char*, std::vector<unsigned char, std::allocat= or<unsigned char> > > >(__gnu_cxx::__normal_iterator<unsi= gned char*, std::vector<unsigned char, std::allocator<unsigned char&g= t; > >, __gnu_cxx::__normal_iterator<unsigned char*, std::vector&l= t;unsigned char, std::allocator<unsigned char> > >)]+0x6d): und= efined reference to `SHA256'
> >>>>> Script.cpp:(.text._Z4HashIN9__gnu_cxx17__normal_i= teratorIPhSt6vectorIhSaIhEEEEE7uint256T_S8_[uint256 Hash<__gnu_cxx::__no= rmal_iterator<unsigned char*, std::vector<unsigned char, std::allocat= or<unsigned char> > > >(__gnu_cxx::__normal_iterator<unsi= gned char*, std::vector<unsigned char, std::allocator<unsigned char&g= t; > >, __gnu_cxx::__normal_iterator<unsigned char*, std::vector&l= t;unsigned char, std::allocator<unsigned char> > >)]+0xb8): und= efined reference to `SHA256'
> >>>>> collect2: ld returned 1 exit status
> >>>>> make[2]: *** [bin/bitcoind] Error 1
> >>>>> make[1]: *** [applications/bitcoind/CMakeFiles/ap= p_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 &= lt;gronager@ceptacle.com> w= rote:
> >>>>> Dear Bitcoiners,
> >>>>>
> >>>>> libcoin is now in a state ready for its first rel= ease, which I would like to share with you!
> >>>>>
> >>>>> =3D=3D=3D libcoin is a crypto currency library ba= sed 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 &= quot;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: Y= ou can use it on the same computer on the same files and you can call it wi= th the same scripts. And you can easily extend it without touching the basi= c 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 comp= letely refactored, properly encapsulating classes, removing all globals, mo= ving from threads and mutexes to a pure asynchronous approach. Functionalit= ies have been divided into logical units and libraries, minimizing dependen= cies for e.g. thin clients.
> >>>>>
> >>>>> libcoin is chain agnostic, all chain (bitcoin, te= stnet, namecoin, litecoin, ...) specific settings are maintained from a sin= gle class (Chain) and hence experiments with chain settings, mining, securi= ty 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 Wi= ndows.
> >>>>>
> >>>>> The libcoin license is LGPL v. 3. This mean that = you can use it in open source as well as in commercial projects, but improv= ements should go back into the libcoin library.
> >>>>>
> >>>>> =3D=3D=3D=3D=3D=3D
> >>>>>
> >>>>> Read more on libcoin on: http://github.com/ceptacle/li= bcoin/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 LearnDevN= ow!
> >>>>> The most comprehensive online learning library fo= r 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: gron= ager@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@cep= tacle.com
> >> Web: h= ttp://www.ceptacle.com/
> >>
> >>
> >
> > Michael Gronager, PhD
> > Director, Ceptacle
> > Jens Juels Gade 33
> > 2100 Copenhagen E
> > Mobile: +45 31 45 14 01
> > E-mail: gronager@ceptacl= e.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<= br> Web: http://www.cept= acle.com/


---------------------------------------------------------------------------= ---
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-develo= pment@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-de= velopment



--
=
Peter J. Vessenes
CEO, CoinLab
M: 206.595.9839=

--e89a8ff1c16ae048b604bbd77c1d--