Received: from sog-mx-2.v43.ch3.sourceforge.com ([172.29.43.192] helo=mx.sourceforge.net) by sfs-ml-3.v29.ch3.sourceforge.com with esmtp (Exim 4.76) (envelope-from <bip@mattwhitlock.name>) id 1Wa6Uh-0003rF-Nc for bitcoin-development@lists.sourceforge.net; Tue, 15 Apr 2014 16:45:59 +0000 X-ACL-Warn: Received: from qmta04.westchester.pa.mail.comcast.net ([76.96.62.40]) by sog-mx-2.v43.ch3.sourceforge.com with esmtp (Exim 4.76) id 1Wa6Ug-0004Gj-PU for bitcoin-development@lists.sourceforge.net; Tue, 15 Apr 2014 16:45:59 +0000 Received: from omta14.westchester.pa.mail.comcast.net ([76.96.62.60]) by qmta04.westchester.pa.mail.comcast.net with comcast id qCu11n0051HzFnQ54Gltgq; Tue, 15 Apr 2014 16:45:53 +0000 Received: from crushinator.localnet ([IPv6:2601:6:4800:47f:219:d1ff:fe75:dc2f]) by omta14.westchester.pa.mail.comcast.net with comcast id qGlt1n0014VnV2P3aGltNx; Tue, 15 Apr 2014 16:45:53 +0000 From: Matt Whitlock <bip@mattwhitlock.name> To: Chris Beams <chris@beams.io> Date: Tue, 15 Apr 2014 12:45:52 -0400 Message-ID: <82239971.BzVTldK5cU@crushinator> User-Agent: KMail/4.12.4 (Linux/3.12.13-gentoo; KDE/4.12.4; x86_64; ; ) In-Reply-To: <981A0A04-EAE7-45BE-81FC-92A40A6B2DA4@beams.io> References: <1756895.gV83Q4MX2a@crushinator> <7270706.tTNIRFK64H@crushinator> <981A0A04-EAE7-45BE-81FC-92A40A6B2DA4@beams.io> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" Sender: Matt Whitlock <bip@mattwhitlock.name> X-Spam-Score: 0.0 (/) X-Spam-Report: Spam Filtering performed by mx.sourceforge.net. See http://spamassassin.org/tag/ for more details. -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at http://www.dnswl.org/, no trust [76.96.62.40 listed in list.dnswl.org] 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature X-Headers-End: 1Wa6Ug-0004Gj-PU Cc: Bitcoin Dev <bitcoin-development@lists.sourceforge.net> Subject: Re: [Bitcoin-development] Bug in 2-of-3 transaction signing in Bitcoind? X-BeenThere: bitcoin-development@lists.sourceforge.net X-Mailman-Version: 2.1.9 Precedence: list List-Id: <bitcoin-development.lists.sourceforge.net> List-Unsubscribe: <https://lists.sourceforge.net/lists/listinfo/bitcoin-development>, <mailto:bitcoin-development-request@lists.sourceforge.net?subject=unsubscribe> List-Archive: <http://sourceforge.net/mailarchive/forum.php?forum_name=bitcoin-development> List-Post: <mailto:bitcoin-development@lists.sourceforge.net> List-Help: <mailto:bitcoin-development-request@lists.sourceforge.net?subject=help> List-Subscribe: <https://lists.sourceforge.net/lists/listinfo/bitcoin-development>, <mailto:bitcoin-development-request@lists.sourceforge.net?subject=subscribe> X-List-Received-Date: Tue, 15 Apr 2014 16:45:59 -0000 On Tuesday, 15 April 2014, at 6:39 pm, Chris Beams wrote: > Looks interesting. Is the source available? The intent is to open-source it. We will do so when I'm confident that we have all the kinks worked out. Here's what it can do presently: $ ./btctool usage: ./btctool <function> [<args>] encode16 Encode stdin to hex. decode16 [<hex>] Decode hex from stdin or string. encode64 [<hex>] Encode stdin or octets to Base64. decode64 [<base64>] Decode Base64 from stdin or string. encode58 <version> [<hex>] Encode stdin or octets to Base58Check. decode58 [<base58>] Decode Base58Check from stdin or string. disassemble [<script>] Disassemble hex script. sha256 [<hex>] Hash stdin or octets using SHA-256. rmd160 [<hex>] Hash stdin or octets using RIPEMD-160. privkey [<hex>] Derive private key from stdin or octets. pubkey [<privkey>] Derive public key from private key. address [<pubkey>] Derive address from public key. address <m> [<pubkey>...] Derive m-of-n P2SH address from public keys. encrypt [<privkey>] Encrypt private key per BIP38. decrypt [<privkey>] Decrypt private key per BIP38. shares <m> <n> [<privkey>] Distribute private key into m-of-n shares. join [<share>...] Join shares to reconstitute private key. privkeys <k> [<privseed>] Derive k private keys from private seed. pubkeys <k> [<pubseed>] Derive k public keys from public seed. addresses <k> [<pubseed>] Derive k addresses from public seed. addresses <k> <m> [<pubseed>...] Derive k m-of-n P2SH addresses from public seeds. $ ./chaintool usage: ./chaintool <function> [<args>] init Initialize a new cache file. add <label> <pubkey> Add a public key. add <label> :<pubseed> Add a public seed. add <label> <m> {<pubkey>|:<pubseed>}... Add public keys/seeds for m-of-n P2SH. rm <label> Remove a public key or seed. ls List public keys and seeds. sync <blocksdir> Synchronize with block chain. tip Print hash of block at tip of main chain. getbalance [<label>...] Get available balance. listunspent [<label>...] List unspent outputs in JSON. createtx [<fee>] [<label>...] Create transaction from address+amount pairs on stdin. signtx <tx> [{<privkey>|<privseed>}...] Sign transaction with private key(s)/seed(s).