Bitcoin Forum
May 10, 2024, 07:17:17 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 2 3 4 5 6 7 [8] 9 10 11 12 13 »  All
  Print  
Author Topic: libbitcoin  (Read 92417 times)
genjix (OP)
Legendary
*
Offline Offline

Activity: 1232
Merit: 1076


View Profile
June 27, 2012, 04:25:31 PM
 #141

OK, compatibility with LTS:

https://gitorious.org/libbitcoin/libbitcoin/blobs/master/INSTALL

See the section labelled 'Ubuntu Instructions'. You will need the following line to install the dependencies:

sudo apt-get install build-essential autoconf libtool libboost1.48-all-dev libdb++-dev libprotobuf-dev pkg-config libcurl4-openssl-dev

Then simply run the autoreconf -i && configure && make && sudo make install step(s)
1715368637
Hero Member
*
Offline Offline

Posts: 1715368637

View Profile Personal Message (Offline)

Ignore
1715368637
Reply with quote  #2

1715368637
Report to moderator
1715368637
Hero Member
*
Offline Offline

Posts: 1715368637

View Profile Personal Message (Offline)

Ignore
1715368637
Reply with quote  #2

1715368637
Report to moderator
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1715368637
Hero Member
*
Offline Offline

Posts: 1715368637

View Profile Personal Message (Offline)

Ignore
1715368637
Reply with quote  #2

1715368637
Report to moderator
1715368637
Hero Member
*
Offline Offline

Posts: 1715368637

View Profile Personal Message (Offline)

Ignore
1715368637
Reply with quote  #2

1715368637
Report to moderator
Red Emerald
Hero Member
*****
Offline Offline

Activity: 742
Merit: 500



View Profile WWW
June 27, 2012, 06:21:14 PM
Last edit: June 27, 2012, 10:08:48 PM by Red Emerald
 #142

OK, compatibility with LTS:

https://gitorious.org/libbitcoin/libbitcoin/blobs/master/INSTALL

See the section labelled 'Ubuntu Instructions'. You will need the following line to install the dependencies:

sudo apt-get install build-essential autoconf libtool libboost1.48-all-dev libdb++-dev libprotobuf-dev pkg-config libcurl4-openssl-dev

Then simply run the autoreconf -i && configure && make && sudo make install step(s)
That was fast.  I'm going through the instructions now.

EDIT: I was able to build libbitcoin without problem. However, I am getting errors with the python bindings

