Received: from sog-mx-1.v43.ch3.sourceforge.com ([172.29.43.191] helo=mx.sourceforge.net) by sfs-ml-3.v29.ch3.sourceforge.com with esmtp (Exim 4.76) (envelope-from ) id 1SAfZu-00085W-G3 for bitcoin-development@lists.sourceforge.net; Thu, 22 Mar 2012 10:49:10 +0000 Received-SPF: pass (sog-mx-1.v43.ch3.sourceforge.com: domain of gmail.com designates 209.85.220.175 as permitted sender) client-ip=209.85.220.175; envelope-from=thiagocmartinsc@gmail.com; helo=mail-vx0-f175.google.com; Received: from mail-vx0-f175.google.com ([209.85.220.175]) by sog-mx-1.v43.ch3.sourceforge.com with esmtps (TLSv1:RC4-SHA:128) (Exim 4.76) id 1SAfZp-0007Bk-8S for bitcoin-development@lists.sourceforge.net; Thu, 22 Mar 2012 10:49:10 +0000 Received: by vcbfl13 with SMTP id fl13so2985057vcb.34 for ; Thu, 22 Mar 2012 03:48:59 -0700 (PDT) Received: by 10.52.73.102 with SMTP id k6mr2989050vdv.57.1332413339509; Thu, 22 Mar 2012 03:48:59 -0700 (PDT) MIME-Version: 1.0 Received: by 10.220.224.199 with HTTP; Thu, 22 Mar 2012 03:48:29 -0700 (PDT) In-Reply-To: <8CEEE576-37DF-4101-9593-73D5FB66D52F@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> From: =?ISO-2022-JP?B?TWFydGlueCAtIBskQiU4JSchPCVgJTobKEI=?= Date: Thu, 22 Mar 2012 07:48:29 -0300 Message-ID: To: =?ISO-8859-1?Q?Michael_Gr=F8nager?= Content-Type: multipart/alternative; boundary=bcaec501c5b0cba3aa04bbd2a7fd X-Spam-Score: -0.6 (/) 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 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (thiagocmartinsc[at]gmail.com) -0.0 SPF_PASS SPF: sender matches SPF record 1.0 HTML_MESSAGE BODY: HTML included in message -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from author's domain 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature X-Headers-End: 1SAfZp-0007Bk-8S 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 10:49:10 -0000 --bcaec501c5b0cba3aa04bbd2a7fd Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable 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=C3=B8nager > 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 store= d > 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 - =E3=82=B8=E3=82=A7=E3=83=BC=E3=83=A0= =E3=82=BA 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 ow= n > 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 duplicat= e > 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 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, 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 no= t > 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 <= thiagocmartinsc@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 i= t > 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), 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 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, yo= u > 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 dependencies 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 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 no= w! > >>>>>> 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/ > > --bcaec501c5b0cba3aa04bbd2a7fd Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Hi Michael,

=C2=A0NOTE: Re-add bitcoin-dev to this threa= d on Cc...

=C2=A0I'll test this ASAP! I REALLY= need this feature (blockchain server <-> wallet client).
<= br>
=C2=A0I just want ask you some things...

=C2= =A01- How close is Libcoin with original Bitcoin? I mean, the output is a l= ittle 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?!

=C2=A02- Do you have plans to update Libcoin on every n= ew upstream Bitcoin release? How fast will be this updates? Do you need mor= e resources/people working on it?


= =C2=A0Another questions not involved directly with Libcoin/Bitcoin but, I&#= 39;ll need it for my future Bitcoin projects, and Libcoin is on my radar:

=C2=A01- Do you know about Diaspora* Project?

=C2=A02- Do you have skills in Ruby on Rails development?


Thank you!
Thiago

<= div class=3D"gmail_quote"> 2012/3/3 Michael Gr=C3=B8nager <gronager@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 s= ome 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. bt= c 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 de= tails). It works (or worked when I wrote them) with the wallet.dat, but nee= ds 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 - =E3=82=B8=E3=82=A7=E3=83=BC=E3=83=A0=E3= =82=BA wrote:

