summaryrefslogtreecommitdiff
path: root/ad/b196d333cb0d04fe432ae3be021d94380b43b7
blob: 7fab870f287e736ad8fe48b57dba0a155eb56c0d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
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).