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.