This conversation reminds me that I'd like to see a comprehensive list of tests that alt processors / generators can run against. I haven't looked in the client code for some time, but does that exist now? That would be a nice 'I want to help' early project, getting together inputs and expected outputs / stack states for implementers to check against. As it is right now, we've split our codebase a bit; we rely on the client to check the validity of a transaction, the balance of a given address, and converse with the network, but we have written most of our own code for stuff like block gen; I expect we will also do that for transaction creation. Peter 2012/3/22 Michael Grønager > What you list below was actually the plan - just havn't gotten there yet, > but it will be dead easy. > > /M > > > On 22/03/2012, at 11:50, Martinx - ジェームズ wrote: > > > 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/ > > > > > > 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/ > > > > ------------------------------------------------------------------------------ > This SF email is sponsosred by: > Try Windows Azure free for 90 days Click Here > http://p.sf.net/sfu/sfd2d-msazure > _______________________________________________ > Bitcoin-development mailing list > Bitcoin-development@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/bitcoin-development > -- Peter J. Vessenes CEO, CoinLab M: 206.595.9839