Michael, Since libcoin is "chain agnostic", I was wondering if the project can be used like this: When I install it with "make install", I would like to have something like this: Regular file: /usr/local/bin/libcoincore # or whatever you like Symlink -> Regular file /usr/local/bit/bitcoind -> /usr/local/bin/libcoincore # bitcoind is a symlink to libcoincore /usr/local/bit/litecoind -> /usr/local/bin/libcoincore # litecoind is a symlink to libcoincore /usr/local/bit/devcoind -> /usr/local/bin/libcoincore # devcoind is a symlink to libcoincore /usr/local/bit/namecoind -> /usr/local/bin/libcoincore # devcoind is a symlink to libcoincore ...and so on... So, libcoincore will interpret the ARGV[0] and, for each string, it will initiate the appropriate internal functions... I don't know if Libcoin already does something like that... I'm not a developer/code reader... Just a small nerd with big ideas... ^_^ Thanks! Thiago 2012/2/28 Michael Grønager > 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 > > 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 > >> 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 - ジェームズ 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 > >>> 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 - ジェームズ > >>>> 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 > >>>> 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@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 char, std::allocator > > > >(__gnu_cxx::__normal_iterator std::allocator > >, __gnu_cxx::__normal_iterator char*, std::vector > >)': > >>>>> > Script.cpp:(.text._Z4HashIN9__gnu_cxx17__normal_iteratorIPhSt6vectorIhSaIhEEEEE7uint256T_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_iteratorIPhSt6vectorIhSaIhEEEEE7uint256T_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ønager > 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@ceptacle.com > >>>>> Web: http://www.ceptacle.com/ > >>>>> > >>>>> > >>>>> > ------------------------------------------------------------------------------ > >>>>> Keep Your Developer Skills Current with LearnDevNow! > >>>>> The most comprehensive online learning library for Microsoft > developers > >>>>> is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, > MVC3, > >>>>> Metro Style Apps, more. Free future releases when you subscribe now! > >>>>> http://p.sf.net/sfu/learndevnow-d2d > >>>>> _______________________________________________ > >>>>> Bitcoin-development mailing list > >>>>> Bitcoin-development@lists.sourceforge.net > >>>>> https://lists.sourceforge.net/lists/listinfo/bitcoin-development > >>>>> > >>>> > >>>> Michael Gronager, PhD > >>>> Director, Ceptacle > >>>> Jens Juels Gade 33 > >>>> 2100 Copenhagen E > >>>> Mobile: +45 31 45 14 01 > >>>> E-mail: gronager@ceptacle.com > >>>> Web: http://www.ceptacle.com/ > >>>> > >>>> > >>>> > >>> > >>> > >> > >> Michael Gronager, PhD > >> Director, Ceptacle > >> Jens Juels Gade 33 > >> 2100 Copenhagen E > >> Mobile: +45 31 45 14 01 > >> E-mail: gronager@ceptacle.com > >> Web: http://www.ceptacle.com/ > >> > >> > > > > Michael Gronager, PhD > > Director, Ceptacle > > Jens Juels Gade 33 > > 2100 Copenhagen E > > Mobile: +45 31 45 14 01 > > E-mail: gronager@ceptacle.com > > Web: http://www.ceptacle.com/ > > > > > > Michael Gronager, PhD > Director, Ceptacle > Jens Juels Gade 33 > 2100 Copenhagen E > Mobile: +45 31 45 14 01 > E-mail: gronager@ceptacle.com > Web: http://www.ceptacle.com/ > >