:: Re: [Libbitcoin] libitcoin examples…
Top Page
Delete this message
Reply to this message
Author: Eric Voskuil
Date:  
To: Shawn Pringle, libbitcoin
Subject: Re: [Libbitcoin] libitcoin examples wrong
All tags in GitHub include downloadable archives and are the committers' definition of "release". In the application releases (bx and bs) we also package binaries, to make evaluation easy.

I would like to move/update relevant content from Unsystem to the GitHub wikis (see the bx and bs wikis for example). That makes change control and participation easier. It's open source - the libbitcoin GitHub wikis have an established style and are available for pull requests.

On the other hand I do appreciate the work that many did to bring the libbitcoin stack to its first set of releases, which includes the Unsystem community (which also maintains this list and our web forum). So I have left it to the community to decide whether to continue with the documentation exercise, move it to GitHub, or let it wither. I think the latter is winning out and unfortunately it impacted you.

In terms of documentation, I personally prioritize my work in the applications (bx/bs) over the libraries. I am however working towards comprehensive doc generation for the libs. That will be much easier to maintain. So in the interim the manually-generated (and previously automated) API docs exist only on Unsystem.

e

> On Aug 9, 2015, at 11:02 AM, Shawn Pringle <shawn.pringle@???> wrote:
>
> Yes. Go ahead.
>
> Shawn
>
>> On Aug 9, 2015 2:59 PM, "Eric Voskuil" <eric@???> wrote:
>> Shawn, is it ok if I include the list in my reply, I think it's helpful for others.
>>
>> e
>>
>>
>> > On Aug 9, 2015, at 6:56 AM, Shawn Pringle <shawn.pringle@???> wrote:
>> >
>> > When I said "official" releases I meant releases you want the users to use as opposed to revisions you have between them in the repository. Now, I see the versions are already up to 2.9. What I expect to see from an "official release" is a downloadable archive that you can compile and build without all of the git information that comes from downloading it from github.com.
>> >
>> > If it is too time consuming to update the site at dyne.org, then please at least keep the examples up there that work with the library version that is downloadable from there. You can use what I left over on www.host-ed.me. Right now, when most users go to dyne.org and download the library and examples, they find that the examples don't work. The user wonders how it is that the devs cannot make a working set of examples. (which is not the case, but it looks that way)
>> >
>> >
>> >
>> > Shawn
>> >
>> >
>> >
>> >> On 09/08/15 06:51, Eric Voskuil wrote:
>> >> Your contributions are welcome - thanks for posting.
>> >>
>> >> I don't follow your comment on official releases. Releases are tagged in
>> >> GitHub, full history here:
>> >>
>> >> https://github.com/libbitcoin/libbitcoin-build/wiki
>> >>
>> >> Current technical information is maintained on GitHub. Example code is
>> >> in the repo and regularly verified via the Travis automated builds.
>> >>
>> >> e
>> >>
>> >>> On 08/06/2015 10:41 PM, Shawn Pringle wrote:
>> >>> I have uploaded a list of examples to canada.host-ed.me. Until your
>> >>> team finds someone to maintain your website this might be useful for
>> >>> some people. Most people tend to wait for official releases.
>> >>>
>> >>> Shawn.
>> >>>
>> >>>> On 07/08/15 00:17, Eric Voskuil wrote:
>> >>>> Hi Shawn,
>> >>>>
>> >>>> Sorry I missed this. I was travelling at the time.
>> >>>>
>> >>>> The information on unsystem is very dated. There is no libwallet as that
>> >>>> code was merged back in to libbitcoin. The latest release of libbitcoin
>> >>>> is version 2.9.0.
>> >>>>
>> >>>> Please see: https://github.com/libbitcoin
>> >>>>
>> >>>> e
>> >>>>
>> >>>>> On 07/14/2015 04:46 AM, Shawn Pringle wrote:
>> >>>>> Hello,
>> >>>>>
>> >>>>> I have noticed that the examples on the libbitcoin.dyne.org site do not
>> >>>>> compile with the libbitcoin that one can download from there.
>> >>>>>
>> >>>>> I am using 2.0 and libwallet 0.0. I downloaded from the said site and
>> >>>>> the examples. I made minor changes to two files.
>> >>>>>
>> >>>>> satoshiwords.cpp and determ.cpp
>> >>>>>
>> >>>>> The changes via GNU diff are:
>> >>>>>
>> >>>>> diff -u --ignore-space-change --ignore-blank-lines satoshiwords.cpp.orig
>> >>>>>   satoshiwords.cpp
>> >>>>> --- satoshiwords.cpp.orig       2015-07-14 07:01:48.000000000 -0300
>> >>>>> +++ satoshiwords.cpp    2015-07-14 08:44:04.000000000 -0300
>> >>>>> @@ -1,5 +1,6 @@
>> >>>>>   /*
>> >>>>>     Display the genesis block message by Satoshi.
>> >>>>> +  By Amir Taaki, et al at libbitcoin
>> >>>>>   */
>> >>>>>   #include <bitcoin/bitcoin.hpp>
>> >>>>>   using namespace bc;
>> >>>>> @@ -16,7 +17,7 @@
>> >>>>>       assert(coinbase_tx.inputs.size() == 1);
>> >>>>>       const transaction_input_type& coinbase_input =
>> >>>>> coinbase_tx.inputs[0];
>> >>>>>       // Get the input script (sometimes called scriptSig).
>> >>>>> -    const script& input_script = coinbase_input.input_script;
>> >>>>> +    const script_type& input_script = coinbase_input.script;
>> >>>>>       // Convert this to its raw format.
>> >>>>>       const data_chunk& raw_block_message = save_script(input_script);
>> >>>>>       // Convert this to an std::string.