Code:
$ git clone git://gitorious.org/libbitcoin/python-bitcoin.git
$ cd python-bitcoin
$ make
mkdir -p bitcoin
g++ -fPIC -Wall -ansi `pkg-config --cflags libbitcoin` -I/usr/include/python2.7  -c main.cpp -o main.o
main.cpp: In member function ‘void handshake_wrapper::connect(network_wrapper, const string&, uint16_t, boost::python::api::object)’:
main.cpp:301:14: error: ‘class libbitcoin::handshake’ has no member named ‘connect’
main.cpp: At global scope:
main.cpp:612:39: error: expected ‘)’ before ‘ex’
main.cpp:713:5: error: ‘exporter_ptr’ in namespace ‘bc’ does not name a type
main.cpp: In member function ‘libbitcoin::data_chunk exporter_wrapper::save_header(const libbitcoin::message::header&) const’:
main.cpp:619:16: error: ‘ex_’ was not declared in this scope
main.cpp: In member function ‘libbitcoin::data_chunk exporter_wrapper::save_version(const libbitcoin::message::version&) const’:
main.cpp:623:16: error: ‘ex_’ was not declared in this scope
main.cpp: In member function ‘libbitcoin::data_chunk exporter_wrapper::save_verack(const libbitcoin::message::verack&) const’:
main.cpp:627:16: error: ‘ex_’ was not declared in this scope
main.cpp: In member function ‘libbitcoin::data_chunk exporter_wrapper::save_address(const libbitcoin::message::address&) const’:
main.cpp:631:16: error: ‘ex_’ was not declared in this scope
main.cpp: In member function ‘libbitcoin::data_chunk exporter_wrapper::save_get_address(const libbitcoin::message::get_address&) const’:
main.cpp:635:16: error: ‘ex_’ was not declared in this scope
main.cpp: In member function ‘libbitcoin::data_chunk exporter_wrapper::save_inventory(const libbitcoin::message::inventory&) const’:
main.cpp:639:16: error: ‘ex_’ was not declared in this scope
main.cpp: In member function ‘libbitcoin::data_chunk exporter_wrapper::save_get_data(const libbitcoin::message::get_data&) const’:
main.cpp:643:16: error: ‘ex_’ was not declared in this scope
main.cpp: In member function ‘libbitcoin::data_chunk exporter_wrapper::save_get_blocks(const libbitcoin::message::get_blocks&) const’:
main.cpp:647:16: error: ‘ex_’ was not declared in this scope
main.cpp: In member function ‘libbitcoin::data_chunk exporter_wrapper::save_transaction(const libbitcoin::message::transaction&) const’:
main.cpp:651:16: error: ‘ex_’ was not declared in this scope
main.cpp: In member function ‘libbitcoin::data_chunk exporter_wrapper::save_block(const libbitcoin::message::block&) const’:
main.cpp:655:16: error: ‘ex_’ was not declared in this scope
main.cpp: In member function ‘libbitcoin::data_chunk exporter_wrapper::save_ping(const libbitcoin::message::ping&) const’:
main.cpp:659:16: error: ‘ex_’ was not declared in this scope
main.cpp: In member function ‘libbitcoin::message::header exporter_wrapper::load_header(const data_chunk&) const’:
main.cpp:664:16: error: ‘ex_’ was not declared in this scope
main.cpp: In member function ‘libbitcoin::message::version exporter_wrapper::load_version(const data_chunk&) const’:
main.cpp:668:16: error: ‘ex_’ was not declared in this scope
main.cpp: In member function ‘libbitcoin::message::verack exporter_wrapper::load_verack(const data_chunk&) const’:
main.cpp:672:16: error: ‘ex_’ was not declared in this scope
main.cpp: In member function ‘libbitcoin::message::address exporter_wrapper::load_address(const data_chunk&) const’:
main.cpp:676:16: error: ‘ex_’ was not declared in this scope
main.cpp: In member function ‘libbitcoin::message::get_address exporter_wrapper::load_get_address(const data_chunk&) const’:
main.cpp:680:16: error: ‘ex_’ was not declared in this scope
main.cpp: In member function ‘libbitcoin::message::inventory exporter_wrapper::load_inventory(const data_chunk&) const’:
main.cpp:684:16: error: ‘ex_’ was not declared in this scope
main.cpp: In member function ‘libbitcoin::message::get_data exporter_wrapper::load_get_data(const data_chunk&) const’:
main.cpp:688:16: error: ‘ex_’ was not declared in this scope
main.cpp: In member function ‘libbitcoin::message::get_blocks exporter_wrapper::load_get_blocks(const data_chunk&) const’:
main.cpp:692:16: error: ‘ex_’ was not declared in this scope
main.cpp: In member function ‘libbitcoin::message::transaction exporter_wrapper::load_transaction(const data_chunk&) const’:
main.cpp:697:16: error: ‘ex_’ was not declared in this scope
main.cpp: In member function ‘libbitcoin::message::block exporter_wrapper::load_block(const data_chunk&) const’:
main.cpp:701:16: error: ‘ex_’ was not declared in this scope
main.cpp: In member function ‘libbitcoin::message::ping exporter_wrapper::load_ping(const data_chunk&) const’:
main.cpp:705:16: error: ‘ex_’ was not declared in this scope
main.cpp: In member function ‘bool exporter_wrapper::verify_header(const libbitcoin::message::header&) const’:
main.cpp:710:16: error: ‘ex_’ was not declared in this scope
main.cpp: In function ‘exporter_wrapper create_satoshi_exporter()’:
main.cpp:718:46: error: ‘satoshi_exporter’ is not a member of ‘bc’
main.cpp:718:46: error: ‘satoshi_exporter’ is not a member of ‘bc’
main.cpp:718:68: error: no matching function for call to ‘make_shared()’
main.cpp:718:68: note: candidate is:
/usr/include/c++/4.6/bits/shared_ptr.h:547:5: note: template<class _Tp, class ... _Args> std::shared_ptr<_Tp1> std::make_shared(_Args&& ...)
main.cpp: In member function ‘void blockchain_wrapper::fetch_block_locator(boost::python::api::object)’:
main.cpp:775:17: error: ‘class libbitcoin::blockchain’ has no member named ‘fetch_block_locator’
main.cpp: In function ‘void fetch_block_by_depth(blockchain_wrapper, size_t, boost::python::api::object)’:
main.cpp:845:53: error: no matching function for call to ‘fetch_block(libbitcoin::blockchain_ptr, size_t&, pyfunction<const std::error_code&, const libbitcoin::message::block&>)’
main.cpp:845:53: note: candidates are:
/usr/local/include/bitcoin/blockchain/blockchain.hpp:305:6: note: void libbitcoin::fetch_block(libbitcoin::blockchain&, size_t, libbitcoin::blockchain_fetch_handler_block)
/usr/local/include/bitcoin/blockchain/blockchain.hpp:305:6: note:   no known conversion for argument 1 from ‘libbitcoin::blockchain_ptr {aka std::shared_ptr<libbitcoin::blockchain>}’ to ‘libbitcoin::blockchain&’
/usr/local/include/bitcoin/blockchain/blockchain.hpp:323:6: note: void libbitcoin::fetch_block(libbitcoin::blockchain&, const hash_digest&, libbitcoin::blockchain_fetch_handler_block)
/usr/local/include/bitcoin/blockchain/blockchain.hpp:323:6: note:   no known conversion for argument 1 from ‘libbitcoin::blockchain_ptr {aka std::shared_ptr<libbitcoin::blockchain>}’ to ‘libbitcoin::blockchain&’
main.cpp: In function ‘void fetch_block_by_hash(blockchain_wrapper, const hash_digest&, boost::python::api::object)’:
main.cpp:853:53: error: no matching function for call to ‘fetch_block(libbitcoin::blockchain_ptr, const hash_digest&, pyfunction<const std::error_code&, const libbitcoin::message::block&>)’
main.cpp:853:53: note: candidates are:
/usr/local/include/bitcoin/blockchain/blockchain.hpp:305:6: note: void libbitcoin::fetch_block(libbitcoin::blockchain&, size_t, libbitcoin::blockchain_fetch_handler_block)
/usr/local/include/bitcoin/blockchain/blockchain.hpp:305:6: note:   no known conversion for argument 1 from ‘libbitcoin::blockchain_ptr {aka std::shared_ptr<libbitcoin::blockchain>}’ to ‘libbitcoin::blockchain&’
/usr/local/include/bitcoin/blockchain/blockchain.hpp:323:6: note: void libbitcoin::fetch_block(libbitcoin::blockchain&, const hash_digest&, libbitcoin::blockchain_fetch_handler_block)
/usr/local/include/bitcoin/blockchain/blockchain.hpp:323:6: note:   no known conversion for argument 1 from ‘libbitcoin::blockchain_ptr {aka std::shared_ptr<libbitcoin::blockchain>}’ to ‘libbitcoin::blockchain&’
main.cpp: In function ‘void fetch_block_locator(blockchain_wrapper, boost::python::api::object)’:
main.cpp:861:61: error: invalid initialization of non-const reference of type ‘libbitcoin::blockchain&’ from an rvalue of type ‘libbitcoin::blockchain_ptr {aka std::shared_ptr<libbitcoin::blockchain>}’
/usr/local/include/bitcoin/blockchain/blockchain.hpp:341:6: error: in passing argument 1 of ‘void libbitcoin::fetch_block_locator(libbitcoin::blockchain&, libbitcoin::blockchain_fetch_handler_block_locator)’
main.cpp: In function ‘blockchain_wrapper create_bdb_blockchain(async_service_wrapper, const string&, boost::python::api::object)’:
main.cpp:874:9: error: ‘create’ is not a member of ‘libbitcoin::bdb_blockchain’
main.cpp: In constructor ‘transaction_pool_wrapper::transaction_pool_wrapper(async_service_wrapper, blockchain_wrapper)’:
main.cpp:921:17: error: ‘create’ is not a member of ‘libbitcoin::transaction_pool’
main.cpp: In constructor ‘session_wrapper::session_wrapper(async_service_wrapper, hosts_wrapper, handshake_wrapper, network_wrapper, protocol_wrapper, blockchain_wrapper, poller_wrapper, transaction_pool_wrapper)’:
main.cpp:969:28: error: uninitialized reference member in ‘struct libbitcoin::session_params’
/usr/local/include/bitcoin/session.hpp:18:16: note: ‘libbitcoin::session_params::handshake_’ should be initialized
main.cpp:969:28: error: uninitialized reference member in ‘struct libbitcoin::session_params’
/usr/local/include/bitcoin/session.hpp:19:15: note: ‘libbitcoin::session_params::protocol_’ should be initialized
main.cpp:969:28: error: uninitialized reference member in ‘struct libbitcoin::session_params’
/usr/local/include/bitcoin/session.hpp:20:17: note: ‘libbitcoin::session_params::blockchain_’ should be initialized
main.cpp:969:28: error: uninitialized reference member in ‘struct libbitcoin::session_params’
/usr/local/include/bitcoin/session.hpp:21:13: note: ‘libbitcoin::session_params::poller_’ should be initialized
main.cpp:969:28: error: uninitialized reference member in ‘struct libbitcoin::session_params’
/usr/local/include/bitcoin/session.hpp:22:23: note: ‘libbitcoin::session_params::transaction_pool_’ should be initialized
main.cpp:970:11: error: ‘struct libbitcoin::session_params’ has no member named ‘hosts_’
main.cpp:971:29: error: no match for ‘operator=’ in ‘p.libbitcoin::session_params::handshake_ = handshake_wrapper::hs()()’
main.cpp:971:29: note: candidate is:
/usr/local/include/bitcoin/network/handshake.hpp:32:10: note: void libbitcoin::handshake::operator=(const libbitcoin::handshake&) <deleted>
/usr/local/include/bitcoin/network/handshake.hpp:32:10: note:   no known conversion for argument 1 from ‘libbitcoin::handshake_ptr {aka std::shared_ptr<libbitcoin::handshake>}’ to ‘const libbitcoin::handshake&’
main.cpp:972:11: error: ‘struct libbitcoin::session_params’ has no member named ‘network_’
main.cpp:973:31: error: no match for ‘operator=’ in ‘p.libbitcoin::session_params::protocol_ = protocol_wrapper::prot()()’
main.cpp:973:31: note: candidate is:
/usr/local/include/bitcoin/network/protocol.hpp:28:10: note: void libbitcoin::protocol::operator=(const libbitcoin::protocol&) <deleted>
/usr/local/include/bitcoin/network/protocol.hpp:28:10: note:   no known conversion for argument 1 from ‘libbitcoin::protocol_ptr {aka std::shared_ptr<libbitcoin::protocol>}’ to ‘const libbitcoin::protocol&’
main.cpp:974:26: error: no match for ‘operator=’ in ‘p.libbitcoin::session_params::poller_ = poller_wrapper::p()()’
main.cpp:974:26: note: candidate is:
/usr/local/include/bitcoin/poller.hpp:9:7: note: libbitcoin::poller& libbitcoin::poller::operator=(const libbitcoin::poller&) <deleted>
/usr/local/include/bitcoin/poller.hpp:9:7: note:   no known conversion for argument 1 from ‘libbitcoin::poller_ptr {aka std::shared_ptr<libbitcoin::poller>}’ to ‘const libbitcoin::poller&’
main.cpp:975:37: error: no match for ‘operator=’ in ‘p.libbitcoin::session_params::blockchain_ = blockchain_wrapper::chain()()’
main.cpp:975:37: note: candidates are:
/usr/local/include/bitcoin/blockchain/blockchain.hpp:18:7: note: libbitcoin::blockchain& libbitcoin::blockchain::operator=(const libbitcoin::blockchain&)
/usr/local/include/bitcoin/blockchain/blockchain.hpp:18:7: note:   no known conversion for argument 1 from ‘libbitcoin::blockchain_ptr {aka std::shared_ptr<libbitcoin::blockchain>}’ to ‘const libbitcoin::blockchain&’
/usr/local/include/bitcoin/blockchain/blockchain.hpp:18:7: note: libbitcoin::blockchain& libbitcoin::blockchain::operator=(libbitcoin::blockchain&&)
/usr/local/include/bitcoin/blockchain/blockchain.hpp:18:7: note:   no known conversion for argument 1 from ‘libbitcoin::blockchain_ptr {aka std::shared_ptr<libbitcoin::blockchain>}’ to ‘libbitcoin::blockchain&&’
main.cpp:976:36: error: no match for ‘operator=’ in ‘p.libbitcoin::session_params::transaction_pool_ = transaction_pool_wrapper::p()()’
main.cpp:976:36: note: candidate is:
/usr/local/include/bitcoin/transaction_pool.hpp:65:10: note: void libbitcoin::transaction_pool::operator=(const libbitcoin::transaction_pool&) <deleted>
/usr/local/include/bitcoin/transaction_pool.hpp:65:10: note:   no known conversion for argument 1 from ‘libbitcoin::transaction_pool_ptr {aka std::shared_ptr<libbitcoin::transaction_pool>}’ to ‘const libbitcoin::transaction_pool&’
main.cpp: In function ‘void init_module__bitcoin()’:
main.cpp:1188:36: error: no matching function for call to ‘boost::python::class_<libbitcoin::message::transaction>::def(const char [9], <unresolved overloaded function type>)’
main.cpp:1188:36: note: candidates are:
/usr/include/boost/python/class.hpp:224:11: note: template<class Derived> boost::python::class_<T, X1, X2, X3>::self& boost::python::class_::def(const boost::python::def_visitor<Derived>&) [with Derived = Derived, W = libbitcoin::message::transaction, X1 = boost::python::detail::not_specified, X2 = boost::python::detail::not_specified, X3 = boost::python::detail::not_specified, boost::python::class_<T, X1, X2, X3>::self = boost::python::class_<libbitcoin::message::transaction>]
/usr/include/boost/python/class.hpp:234:11: note: template<class F> boost::python::class_<T, X1, X2, X3>::self& boost::python::class_::def(const char*, F) [with F = F, W = libbitcoin::message::transaction, X1 = boost::python::detail::not_specified, X2 = boost::python::detail::not_specified, X3 = boost::python::detail::not_specified, boost::python::class_<T, X1, X2, X3>::self = boost::python::class_<libbitcoin::message::transaction>]
/usr/include/boost/python/class.hpp:243:11: note: template<class A1, class A2> boost::python::class_<T, X1, X2, X3>::self& boost::python::class_::def(const char*, A1, const A2&) [with A1 = A1, A2 = A2, W = libbitcoin::message::transaction, X1 = boost::python::detail::not_specified, X2 = boost::python::detail::not_specified, X3 = boost::python::detail::not_specified, boost::python::class_<T, X1, X2, X3>::self = boost::python::class_<libbitcoin::message::transaction>]
/usr/include/boost/python/class.hpp:250:11: note: template<class Fn, class A1, class A2> boost::python::class_<T, X1, X2, X3>::self& boost::python::class_::def(const char*, Fn, const A1&, const A2&) [with Fn = Fn, A1 = A1, A2 = A2, W = libbitcoin::message::transaction, X1 = boost::python::detail::not_specified, X2 = boost::python::detail::not_specified, X3 = boost::python::detail::not_specified, boost::python::class_<T, X1, X2, X3>::self = boost::python::class_<libbitcoin::message::transaction>]
/usr/include/boost/python/class.hpp:266:11: note: template<class Fn, class A1, class A2, class A3> boost::python::class_<T, X1, X2, X3>::self& boost::python::class_::def(const char*, Fn, const A1&, const A2&, const A3&) [with Fn = Fn, A1 = A1, A2 = A2, A3 = A3, W = libbitcoin::message::transaction, X1 = boost::python::detail::not_specified, X2 = boost::python::detail::not_specified, X3 = boost::python::detail::not_specified, boost::python::class_<T, X1, X2, X3>::self = boost::python::class_<libbitcoin::message::transaction>]
main.cpp:1298:27: error: ‘pretty’ is not a member of ‘libbitcoin::script’
main.cpp:1321:35: error: ‘channel_stopped’ is not a member of ‘libbitcoin::error’
In file included from /usr/include/c++/4.6/bits/shared_ptr.h:52:0,
                 from /usr/include/c++/4.6/memory:86,
                 from /usr/include/boost/function/function_base.hpp:16,
                 from /usr/include/boost/function/detail/prologue.hpp:17,
                 from /usr/include/boost/function/function_template.hpp:13,
                 from /usr/include/boost/function/detail/maybe_include.hpp:13,
                 from /usr/include/boost/function/function0.hpp:11,
                 from /usr/include/boost/python/errors.hpp:13,
                 from /usr/include/boost/python/handle.hpp:11,
                 from /usr/include/boost/python/args_fwd.hpp:10,
                 from /usr/include/boost/python/args.hpp:10,
                 from /usr/include/boost/python.hpp:11,
                 from main.cpp:1:
