:: Re: [Libbitcoin] comparison of sx O…
Góra strony
Delete this message
Reply to this message
Autor: Thomas Hartman
Data:  
Dla: Amir Taaki
CC: libbitcoin@lists.dyne.org
Temat: Re: [Libbitcoin] comparison of sx OFFLINE TRANSACTIONS to functionality in satoshi wallet jsonrpc for raw transactions
Thaks. Since I'm already investing in bitcore codebase, and node for
processing, I'm also becoming interested in

https://github.com/bitpay/copay

as a base wallet. (Just discovered.)

What I really want is a sort of sandbox for easy experimenting with
bitcoin scripting -- interesting contracts, or just merely
understanding contracts -- but which also has a reasonably friendly
UI, such that if I actually wind up building something usefulit might
actually get used in the wild.



On Sun, May 25, 2014 at 11:14 AM, Amir Taaki <genjix@???> wrote:
> sx is not a wallet though, it is a tool for sysadmins to work with the
> bitcoin network, keys and internals. I use it often in debugging.
> Maybe you're better served by these instead?
> https://github.com/darkwallet/python-obelisk
> https://github.com/darkwallet/dat.wallet/
>
> On 05/25/2014 08:02 PM, Thomas Hartman wrote:
>> On second though...
>>
>> "In particular, iiuc, satoshi does not require wallet.dat file for
>> signing, privkeys can all be passed on command line. (Need to verity
>> this, but it seems to me from reading docs.)"
>>
>> It looks like this is not true. You can't really do *anything* with
>> satoshi client without downloading the blockchain. Which sort of
>> sucks.
>>
>> There is a "download headers only" branch of satoshi which is probably
>> a step in the right direction in this regard, but I'm not sure how
>> well maintained it is.
>>
>> So, the upshot is that sx still wins on weight -- you don't have to
>> download the blockchain to use it.
>>
>> But satoshi still wins on ease of use.
>>
>> Maybe this is another place where insight could help.
>>
>> On Sat, May 24, 2014 at 6:10 PM, Thomas Hartman
>> <thomas@???> wrote:
>>> This is mostly just to state some observations.
>>>
>>> sx has:
>>>
>>> OFFLINE TRANSACTIONS
>>>    SCRIPTING
>>>         mktx                       Create an unsigned tx.
>>>         rawscript                  Create the raw hex representation
>>> from a script.
>>>         set-input                  Set a transaction input.
>>>         showscript                 Show the details of a raw script.
>>>         showtx                     Show the details of a transaction.
>>>         sign-input                 Sign a transaction input.
>>>         unwrap                     Validates checksum and recovers
>>> version byte and original data from hexstring.
>>>         validsig                   Validate a transaction input's signature.
>>>         wrap                       Adds version byte and checksum to hexstring.

>>>
>>> I spent some time comparing this with
>>> https://en.bitcoin.it/wiki/Raw_Transactions
>>>
>>> and came to the following conclusion.
>>>
>>> The important functionality offered by sx and not satoshi is:
>>>
>>> -- rawscript
>>> -- validsig
>>>
>>> The functionality offered by satoshi and not sx is:
>>>
>>> -- better signing.
>>> -- consistent json rpc
>>>
>>> The satoshi funcionality for signing is far superior to sx, and
>>> encompasses everything that sx has.
>>>
>>> In particular, iiuc, satoshi does not require wallet.dat file for
>>> signing, privkeys can all be passed on command line. (Need to verity
>>> this, but it seems to me from reading docs.) So, you can use satoshi
>>> raw_transactions functionality as drop in lightweight replacement for
>>> sx, and this makes a lot of sense particularly for signing.
>>>
>>> Possible action items suggested by above observation:
>>>
>>> -- Drop all functions except rawscript and validsig, and point to
>>> bitcoind rpc for the remaining functionality. This is especially
>>> attractive if bitcoind ca run headless (that is, without blockchain).
>>> Not sure what the status is on headless, but I think it's either here
>>> already or coming soon.
>>>
>>> If that's too drastic, a compromise might be to just add pointers to
>>> equivalent bitcoind functionality in help. This is especially
>>> important for signing transactions. Signing is really cumbersome in
>>> sx.
>>>
>>> -- Suggest to bitcoind dev team to add rawscript and validsig
>>> functionality. This would make it easy to build "interesting" wallets
>>> on top of bitcoin, just as there is an embryonic scene building
>>> wallets on top of sx.
>>>
>>> I have been thinking a lot about "minimal viable wallet building
>>> block" schemes, in conjunction with sx. I hope to have more say about
>>> this soon.
>>>
>>> SX is almost a minimal viable wallet, but it doesn't have key
>>> management and signing is painful.
>>>
>>> Satoshi is too "rich" of a wallet, and forces its notion of accounts
>>> (groups of addresses) on to anyone that wants to build on top.
>>>
>>> I am thinking there is a sweet space somewhere between sx (too lean)
>>> and satoshi (too fat).
>>>
>>> Perhaps I will have more to say about this soon.
>> _______________________________________________
>> Libbitcoin mailing list
>> Libbitcoin@???
>> https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/libbitcoin
>>
>
>
> _______________________________________________
> Libbitcoin mailing list
> Libbitcoin@???
> https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/libbitcoin
>