>> >>>>>
>> >>>>> diff -u --ignore-space-change --ignore-blank-lines determ.{cpp.orig,cpp}
>> >>>>> --- determ.cpp.orig     2015-07-14 08:02:56.000000000 -0300
>> >>>>> +++ determ.cpp  2015-07-14 08:08:48.000000000 -0300
>> >>>>> @@ -1,9 +1,11 @@
>> >>>>>   #include <bitcoin/bitcoin.hpp>
>> >>>>> +#include <wallet/wallet.hpp>
>> >>>>> +#include <wallet/deterministic_wallet.hpp>
>> >>>>>   using namespace bc;

>> >>>>>
>> >>>>>   int main()
>> >>>>>   {
>> >>>>> -    deterministic_wallet wallet;
>> >>>>> +    libwallet::deterministic_wallet wallet;
>> >>>>>       // Set seed.
>> >>>>>       if (!wallet.set_seed("a219213f9b12422aa206d988e3e49607"))
>> >>>>>           log_error() << "Error setting seed.";
>> >>>>> @@ -32,7 +34,7 @@
>> >>>>>       assert(encode_hex(mpk) ==
>> >>>>> "d996c1a50ca4a57a9dface614338a1d837cb339e08361cfaf66ffd7da8e21786a7142a014056439d579654d7bb58dd5724b93372b5efae62e76783300f2b6cb5");

>> >>>>>
>> >>>>>
>> >>>>>       // A master key can only generate public keys and not the
>> >>>>> private keys.
>> >>>>> -    deterministic_wallet wallet2;
>> >>>>> +    libwallet::deterministic_wallet wallet2;
>> >>>>>       wallet2.set_master_public_key(mpk);
>> >>>>>       assert(wallet2.generate_public_key(2) == pubkey);
>> >>>>>       // Trying to generate the secret parameter will always return
>> >>>>> null_hash.

>> >>>>>
>> >>>>>
>> >>>>> Determ compiles but fails with a link error. Strangely enough the
>> >>>>> deterministic wallet is missing its implementation.
>> >>>>>
>> >>>>> sdp
>> >>>>> _______________________________________________
>> >>>>> Libbitcoin mailing list
>> >>>>> Libbitcoin@???
>> >>>>> https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/libbitcoin
>> >>>>>
>> >