> Michael,
>
> libcoin is AWESOME! Thanks!!!
>
> Can I do the following scenario with libcoin ? :
>
> 1- Create a regular Linux user called "blockchain", with hom= e dir pointed to /var/lib/libcoin/ (more or like Ubuntu/Debian mysql does);=
>
> 2- Start "bitcoind" under user "blockchain" (the B= itcoin blockchain) will be downloaded to /var/lib/libcoin/bitcoin/ director= y);
>
> 3- As another regular user, called "michael", I would like t= o run "bitcoind" too but, I do not want to re-download the blockc= hain 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 an= d related files, not the blockchain.
>
> This is more or less what we can do with Bitcoin Electrum alternate cl= ient but, with Electrum, it copy the whole blockchain to mysql... This is t= errible from my point of view, I think that there is no need to duplicate t= he blockchain within MySQL in anyway.
>
> I just imagine a bitcoin splited in two, blockchain in one side and wa= llet in the other side.
>
> This is possible with libcoin?!
>
> Thank you again!
>
> Best,
> Thiago
>
> 2012/2/28 Michael Gr=C3=B8nager <gronager@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 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 "version" : 40001,
>> =C2=A0 "blocks" : 168753,
>> =C2=A0 "connections" : 8,
>> =C2=A0 "difficulty" : 1376302.26788638,
>> =C2=A0 "testnet" : false
>> }
>>
>> /usr/local/bin/bitcoind getaccountaddress "" =C2=A0# oka= y...
>> 1J4vNcvEdeCuLH4yvyoC2gxFEF4zquoJ87
>>
>> /usr/local/bin/bitcoind listaccounts # NOT okay...
>> {
>> }
>>
>> /usr/local/bin/bitcoind getaccountaddress "teste" # okay=
>> 1E6pGh6AAtuJdFXheZMp1zdYmvdqAQn9QT
>>
>> /usr/local/bin/bitcoind listaccounts # NOT okay...
>> {
>> =C2=A0 "teste" : 0.00000000
>> }
>>
>> Where is my default account listed at "listaccounts" out= put?!
>>
>> 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 ("port", value<unsign= ed short>(&port)->default_value(8333), "Listen on specified = port for the p2p protocol")
>>>
>>> and using the port option in the Node constructor (was there a= lready):
>>>
>>> =C2=A0 =C2=A0 Node node(chain, data_dir, args.count("noli= sten") ? "" : "0.0.0.0", lexical_cast<string>= ;(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 'DbExce= ption'
>>>> what(): =C2=A0DbEnv::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 alr= eady 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 / p= assword either on the commandline or in the bicoin.conf file to access thos= e commands...
>>>>
>>>> See in the bitcoind.cpp file for commands that you can use= with and without auth...
>>>>
>>>> Those that contains an "auth" requires auth:
>>>>
>>>> =C2=A0 =C2=A0server.registerMethod(method_ptr(new GetBalan= ce(wallet)), auth);
>>>>
>>>> As opposed to:
>>>>
>>>> =C2=A0 =C2=A0server.registerMethod(method_ptr(new GetInfo(= node)));
>>>>
>>>> auth is defined by:
>>>>
>>>> =C2=A0 =C2=A0Auth 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 <thiagocmartinsc@gmail.com>
>>>>> AWESOME!!!
>>>>>
>>>>> I can compile libcoin at my Ubuntu 11.10... I just nee= d to install:
>>>>>
>>>>> sudo aptitude install libboost1.46-all-dev
>>>>>
>>>>> ...alongside with another already installed dependenci= es, 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 se= e 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 f= or Bitcoin and for the CryptoCurrencies as a hole... Thanks!!!
>>>>>>
>>>>>> Anyway, I am unable to compile libcoin under my Ub= untu 11.04. At this machine, I have compiled and running Bitcoin (from sour= ces), 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 -- w= orks
>>>>>> -- 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<= br> >>>>>> -- Looking for include files CMAKE_HAVE_PTHREAD_H = - found
>>>>>> -- Looking for pthread_create in pthreads
>>>>>> -- Looking for pthread_create in pthreads - not fo= und
>>>>>> -- 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<= br> >>>>>> -- 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/libc= rypto.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 librarie= s to /usr/local/lib
>>>>>> Your applications may not be able to find your ins= talled 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/li= bcoin
>>>>>> ----
>>>>>>
>>>>>> 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 `operat= or<<(CBigNum const&, unsigned int)':
>>>>>> Script.cpp:(.text._ZlsRK7CBigNumj[operator<<= (CBigNum const&, unsigned int)]+0x16): undefined reference to `BN_init&= #39;
>>>>>> Script.cpp:(.text._ZlsRK7CBigNumj[operator<<= (CBigNum const&, unsigned int)]+0x2c): undefined reference to `BN_lshif= t'
>>>>>> Script.cpp:(.text._ZlsRK7CBigNumj[operator<<= (CBigNum const&, unsigned int)]+0xad): undefined reference to `BN_clear= _free'
>>>>>> ../../lib/libcoin.a(Script.o): In function `operat= or>>(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&= #39;
>>>>>> 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 `operat= or!=3D(CBigNum const&, CBigNum const&)':
>>>>>> Script.cpp:(.text._ZneRK7CBigNumS1_[operator!=3D(C= BigNum const&, CBigNum const&)]+0x14): undefined reference to `BN_c= mp'
>>>>>> ../../lib/libcoin.a(Script.o): In function `operat= or>(CBigNum const&, CBigNum const&)':
>>>>>> Script.cpp:(.text._ZgtRK7CBigNumS1_[operator>(C= BigNum const&, CBigNum const&)]+0x14): undefined reference to `BN_c= mp'
>>>>>> ../../lib/libcoin.a(Script.o): In function `uint25= 6 Hash<__gnu_cxx::__normal_iterator<unsigned char*, std::vector<un= signed char, std::allocator<unsigned char> > > >(__gnu_cxx::= __normal_iterator<unsigned char*, std::vector<unsigned char, std::all= ocator<unsigned char> > >, __gnu_cxx::__normal_iterator<unsi= gned char*, std::vector<unsigned char, std::allocator<unsigned char&g= t; > >)':
>>>>>> Script.cpp:(.text._Z4HashIN9__gnu_cxx17__normal_it= eratorIPhSt6vectorIhSaIhEEEEE7uint256T_S8_[uint256 Hash<__gnu_cxx::__nor= mal_iterator<unsigned char*, std::vector<unsigned char, std::allocato= r<unsigned char> > > >(__gnu_cxx::__normal_iterator<unsig= ned char*, std::vector<unsigned char, std::allocator<unsigned char>= ; > >, __gnu_cxx::__normal_iterator<unsigned char*, std::vector<= ;unsigned char, std::allocator<unsigned char> > >)]+0x6d): unde= fined reference to `SHA256'
>>>>>> Script.cpp:(.text._Z4HashIN9__gnu_cxx17__normal_it= eratorIPhSt6vectorIhSaIhEEEEE7uint256T_S8_[uint256 Hash<__gnu_cxx::__nor= mal_iterator<unsigned char*, std::vector<unsigned char, std::allocato= r<unsigned char> > > >(__gnu_cxx::__normal_iterator<unsig= ned char*, std::vector<unsigned char, std::allocator<unsigned char>= ; > >, __gnu_cxx::__normal_iterator<unsigned char*, std::vector<= ;unsigned char, std::allocator<unsigned char> > >)]+0xb8): unde= fined 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 &l= t;gronager@cepta= cle.com> wrote:
>>>>>> Dear Bitcoiners,
>>>>>>
>>>>>> libcoin is now in a state ready for its first rele= ase, which I would like to share with you!
>>>>>>
>>>>>> =3D=3D=3D libcoin is a crypto currency library bas= ed on the bitcoin/bitcoin "Satoshi" client. =3D=3D=3D
>>>>>>
>>>>>> Copenhagen, Denmark - 1st February 2012 Ceptacle a= nnounces the release of the first version of the crypto currency library &q= uot;libcoin" based on the bitcoin/bitcoin "Satoshi" client.<= br> >>>>>>
>>>>>> libcoin also maintains a version of bitcoind that = is a 100% compatible drop-in replacement of the bitcoin/bitcoind client: Yo= u can use it on the same computer on the same files and you can call it wit= h the same scripts. And you can easily extend it without touching the basic= bitcoin source files.
>>>>>>
>>>>>> The libcoin/bitcoind client downloads the entire b= lock 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 compl= etely refactored, properly encapsulating classes, removing all globals, mov= ing from threads and mutexes to a pure asynchronous approach. Functionaliti= es have been divided into logical units and libraries, minimizing dependenc= ies for e.g. thin clients.
>>>>>>
>>>>>> libcoin is chain agnostic, all chain (bitcoin, tes= tnet, namecoin, litecoin, ...) specific settings are maintained from a sing= le class (Chain) and hence experiments with chain settings, mining, securit= y and digital currencies for research and educational purposes are easily a= ccessible. 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 Win= dows.
>>>>>>
>>>>>> The libcoin license is LGPL v. 3. This mean that y= ou can use it in open source as well as in commercial projects, but improve= ments should go back into the libcoin library.
>>>>>>
>>>>>> =3D=3D=3D=3D=3D=3D
>>>>>>
>>>>>> Read more on libcoin on: http://github.com/ceptacle/lib= coin/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 LearnDevNo= w!
>>>>>> The most comprehensive online learning library for= Microsoft developers
>>>>>> is just $99.99! Visual Studio, SharePoint, SQL - p= lus 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<= br> >>>>>> 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: ht= tp://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: gro= nager@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.cept= acle.com/


--bcaec501c5b0cba3aa04bbd2a7fd--