/usr/include/c++/4.6/bits/shared_ptr_base.h: In constructor ‘std::_Sp_counted_ptr_inplace<_Tp, _Alloc, _Lp>::_Sp_counted_ptr_inplace(_Alloc, _Args&& ...) [with _Args = {libbitcoin::async_service&, std::shared_ptr<libbitcoin::hosts>, std::shared_ptr<libbitcoin::handshake>, std::shared_ptr<libbitcoin::network>}, _Tp = libbitcoin::protocol, _Alloc = std::allocator<libbitcoin::protocol>, __gnu_cxx::_Lock_policy _Lp = (__gnu_cxx::_Lock_policy)2u]’:
/usr/include/c++/4.6/bits/shared_ptr_base.h:518:8:   instantiated from ‘std::__shared_count<_Lp>::__shared_count(std::_Sp_make_shared_tag, _Tp*, const _Alloc&, _Args&& ...) [with _Tp = libbitcoin::protocol, _Alloc = std::allocator<libbitcoin::protocol>, _Args = {libbitcoin::async_service&, std::shared_ptr<libbitcoin::hosts>, std::shared_ptr<libbitcoin::handshake>, std::shared_ptr<libbitcoin::network>}, __gnu_cxx::_Lock_policy _Lp = (__gnu_cxx::_Lock_policy)2u]’
/usr/include/c++/4.6/bits/shared_ptr_base.h:987:35:   instantiated from ‘std::__shared_ptr<_Tp, _Lp>::__shared_ptr(std::_Sp_make_shared_tag, const _Alloc&, _Args&& ...) [with _Alloc = std::allocator<libbitcoin::protocol>, _Args = {libbitcoin::async_service&, std::shared_ptr<libbitcoin::hosts>, std::shared_ptr<libbitcoin::handshake>, std::shared_ptr<libbitcoin::network>}, _Tp = libbitcoin::protocol, __gnu_cxx::_Lock_policy _Lp = (__gnu_cxx::_Lock_policy)2u]’
/usr/include/c++/4.6/bits/shared_ptr.h:317:64:   instantiated from ‘std::shared_ptr<_Tp>::shared_ptr(std::_Sp_make_shared_tag, const _Alloc&, _Args&& ...) [with _Alloc = std::allocator<libbitcoin::protocol>, _Args = {libbitcoin::async_service&, std::shared_ptr<libbitcoin::hosts>, std::shared_ptr<libbitcoin::handshake>, std::shared_ptr<libbitcoin::network>}, _Tp = libbitcoin::protocol]’
/usr/include/c++/4.6/bits/shared_ptr.h:535:39:   instantiated from ‘std::shared_ptr<_Tp> std::allocate_shared(const _Alloc&, _Args&& ...) [with _Tp = libbitcoin::protocol, _Alloc = std::allocator<libbitcoin::protocol>, _Args = {libbitcoin::async_service&, std::shared_ptr<libbitcoin::hosts>, std::shared_ptr<libbitcoin::handshake>, std::shared_ptr<libbitcoin::network>}]’
/usr/include/c++/4.6/bits/shared_ptr.h:551:42:   instantiated from ‘std::shared_ptr<_Tp1> std::make_shared(_Args&& ...) [with _Tp = libbitcoin::protocol, _Args = {libbitcoin::async_service&, std::shared_ptr<libbitcoin::hosts>, std::shared_ptr<libbitcoin::handshake>, std::shared_ptr<libbitcoin::network>}]’
main.cpp:407:39:   instantiated from here
/usr/include/c++/4.6/bits/shared_ptr_base.h:410:4: error: no matching function for call to ‘libbitcoin::protocol::protocol(libbitcoin::async_service&, std::shared_ptr<libbitcoin::hosts>, std::shared_ptr<libbitcoin::handshake>, std::shared_ptr<libbitcoin::network>)’
/usr/include/c++/4.6/bits/shared_ptr_base.h:410:4: note: candidate is:
/usr/local/include/bitcoin/network/protocol.hpp:24:5: note: libbitcoin::protocol::protocol(libbitcoin::async_service&, libbitcoin::hosts&, libbitcoin::handshake&, libbitcoin::network&)
/usr/local/include/bitcoin/network/protocol.hpp:24:5: note:   no known conversion for argument 2 from ‘std::shared_ptr<libbitcoin::hosts>’ to ‘libbitcoin::hosts&’
/usr/include/c++/4.6/bits/shared_ptr_base.h: In constructor ‘std::_Sp_counted_ptr_inplace<_Tp, _Alloc, _Lp>::_Sp_counted_ptr_inplace(_Alloc, _Args&& ...) [with _Args = {libbitcoin::async_service&, std::shared_ptr<libbitcoin::blockchain>}, _Tp = libbitcoin::poller, _Alloc = std::allocator<libbitcoin::poller>, __gnu_cxx::_Lock_policy _Lp = (__gnu_cxx::_Lock_policy)2u]’:
/usr/include/c++/4.6/bits/shared_ptr_base.h:518:8:   instantiated from ‘std::__shared_count<_Lp>::__shared_count(std::_Sp_make_shared_tag, _Tp*, const _Alloc&, _Args&& ...) [with _Tp = libbitcoin::poller, _Alloc = std::allocator<libbitcoin::poller>, _Args = {libbitcoin::async_service&, std::shared_ptr<libbitcoin::blockchain>}, __gnu_cxx::_Lock_policy _Lp = (__gnu_cxx::_Lock_policy)2u]’
/usr/include/c++/4.6/bits/shared_ptr_base.h:987:35:   instantiated from ‘std::__shared_ptr<_Tp, _Lp>::__shared_ptr(std::_Sp_make_shared_tag, const _Alloc&, _Args&& ...) [with _Alloc = std::allocator<libbitcoin::poller>, _Args = {libbitcoin::async_service&, std::shared_ptr<libbitcoin::blockchain>}, _Tp = libbitcoin::poller, __gnu_cxx::_Lock_policy _Lp = (__gnu_cxx::_Lock_policy)2u]’
/usr/include/c++/4.6/bits/shared_ptr.h:317:64:   instantiated from ‘std::shared_ptr<_Tp>::shared_ptr(std::_Sp_make_shared_tag, const _Alloc&, _Args&& ...) [with _Alloc = std::allocator<libbitcoin::poller>, _Args = {libbitcoin::async_service&, std::shared_ptr<libbitcoin::blockchain>}, _Tp = libbitcoin::poller]’
/usr/include/c++/4.6/bits/shared_ptr.h:535:39:   instantiated from ‘std::shared_ptr<_Tp> std::allocate_shared(const _Alloc&, _Args&& ...) [with _Tp = libbitcoin::poller, _Alloc = std::allocator<libbitcoin::poller>, _Args = {libbitcoin::async_service&, std::shared_ptr<libbitcoin::blockchain>}]’
/usr/include/c++/4.6/bits/shared_ptr.h:551:42:   instantiated from ‘std::shared_ptr<_Tp1> std::make_shared(_Args&& ...) [with _Tp = libbitcoin::poller, _Args = {libbitcoin::async_service&, std::shared_ptr<libbitcoin::blockchain>}]’
main.cpp:894:67:   instantiated from here
/usr/include/c++/4.6/bits/shared_ptr_base.h:410:4: error: no matching function for call to ‘libbitcoin::poller::poller(libbitcoin::async_service&, std::shared_ptr<libbitcoin::blockchain>)’
/usr/include/c++/4.6/bits/shared_ptr_base.h:410:4: note: candidates are:
/usr/local/include/bitcoin/poller.hpp:12:5: note: libbitcoin::poller::poller(libbitcoin::async_service&, libbitcoin::blockchain&)
/usr/local/include/bitcoin/poller.hpp:12:5: note:   no known conversion for argument 2 from ‘std::shared_ptr<libbitcoin::blockchain>’ to ‘libbitcoin::blockchain&’
/usr/local/include/bitcoin/poller.hpp:9:7: note: constexpr libbitcoin::poller::poller(const libbitcoin::poller&)
/usr/local/include/bitcoin/poller.hpp:9:7: note:   candidate expects 1 argument, 2 provided
/usr/local/include/bitcoin/poller.hpp:9:7: note: constexpr libbitcoin::poller::poller(libbitcoin::poller&&)
/usr/local/include/bitcoin/poller.hpp:9:7: note:   candidate expects 1 argument, 2 provided
main.cpp: In member function ‘libbitcoin::data_chunk exporter_wrapper::save_header(const libbitcoin::message::header&) const’:
main.cpp:620:5: warning: control reaches end of non-void function [-Wreturn-type]
main.cpp: In member function ‘libbitcoin::data_chunk exporter_wrapper::save_version(const libbitcoin::message::version&) const’:
main.cpp:624:5: warning: control reaches end of non-void function [-Wreturn-type]
main.cpp: In member function ‘libbitcoin::data_chunk exporter_wrapper::save_verack(const libbitcoin::message::verack&) const’:
main.cpp:628:5: warning: control reaches end of non-void function [-Wreturn-type]
main.cpp: In member function ‘libbitcoin::data_chunk exporter_wrapper::save_address(const libbitcoin::message::address&) const’:
main.cpp:632:5: warning: control reaches end of non-void function [-Wreturn-type]
main.cpp: In member function ‘libbitcoin::data_chunk exporter_wrapper::save_get_address(const libbitcoin::message::get_address&) const’:
main.cpp:636:5: warning: control reaches end of non-void function [-Wreturn-type]
main.cpp: In member function ‘libbitcoin::data_chunk exporter_wrapper::save_inventory(const libbitcoin::message::inventory&) const’:
main.cpp:640:5: warning: control reaches end of non-void function [-Wreturn-type]
main.cpp: In member function ‘libbitcoin::data_chunk exporter_wrapper::save_get_data(const libbitcoin::message::get_data&) const’:
main.cpp:644:5: warning: control reaches end of non-void function [-Wreturn-type]
main.cpp: In member function ‘libbitcoin::data_chunk exporter_wrapper::save_get_blocks(const libbitcoin::message::get_blocks&) const’:
main.cpp:648:5: warning: control reaches end of non-void function [-Wreturn-type]
main.cpp: In member function ‘libbitcoin::data_chunk exporter_wrapper::save_transaction(const libbitcoin::message::transaction&) const’:
main.cpp:652:5: warning: control reaches end of non-void function [-Wreturn-type]
main.cpp: In member function ‘libbitcoin::data_chunk exporter_wrapper::save_block(const libbitcoin::message::block&) const’:
main.cpp:656:5: warning: control reaches end of non-void function [-Wreturn-type]
main.cpp: In member function ‘libbitcoin::data_chunk exporter_wrapper::save_ping(const libbitcoin::message::ping&) const’:
main.cpp:660:5: warning: control reaches end of non-void function [-Wreturn-type]
main.cpp: In member function ‘libbitcoin::message::header exporter_wrapper::load_header(const data_chunk&) const’:
main.cpp:665:5: warning: control reaches end of non-void function [-Wreturn-type]
main.cpp: In member function ‘libbitcoin::message::version exporter_wrapper::load_version(const data_chunk&) const’:
main.cpp:669:5: warning: control reaches end of non-void function [-Wreturn-type]
main.cpp: In member function ‘libbitcoin::message::verack exporter_wrapper::load_verack(const data_chunk&) const’:
main.cpp:673:5: warning: control reaches end of non-void function [-Wreturn-type]
main.cpp: In member function ‘libbitcoin::message::address exporter_wrapper::load_address(const data_chunk&) const’:
main.cpp:677:5: warning: control reaches end of non-void function [-Wreturn-type]
main.cpp: In member function ‘libbitcoin::message::get_address exporter_wrapper::load_get_address(const data_chunk&) const’:
main.cpp:681:5: warning: control reaches end of non-void function [-Wreturn-type]
main.cpp: In member function ‘libbitcoin::message::inventory exporter_wrapper::load_inventory(const data_chunk&) const’:
main.cpp:685:5: warning: control reaches end of non-void function [-Wreturn-type]
main.cpp: In member function ‘libbitcoin::message::get_data exporter_wrapper::load_get_data(const data_chunk&) const’:
main.cpp:689:5: warning: control reaches end of non-void function [-Wreturn-type]
main.cpp: In member function ‘libbitcoin::message::get_blocks exporter_wrapper::load_get_blocks(const data_chunk&) const’:
main.cpp:693:5: warning: control reaches end of non-void function [-Wreturn-type]
main.cpp: In member function ‘libbitcoin::message::transaction exporter_wrapper::load_transaction(const data_chunk&) const’:
main.cpp:698:5: warning: control reaches end of non-void function [-Wreturn-type]
main.cpp: In member function ‘libbitcoin::message::block exporter_wrapper::load_block(const data_chunk&) const’:
main.cpp:702:5: warning: control reaches end of non-void function [-Wreturn-type]
main.cpp: In member function ‘libbitcoin::message::ping exporter_wrapper::load_ping(const data_chunk&) const’:
main.cpp:706:5: warning: control reaches end of non-void function [-Wreturn-type]
main.cpp: In member function ‘bool exporter_wrapper::verify_header(const libbitcoin::message::header&) const’:
main.cpp:711:5: warning: control reaches end of non-void function [-Wreturn-type]
main.cpp: In function ‘blockchain_wrapper create_bdb_blockchain(async_service_wrapper, const string&, boost::python::api::object)’:
main.cpp:877:1: warning: control reaches end of non-void function [-Wreturn-type]
main.cpp: In function ‘exporter_wrapper create_satoshi_exporter()’:
main.cpp:719:1: warning: control reaches end of non-void function [-Wreturn-type]
make: *** [default] Error 1

Any ideas?

genjix (OP)
Legendary
*
Offline Offline

Activity: 1232
Merit: 1076


View Profile
June 28, 2012, 01:05:07 AM
 #143

Yes, the Python bindings need to be updated since the libbitcoin API changed. I'll get onto that soon as I need to get the Electrum server running again. I plan to rebuild the backend in C++ though.
Red Emerald
Hero Member
*****
Offline Offline

Activity: 742
Merit: 500



View Profile WWW
June 28, 2012, 02:16:29 AM
 #144

Yes, the Python bindings need to be updated since the libbitcoin API changed. I'll get onto that soon as I need to get the Electrum server running again. I plan to rebuild the backend in C++ though.
I was building libbitcoin just for electrum Smiley

Do you know what the most recent commit is that works with the python bindings by chance?  If not, it wil give me an excuse to try out git-bisect.  Do you think that commit be stable enough, or should I just wait for you to write the updated bindings?

genjix (OP)
Legendary
*
Offline Offline

Activity: 1232
Merit: 1076


View Profile
June 28, 2012, 03:06:25 PM
 #145

Yes, the Python bindings need to be updated since the libbitcoin API changed. I'll get onto that soon as I need to get the Electrum server running again. I plan to rebuild the backend in C++ though.
I was building libbitcoin just for electrum Smiley

Do you know what the most recent commit is that works with the python bindings by chance?  If not, it wil give me an excuse to try out git-bisect.  Do you think that commit be stable enough, or should I just wait for you to write the updated bindings?

Best to wait. The Electrum server I made was a prototype. It had lots of hardcoded paths and such isms:

https://gitorious.org/electrum/server/blobs/master/backends/libbitcoin/memory_buffer.hpp (see 2nd include)
Phinnaeus Gage
Legendary
*
Offline Offline

Activity: 1918
Merit: 1570


Bitcoin: An Idea Worth Spending


View Profile WWW
July 21, 2012, 05:44:55 PM
 #146

I was surprised to learn that Patrick owns libbitcoin.org.

Quote
Domain Name:LIBBITCOIN.ORG
Created On:01-Jun-2011 18:56:20 UTC
Last Updated On:02-Jun-2012 01:27:02 UTC
Expiration Date:01-Jun-2013 18:56:20 UTC
Sponsoring Registrar:Name.com, LLC (R1288-LROR)
Status:CLIENT TRANSFER PROHIBITED
Registrant ID:nec06g69j6059q1w
Registrant Name:Phantom Circuit
Registrant Organization:PhantomCircuit
Registrant Street1:153 Bailey Rd
Registrant Street2:
Registrant Street3:
Registrant City:Fly Creek
Registrant State/Province:NY
Registrant Postal Code:13337
Registrant Country:US
Registrant Phone:+1.6075474139
Registrant Phone Ext.:
Registrant FAX:
Registrant FAX Ext.:
Registrant Email:phantomcircuit@yahoo.com
jimbobway
Legendary
*
Offline Offline

Activity: 1304
Merit: 1014



View Profile
November 28, 2012, 01:27:44 AM
 #147

Is libbitcoin going to die?  Ultraprune?  Receipts?  LevelDB?  Anything in the pipeline to keep up with bitcoind?
kdomanski
Newbie
*
Offline Offline

Activity: 10
Merit: 0


View Profile
March 03, 2013, 06:39:07 PM
 #148

libbitcoin is ATM being developed by one man - genjix. If you want it to succeed - contribute with your own code!
genjix (OP)
Legendary
*
Offline Offline

Activity: 1232
Merit: 1076


View Profile
April 28, 2013, 11:28:23 AM
 #149

At the moment I'm working on blockchain stuff. You can see the commit log to check my progress:

https://github.com/spesmilo/libbitcoin/commits/master

Mainly I'm concerned with blockchain interface servers right now:

https://github.com/genjix/query-layer
genjix (OP)
Legendary
*
Offline Offline

Activity: 1232
Merit: 1076


View Profile
May 09, 2013, 12:13:57 PM
Last edit: May 09, 2013, 10:35:29 PM by genjix
 #150

Lots of new things coming. I'm at a basic milestone where I'm content with the overall internal architecture of the library now.

https://github.com/spesmilo/libbitcoin/commits/master

Next steps is Python bindings, and a blockchain query API. The Python bindings were done before but were experimental. We had some issues with asynchronous calls and the GIL. I'm thinking to simply turn all async calls into sync blocking ones for Python anyway (keep it simple).

The query layer is something really nice:
https://github.com/genjix/query-layer
(see the tutorial.py)
You can move around and examine it using logical Python constructs. I want to expand upon this and also give access to new blocks and verified transactions in the memory pool. Then create an Electrum server protocol implementation chained to this.

Also subvertx (command line tools for Bitcoin using libbitcoin) is a bit out of date and not actively developed. I would like to take that to something serious too but it needs time (if someone wants to volunteer, this is a cool project) to firstly create how the tools should look and then implement them. I can help someone with that if they know C++.
https://github.com/genjix/subvertx
https://bitcointalk.org/index.php?topic=50721.0

Finally I'm working on an Android wallet. It's not using libbitcoin currently, but eventually that will be needed in the future.

There's some other various small tools I've made too. One is a fast-monitor tool which sits in the Bitcoin network and looks at transaction outputs in new blocks and unconfirmed transactions for an address so it can tell a website of a new deposit. The tool doesn't validate the new blocks or transactions and is only meant to be a lightweight thing. I don't see it having too many uses except where a website has TONS of Bitcoin addresses and can't afford to poll the balance for all of them or something.
marcus_of_augustus
Legendary
*
Offline Offline

Activity: 3920
Merit: 2348


Eadem mutata resurgo


View Profile
May 26, 2013, 02:19:27 AM
 #151

he's back  Smiley

fellowtraveler
Sr. Member
****
Offline Offline

Activity: 440
Merit: 250


View Profile
May 26, 2013, 03:29:55 AM
 #152

What about tools for multi-sig ?

co-founder, Monetas
creator, Open-Transactions
pilotniq
Newbie
*
Offline Offline

Activity: 31
Merit: 0


View Profile
June 01, 2013, 08:03:00 PM
 #153

Hello,

I downloaded and built libbitcoin from github. I'm on an Ubuntu 12.10 machine.

When I run the fullnode example, I get the following error:

Quote
~/src/bitcoin/libbitcoin/examples$ ./fullnode
terminate called after throwing an instance of 'boost::interprocess::interprocess_exception'
  what():  No such file or directory
Aborted

The backtrace doesn't say much:
Quote
(gdb) bt
#0  0xb7fdd424 in __kernel_vsyscall ()
#1  0xb6e9d1df in __GI_raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#2  0xb6ea0825 in __GI_abort () at abort.c:91
#3  0xb70838ad in __gnu_cxx::__verbose_terminate_handler() () from /usr/lib/i386-linux-gnu/libstdc++.so.6
#4  0xb70814f3 in ?? () from /usr/lib/i386-linux-gnu/libstdc++.so.6
#5  0xb708152f in std::terminate() () from /usr/lib/i386-linux-gnu/libstdc++.so.6
#6  0xb70dd5ac in ?? () from /usr/lib/i386-linux-gnu/libstdc++.so.6
#7  0xb746ed4c in start_thread (arg=0xb48b5b40) at pthread_create.c:308
#8  0xb6f5ddde in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Is this a libboost issue? gcc version? Something else?

Thanks for any help!
pilotniq
Newbie
*
Offline Offline

Activity: 31
Merit: 0


View Profile
June 01, 2013, 09:22:10 PM
 #154

When I run the fullnode example, I get the following error:

Quote
~/src/bitcoin/libbitcoin/examples$ ./fullnode
terminate called after throwing an instance of 'boost::interprocess::interprocess_exception'
  what():  No such file or directory
Aborted
Ok, after some stepping, I realized I needed to create a 'database' directory in the same directory as the 'fullnode' application for a leveldb database.

Can't say the error message was very illuminating.

I'll continue exploring.

I'm now getting errors like:

Quote
ERROR: Error storing memory pool transaction 5c4c562af2d4667db80f7832138acaf66e2cfa41bbbb3f2ee07b86f80069a98d: Object does not exist

Is this because the blockchain isn't populated?
genjix (OP)
Legendary
*
Offline Offline

Activity: 1232
Merit: 1076


View Profile
June 01, 2013, 10:01:02 PM
 #155

Correct.

Also you need to run:

$ ./initchain database/

to initialize the blockchain.

Also if you want to full blockchain then it's available at: http://46.4.92.107/database.tar.bz2
genjix (OP)
Legendary
*
Offline Offline

Activity: 1232
Merit: 1076


View Profile
June 02, 2013, 09:39:26 AM
 #156

We now have experimental Python bindings thanks to Pablo Martin (caedes)!

https://gitorious.org/libbitcoin-bindings/libbitcoin-bindings

Type "make compile" to compile them.

Full node example:

https://gitorious.org/libbitcoin-bindings/libbitcoin-bindings/blobs/master/tests/fullnode.py
fellowtraveler
Sr. Member
****
Offline Offline

Activity: 440
Merit: 250


View Profile
June 03, 2013, 04:34:22 AM
 #157

genjix, glad to see you are still working on this library.

Can it be used for sending multi-sig transactions?  Then verifying it was sent? Then for performing votes to get the funds back out?
Can you post a code example?

co-founder, Monetas
creator, Open-Transactions
genjix (OP)
Legendary
*
Offline Offline

Activity: 1232
Merit: 1076


View Profile
June 03, 2013, 09:12:39 AM
 #158

Yes it can.

You create a transaction as you would with an output sending to a script hash address. You broadcast it to the network. To verify it was sent, you might listen to see if nodes respond back with an inventory and if not resend the transaction within a certain time. Then to release the funds, you'd all need to sign a transaction according to its rules.
fellowtraveler
Sr. Member
****
Offline Offline

Activity: 440
Merit: 250


View Profile
June 03, 2013, 09:17:11 AM
 #159

is there any sample code demonstrating this? (Just to save me some time.)

I can promise I will put it to good use.

co-founder, Monetas
creator, Open-Transactions
genjix (OP)
Legendary
*
Offline Offline

Activity: 1232
Merit: 1076


View Profile
June 03, 2013, 12:31:35 PM
 #160

is there any sample code demonstrating this? (Just to save me some time.)

I can promise I will put it to good use.


not for multisig. there is sample code for normal transactions: https://github.com/genjix/subvertx/blob/master/src/mktx.cpp

let me know if you have questions: amir@unsystem.net
Pages: « 1 2 3 4 5 6 7 [8] 9 10 11 12 13 »  All
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!