[Bitcoin-development] Announcement: libcoin

Martinx - ジェームズ thiagocmartinsc at gmail.com
Thu Mar 22 10:48:29 UTC 2012


Hi Michael,

 NOTE: Re-add bitcoin-dev to this thread on Cc...

 I'll test this ASAP! I REALLY need this feature (blockchain server <->
wallet client).

 I just want ask you some things...

 1- How close is Libcoin with original Bitcoin? I mean, the output is a
little different, the bitcoind help output was disabled and, I'm afraid
that Libcoin can possibly being distant from Bitcoin in the future... That
can happen?!

 2- Do you have plans to update Libcoin on every new upstream Bitcoin
release? How fast will be this updates? Do you need more resources/people
working on it?


 Another questions not involved directly with Libcoin/Bitcoin but, I'll
need it for my future Bitcoin projects, and Libcoin is on my radar:

 1- Do you know about Diaspora* Project?

 2- Do you have skills in Ruby on Rails development?


Thank you!
Thiago

2012/3/3 Michael Grønager <gronager at ceptacle.com>

> Hi Martin,
>
> There are a couple of options of doing similarly...
>
> In the libcoin repository you will find some code for btc and btcd, it is
> some code I wrote a while ago and it needs to be updated. It functions as a
> bitcoind master and slave. The btcd keeps the blockchain, but no wallet.
> btc keeps the wallet and contact the btcd to get transaction info (like
> send an address and get its transactions or send a transaction id and get
> its details). It works (or worked when I wrote them) with the wallet.dat,
> but needs a little update.
>
> You could e.g. run one btcd on the machine and several btc instances to
> get the functionality you asked for.
>
> Further, btcd also enables a web wallet, where the private keys are stored
> in your browsers local-store.
>
> I will get the application updated, but most likely in a bit other setup
> as it is something I intend to marketize in the near future.
>
> Hope this answers your question.
>
> Cheers,
>
> Michael
>
> On 03/03/2012, at 02:04, Martinx - ジェームズ wrote:
>
> > Michael,
> >
> > libcoin is AWESOME! Thanks!!!
> >
> > Can I do the following scenario with libcoin ? :
> >
> > 1- Create a regular Linux user called "blockchain", with home dir
> pointed to /var/lib/libcoin/ (more or like Ubuntu/Debian mysql does);
> >
> > 2- Start "bitcoind" under user "blockchain" (the Bitcoin blockchain)
> will be downloaded to /var/lib/libcoin/bitcoin/ directory);
> >
> > 3- As another regular user, called "michael", I would like to run
> "bitcoind" too but, I do not want to re-download the blockchain to its own
> subdir, I want instead, to consult it (blockchain) through libcoin itself
> (not by socket of JSON)...
> >
> > So, the /home/michael/.bitcoin/ directory will have only wallet.dat and
> related files, not the blockchain.
> >
> > This is more or less what we can do with Bitcoin Electrum alternate
> client but, with Electrum, it copy the whole blockchain to mysql... This is
> terrible from my point of view, I think that there is no need to duplicate
> the blockchain within MySQL in anyway.
> >
> > I just imagine a bitcoin splited in two, blockchain in one side and
> wallet in the other side.
> >
> > This is possible with libcoin?!
> >
> > Thank you again!
> >
> > Best,
> > Thiago
> >
> > 2012/2/28 Michael Grønager <gronager at ceptacle.com>
> > Hi again - and thanks for testing and finding this!
> >
> > I have fixed the bug you reported:
> >
> > The culprit was an implicit string constructor for the ChainAddress that
> caused creation of a not fully initialized ChainAddress. The right way to
> do it is using chain::getAddress(string) as the ChainAddress is chain
> specific.
> >
> > A git pull will fix it ;)
> >
> > Cheers,
> >
> > Michael
> >
> >
> > On 27/02/2012, at 20:03, Martinx - ジェームズ wrote:
> >
> >> AWESOME!! Thank you!!
> >>
> >> Anyway, I found a new problem... lol
> >>
> >> /usr/local/bin/bitcoind getinfo #okay
> >> {
> >>   "version" : 40001,
> >>   "blocks" : 168753,
> >>   "connections" : 8,
> >>   "difficulty" : 1376302.26788638,
> >>   "testnet" : false
> >> }
> >>
> >> /usr/local/bin/bitcoind getaccountaddress ""  # okay...
> >> 1J4vNcvEdeCuLH4yvyoC2gxFEF4zquoJ87
> >>
> >> /usr/local/bin/bitcoind listaccounts # NOT okay...
> >> {
> >> }
> >>
> >> /usr/local/bin/bitcoind getaccountaddress "teste" # okay
> >> 1E6pGh6AAtuJdFXheZMp1zdYmvdqAQn9QT
> >>
> >> /usr/local/bin/bitcoind listaccounts # NOT okay...
> >> {
> >>   "teste" : 0.00000000
> >> }
> >>
> >> Where is my default account listed at "listaccounts" output?!
> >>
> >> Best,
> >> Thiago
> >>
> >> 2012/2/26 Michael Grønager <gronager at ceptacle.com>
> >> And if you do an update now "help" is there too ;)
> >>
> >> /M
> >>
> >> On 25/02/2012, at 03:11, Martinx - ジェームズ wrote:
> >>
> >>> Thank you!!!
> >>>
> >>> It is all working now! Except "help"...
> >>>
> >>> Nice work Michael!!
> >>>
> >>> Best,
> >>> Thiago
> >>>
> >>> 2012/2/24 Michael Grønager <gronager at ceptacle.com>
> >>> OK - didn't took the weekend:
> >>>
> >>> support for "port" is on github now :)
> >>>
> >>> Only took two lines:
> >>>
> >>>         ("port", value<unsigned short>(&port)->default_value(8333),
> "Listen on specified port for the p2p protocol")
> >>>
> >>> and using the port option in the Node constructor (was there already):
> >>>
> >>>     Node node(chain, data_dir, args.count("nolisten") ? "" :
> "0.0.0.0", lexical_cast<string>(port)); // it is also here we specify the
> use of a proxy!
> >>>
> >>> /M
> >>>
> >>>
> >>>
> >>> On 24/02/2012, at 19:49, Martinx - ジェームズ wrote:
> >>>
> >>>> Hi Michael,
> >>>>
> >>>> Thank you for your attention!
> >>>>
> >>>> Now, I'm trying to start libcoin's bitcoind using high ports but, it
> always try to listen at 8332, no matter what I "say"...
> >>>>
> >>>> Look:
> >>>>
> >>>> $ cat .bitcoin/bitcoin.conf
> >>>> server=1
> >>>> daemon=1
> >>>> rpcuser=libcoin
> >>>> rpcpassword=LibCoin13
> >>>> rpcport=10332
> >>>> port=10333
> >>>>
> >>>> But:
> >>>>
> >>>> /usr/local/bin/bitcoind
> >>>> Error: Address already in use
> >>>>
> >>>> terminate called after throwing an instance of 'DbException'
> >>>> what():  DbEnv::close: Invalid argument
> >>>> Aborted
> >>>>
> >>>> When I "strace it", I can see:
> >>>>
> >>>> ...
> >>>> bind(12, {sa_family=AF_INET, sin_port=htons(8333),
> sin_addr=inet_addr("0.0.0.0")}, 16) = -1 EADDRINUSE (Address already in use)
> >>>> ...
> >>>>
> >>>> I already tried:
> >>>>
> >>>> /usr/local/bin/bitcoind --rpcport 10332
> >>>> /usr/local/bin/bitcoind --rpcport=10332
> >>>>
> >>>> Without success...
> >>>>
> >>>> Thanks again!
> >>>> Thiago
> >>>>
> >>>> 2012/2/24 Michael Grønager <gronager at ceptacle.com>
> >>>> Hi Thiago,
> >>>>
> >>>> Forgot to comment on the two latter:
> >>>>
> >>>>> $ bitcoind getaccountaddress ""
> >>>>> HTTP error code: 401
> >>>>> Error: couldn't parse reply from server
> >>>>>
> >>>>> $ bitcoind listaccounts
> >>>>> HTTP error code: 401
> >>>>> Error: couldn't parse reply from server
> >>>>>
> >>>>
> >>>> 401 = permission denied - you need to setup username / password
> either on the commandline or in the bicoin.conf file to access those
> commands...
> >>>>
> >>>> See in the bitcoind.cpp file for commands that you can use with and
> without auth...
> >>>>
> >>>> Those that contains an "auth" requires auth:
> >>>>
> >>>>    server.registerMethod(method_ptr(new GetBalance(wallet)), auth);
> >>>>
> >>>> As opposed to:
> >>>>
> >>>>    server.registerMethod(method_ptr(new GetInfo(node)));
> >>>>
> >>>> auth is defined by:
> >>>>
> >>>>    Auth auth(rpc_user, rpc_pass); // if rpc_user and rpc_pass are not
> set, all authenticated methods becomes disallowed.
> >>>>
> >>>> so you just experience the case explained in the comment ;) I admit
> that the output could be more readable, though!
> >>>>
> >>>> /M
> >>>>
> >>>>
> >>>>>
> >>>>> Any tips?! lol
> >>>>>
> >>>>> Thanks!
> >>>>> Thiago
> >>>>>
> >>>>> 2012/2/23 Martinx - ジェームズ <thiagocmartinsc at gmail.com>
> >>>>> AWESOME!!!
> >>>>>
> >>>>> I can compile libcoin at my Ubuntu 11.10... I just need to install:
> >>>>>
> >>>>> sudo aptitude install libboost1.46-all-dev
> >>>>>
> >>>>> ...alongside with another already installed dependencies, and now it
> works!!
> >>>>>
> >>>>> Thank you!
> >>>>> Thiago
> >>>>>
> >>>>> 2012/2/23 Michael Grønager <gronager at ceptacle.com>
> >>>>> Hi Martinx,
> >>>>>
> >>>>> Another note:
> >>>>>
> >>>>> boost 1.42 and openssl 1.0 has a conflict (you will see it when you
> try to compile coinHTTP with that specific combination: sslv2 has been
> removed from openssl, but boost still references it.)
> >>>>>
> >>>>> You should do a :
> >>>>>
> >>>>> sudo apt-get upgrade libboost-dev-all
> >>>>>
> >>>>> to get the 1.46.1 library
> >>>>>
> >>>>> /M
> >>>>>
> >>>>>
> >>>>> On 23/02/2012, at 18:31, Martinx - ジェームズ wrote:
> >>>>>
> >>>>>> Hi Michael!
> >>>>>>
> >>>>>> Thank you for libcoin! It is a awesome evolution for Bitcoin and
> for the CryptoCurrencies as a hole... Thanks!!!
> >>>>>>
> >>>>>> Anyway, I am unable to compile libcoin under my Ubuntu 11.04. At
> this machine, I have compiled and running Bitcoin (from sources), Namecoin,
> Devcoin, Litecoin, IXcoin and I0coin, all from sources but, when I try to
> compile libcoin, I got:
> >>>>>>
> >>>>>> ----
> >>>>>> user at desk:~/libcoin$ ./configure
> >>>>>> -- The C compiler identification is GNU
> >>>>>> -- The CXX compiler identification is GNU
> >>>>>> -- Check for working C compiler: /usr/bin/gcc
> >>>>>> -- Check for working C compiler: /usr/bin/gcc -- works
> >>>>>> -- Detecting C compiler ABI info
> >>>>>> -- Detecting C compiler ABI info - done
> >>>>>> -- Check for working CXX compiler: /usr/bin/c++
> >>>>>> -- Check for working CXX compiler: /usr/bin/c++ -- works
> >>>>>> -- Detecting CXX compiler ABI info
> >>>>>> -- Detecting CXX compiler ABI info - done
> >>>>>> -- Looking for include files CMAKE_HAVE_PTHREAD_H
> >>>>>> -- Looking for include files CMAKE_HAVE_PTHREAD_H - found
> >>>>>> -- Looking for pthread_create in pthreads
> >>>>>> -- Looking for pthread_create in pthreads - not found
> >>>>>> -- Looking for pthread_create in pthread
> >>>>>> -- Looking for pthread_create in pthread - found
> >>>>>> -- Found Threads: TRUE
> >>>>>> -- Looking for XOpenDisplay in
> /usr/lib/i386-linux-gnu/libX11.so;/usr/lib/i386-linux-gnu/libXext.so
> >>>>>> -- Looking for XOpenDisplay in
> /usr/lib/i386-linux-gnu/libX11.so;/usr/lib/i386-linux-gnu/libXext.so - found
> >>>>>> -- Looking for gethostbyname
> >>>>>> -- Looking for gethostbyname - found
> >>>>>> -- Looking for connect
> >>>>>> -- Looking for connect - found
> >>>>>> -- Looking for remove
> >>>>>> -- Looking for remove - found
> >>>>>> -- Looking for shmat
> >>>>>> -- Looking for shmat - found
> >>>>>> -- Looking for IceConnectionNumber in ICE
> >>>>>> -- Looking for IceConnectionNumber in ICE - found
> >>>>>> -- Found X11: /usr/lib/i386-linux-gnu/libX11.so
> >>>>>> -- Boost version: 1.42.0
> >>>>>> -- Found the following Boost libraries:
> >>>>>> --   date_time
> >>>>>> --   regex
> >>>>>> --   filesystem
> >>>>>> --   system
> >>>>>> --   program_options
> >>>>>> --   thread
> >>>>>> -- Found OpenSSL: /usr/lib/libssl.so;/usr/lib/libcrypto.so
> >>>>>> -- Looking for Q_WS_X11
> >>>>>> -- Looking for Q_WS_X11 - found
> >>>>>> -- Looking for Q_WS_WIN
> >>>>>> -- Looking for Q_WS_WIN - not found.
> >>>>>> -- Looking for Q_WS_QWS
> >>>>>> -- Looking for Q_WS_QWS - not found.
> >>>>>> -- Looking for Q_WS_MAC
> >>>>>> -- Looking for Q_WS_MAC - not found.
> >>>>>> -- Found Qt-Version 4.7.2 (using /usr/bin/qmake)
> >>>>>> -- Found wxWidgets: TRUE
> >>>>>>
> >>>>>> The build system is configured to install libraries to
> /usr/local/lib
> >>>>>> Your applications may not be able to find your installed libraries
> unless you:
> >>>>>> set your LD_LIBRARY_PATH (user specific) or
> >>>>>> update your ld.so configuration (system wide)
> >>>>>> You have an ld.so.conf.d directory on your system, so if you wish
> to ensure that
> >>>>>> applications find the installed libcoin libraries, system wide, you
> could install an
> >>>>>> libcoin specific ld.so configuration with:
> >>>>>> sudo make install_ld_conf
> >>>>>>
> >>>>>> -- Configuring done
> >>>>>> -- Generating done
> >>>>>> -- Build files have been written to: /home/user/libcoin
> >>>>>> ----
> >>>>>>
> >>>>>> Now I tried make, without success:
> >>>>>>
> >>>>>> ----
> >>>>>> .....
> >>>>>> Script.cpp:(.text._ZngRK7CBigNum[operator-(CBigNum const&)]+0xf):
> undefined reference to `BN_init'
> >>>>>> Script.cpp:(.text._ZngRK7CBigNum[operator-(CBigNum const&)]+0x1e):
> undefined reference to `BN_copy'
> >>>>>> Script.cpp:(.text._ZngRK7CBigNum[operator-(CBigNum const&)]+0x38):
> undefined reference to `BN_set_negative'
> >>>>>> Script.cpp:(.text._ZngRK7CBigNum[operator-(CBigNum const&)]+0x4f):
> undefined reference to `BN_clear_free'
> >>>>>> Script.cpp:(.text._ZngRK7CBigNum[operator-(CBigNum const&)]+0xd3):
> undefined reference to `BN_clear_free'
> >>>>>> ../../lib/libcoin.a(Script.o): In function `operator<<(CBigNum
> const&, unsigned int)':
> >>>>>> Script.cpp:(.text._ZlsRK7CBigNumj[operator<<(CBigNum const&,
> unsigned int)]+0x16): undefined reference to `BN_init'
> >>>>>> Script.cpp:(.text._ZlsRK7CBigNumj[operator<<(CBigNum const&,
> unsigned int)]+0x2c): undefined reference to `BN_lshift'
> >>>>>> Script.cpp:(.text._ZlsRK7CBigNumj[operator<<(CBigNum const&,
> unsigned int)]+0xad): undefined reference to `BN_clear_free'
> >>>>>> ../../lib/libcoin.a(Script.o): In function `operator>>(CBigNum
> const&, unsigned int)':
> >>>>>> Script.cpp:(.text._ZrsRK7CBigNumj[operator>>(CBigNum const&,
> unsigned int)]+0xf): undefined reference to `BN_init'
> >>>>>> Script.cpp:(.text._ZrsRK7CBigNumj[operator>>(CBigNum const&,
> unsigned int)]+0x1e): undefined reference to `BN_copy'
> >>>>>> Script.cpp:(.text._ZrsRK7CBigNumj[operator>>(CBigNum const&,
> unsigned int)]+0x47): undefined reference to `BN_clear_free'
> >>>>>> Script.cpp:(.text._ZrsRK7CBigNumj[operator>>(CBigNum const&,
> unsigned int)]+0xcb): undefined reference to `BN_clear_free'
> >>>>>> ../../lib/libcoin.a(Script.o): In function `operator!=(CBigNum
> const&, CBigNum const&)':
> >>>>>> Script.cpp:(.text._ZneRK7CBigNumS1_[operator!=(CBigNum const&,
> CBigNum const&)]+0x14): undefined reference to `BN_cmp'
> >>>>>> ../../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<unsigned char*, std::vector<unsigned
> char, std::allocator<unsigned char> > >
> >(__gnu_cxx::__normal_iterator<unsigned char*, std::vector<unsigned char,
> std::allocator<unsigned char> > >, __gnu_cxx::__normal_iterator<unsigned
> char*, std::vector<unsigned char, std::allocator<unsigned char> > >)':
> >>>>>>
> Script.cpp:(.text._Z4HashIN9__gnu_cxx17__normal_iteratorIPhSt6vectorIhSaIhEEEEE7uint256T_S8_[uint256
> Hash<__gnu_cxx::__normal_iterator<unsigned char*, std::vector<unsigned
> char, std::allocator<unsigned char> > >
> >(__gnu_cxx::__normal_iterator<unsigned char*, std::vector<unsigned char,
> std::allocator<unsigned char> > >, __gnu_cxx::__normal_iterator<unsigned
> char*, std::vector<unsigned char, std::allocator<unsigned char> >
> >)]+0x6d): undefined reference to `SHA256'
> >>>>>>
> Script.cpp:(.text._Z4HashIN9__gnu_cxx17__normal_iteratorIPhSt6vectorIhSaIhEEEEE7uint256T_S8_[uint256
> Hash<__gnu_cxx::__normal_iterator<unsigned char*, std::vector<unsigned
> char, std::allocator<unsigned char> > >
> >(__gnu_cxx::__normal_iterator<unsigned char*, std::vector<unsigned char,
> std::allocator<unsigned char> > >, __gnu_cxx::__normal_iterator<unsigned
> char*, std::vector<unsigned char, std::allocator<unsigned char> >
> >)]+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ønager <gronager at ceptacle.com>
> wrote:
> >>>>>> Dear Bitcoiners,
> >>>>>>
> >>>>>> libcoin is now in a state ready for its first release, which I
> would like to share with you!
> >>>>>>
> >>>>>> === libcoin is a crypto currency library based on the
> bitcoin/bitcoin "Satoshi" client. ===
> >>>>>>
> >>>>>> Copenhagen, Denmark - 1st February 2012 Ceptacle announces the
> release of the first version of the crypto currency library "libcoin" based
> on the bitcoin/bitcoin "Satoshi" client.
> >>>>>>
> >>>>>> libcoin also maintains a version of bitcoind that is a 100%
> compatible drop-in replacement of the bitcoin/bitcoind client: You can use
> it on the same computer on the same files and you can call it with the same
> scripts. And you can easily extend it without touching the basic bitcoin
> source files.
> >>>>>>
> >>>>>> The libcoin/bitcoind client downloads the entire block chain 3.5
> times faster than the bitcoin/bitcoind client. This is less than 90 minutes
> on a modern laptop!
> >>>>>>
> >>>>>> In libcoin, the Satoshi client code has been completely refactored,
> properly encapsulating classes, removing all globals, moving from threads
> and mutexes to a pure asynchronous approach. Functionalities have been
> divided into logical units and libraries, minimizing dependencies for e.g.
> thin clients.
> >>>>>>
> >>>>>> libcoin is chain agnostic, all chain (bitcoin, testnet, namecoin,
> litecoin, ...) specific settings are maintained from a single class (Chain)
> and hence experiments with chain settings, mining, security and digital
> currencies for research and educational purposes are easily accessible. See
> the ponzicoin example for how you define your own chain.
> >>>>>>
> >>>>>> The build system of libcoin is based on CMake and supports builds
> of static and dynamic libraries on Linux, Mac OS X, and Windows.
> >>>>>>
> >>>>>> The libcoin license is LGPL v. 3. This mean that you can use it in
> open source as well as in commercial projects, but improvements should go
> back into the libcoin library.
> >>>>>>
> >>>>>> ======
> >>>>>>
> >>>>>> Read more on libcoin on: http://github.com/ceptacle/libcoin/wiki
> >>>>>>
> >>>>>> Join libcoin on twitter: http://twitter.com/libcoin
> >>>>>>
> >>>>>> Download "libcoin Satoshi release":
> http://github.com/ceptacle/libcoin/zipball/v0.4.0.1
> >>>>>>
> >>>>>> Best regards,
> >>>>>>
> >>>>>> Michael Gronager, PhD
> >>>>>> Director, Ceptacle
> >>>>>> Jens Juels Gade 33
> >>>>>> 2100 Copenhagen E
> >>>>>> Mobile: +45 31 45 14 01
> >>>>>> E-mail: gronager at 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 at 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 at 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 at 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 at 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 at 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 at ceptacle.com
> Web: http://www.ceptacle.com/
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20120322/5b5eff87/attachment.html>


More information about the bitcoin-dev mailing list