diff --git a/src/com/google/bitcoin/core/Wallet.java b/src/com/google/bitcoin/core/Wallet.java index a3999978..4564884e 100644 --- a/src/com/google/bitcoin/core/Wallet.java +++ b/src/com/google/bitcoin/core/Wallet.java @@ -347,4 +347,26 @@ public class Wallet implements Serializable { } return balance; } + + @Override + public String toString() { + StringBuilder builder = new StringBuilder(); + builder.append("Wallet containing "); + builder.append(Utils.bitcoinValueToFriendlyString(getBalance())); + builder.append("BTC in "); + builder.append(unspent.size()); + builder.append(" unspent transactions/"); + builder.append(fullySpent.size()); + builder.append(" spent transactions"); + // Do the keys. + builder.append("\nKeys:\n"); + for (ECKey key : keychain) { + builder.append(" addr:"); + builder.append(key.toAddress(params)); + builder.append(" "); + builder.append(key.toString()); + builder.append("\n"); + } + return builder.toString(); + } } diff --git a/src/com/google/bitcoin/examples/DumpWallet.java b/src/com/google/bitcoin/examples/DumpWallet.java new file mode 100644 index 00000000..3dbeba97 --- /dev/null +++ b/src/com/google/bitcoin/examples/DumpWallet.java @@ -0,0 +1,36 @@ +/** + * Copyright 2011 Google Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.google.bitcoin.examples; + +import com.google.bitcoin.core.Wallet; + +import java.io.File; + +/** + * DumpWallet loads a serialized wallet and prints information about what it contains. + */ +public class DumpWallet { + public static void main(String[] args) throws Exception { + if (args.length != 1) { + System.out.println("Usage: java com.google.bitcoin.examples.DumpWallet "); + return; + } + + Wallet wallet = Wallet.loadFromFile(new File(args[0])); + System.out.println(wallet.toString()); + } +}