Bug#670701: (no subject)
Hi,
I have a project which I've been continuously working on for 1 year now since May 2011 ( http://gitorious.org/libbitcoin?page=17 ). It is used in a number of projects like Electrum ( http://ecdsa.org/electrum/ ) or as backend software for websites ( https://intersango.com/ ). Intersango is the largest exchange in the UK, and 2nd largest
worldwide so libbitcoin is being used in a production environment.
It
is a C++ Bitcoin library (rewrote from scratch) with an asynchronous
toolkit based design. It has Python bindings and is at its 1.0 release.
Website: http://libbitcoin.org/
Documentation/tutorials: http://libbitcoin.org/doc.html
There are packages for Gentoo and Parabola/ArchLinux.
I made a simple Ubuntu package: http://gitorious.org/libbitcoin/distpkg
I
then have been trying to create a Debian package to get it into the
repos, however the entire process for creating shared library packages
is immensely complex going by these guides:
http://www.debian.org/doc/manuals/maint-guide/
http://www.netfort.gr.jp/~dancer/column/libpkg-guide/libpkg-guide.html
If anyone can make a package then
contact me and I'll collaborate and make whatever changes are needed to
get it to work with Debian. I did make an effort before asking for
help, but I'm mostly familiar with upstream processes.
---------------------------
Install instructions
---------------------------
There is nothing unusual or funny
about the setup. It is just a normal autotools build system with no
special modifications or hacks.
$
sudo apt-get install build-essential autoconf libtool
libboost1.48-all-dev libdb++-dev libprotobuf-dev libcurl4-openssl-dev
git
$ git clone git://gitorious.org/libbitcoin/libbitcoin.git
$ cd libbitcoin
$ autoreconf -i
$ ./configure --enable-bdb
$ make
$ sudo make install
A pkg-config is provided:
$ pkg-config --cflags --libs libbitcoin
-std=gnu++0x
-DBDB_ENABLED -I/home/genjix/usr/include -L/home/genjix/usr/lib
-lbitcoin -lboost_thread -lboost_system -lboost_regex -lboost_filesystem
-lpthread -lprotobuf -ldb_cxx -lcurl
> Is it related to libcoin? https://github.com/ceptacle/libcoin
Nope. libcoin is a fairly recent new project which simply refactors the existing Bitcoin-Qt codebase. libbitcoin is older and rewritten specifically as a library and for asynchronicity/scalability. It is the only full rewrite of the Bitcoin protocol right now.
> Does it (unlike Bitcoin) work on bigendian architectures?
Yes it works on big-endian architectures. Also Bitcoin-Qt is MIT licensed, whereas this is GPL.
> I can help you, but am already involved in way too many packages[1] so
> would prefer that you (or others) stay in the loop and participate in
> the ongoing maintainance of the packaging.
I'd
be willing to help engage and maintain the package, and work with the
author of the package. I've got to make the software accessible to
developers (as it is a library) so I'll do my best to help the Debian
developers.
> Are you also considering packaging some of those projects that use this
> library?
Yes, eventually. I really like this project Electrum: http://ecdsa.org/electrum/ - I think it has massive potential in the future. Compared to other
Bitcoin clients, there is no blockchain download and yet it remains
secure. So it fixes the biggest usability problems existing currently
with Bitcoin. However to get these projects working, the first step is
to get their core dependencies out there. Electrum has mainstream
appeal.
Another cool project using libbitcoin is subvertx which
is a handy set of command line tools for working with Bitcoin. The
ImageMagick of Bitcoin. Things like create private keys, download the
blockchain into an SQL database, construct transactions and dump them
offline to stdout, read from pipe and send raw transaction dump to
network, examine private keys for addresses, check balances against the
blockchain, ... .etc all these low level advanced commands. However it's
not a priority since the usage is pretty niche, but I have a personal
bias for anything command line :)
First step: libbitcoin.
The license is AGPL with a lesser clause (I worked with Stallman and Aaron Williamson of the SFLC to create this license).
Reply to: