package com.msgilligan.bitcoinj.cli;
import org.apache.commons.cli.Option;
import org.apache.commons.cli.OptionGroup;
import org.apache.commons.cli.Options;
/**
* Command-line options for tools that communicate with Bitcoin RPC
*/
public class CliOptions extends Options {
public CliOptions() {
super();
this.addOption("?", null, false, "This help message")
// 'conf' and 'datadir' aren't implemented yet.
// .addOption("c", "conf", true, "Specify configuration file (default: bitcoin.conf)")
// .addOption("d", "datadir", true, "Specify data directory")
.addOptionGroup(new OptionGroup()
.addOption(new Option(null, "testnet", false, "Use the test network"))
.addOption(new Option(null, "regtest", false, "Enter regression test mode")))
.addOption(Option.builder().longOpt("rpcconnect")
.desc("Send commands to node running on <ip> (default: 127.0.0.1)")
.hasArg()
.argName("ip")
.build())
.addOption(Option.builder().longOpt("rpcport")
.desc("Connect to JSON-RPC on <port> (default: 8332 or testnet: 18332)")
.hasArg()
.argName("port")
.build())
.addOption(null, "rpcwait", false, "Wait for RPC server to start")
.addOption(Option.builder().longOpt("rpcuser")
.desc("Username for JSON-RPC connections")
.hasArg()
.argName("user")
.build())
.addOption(Option.builder().longOpt("rpcpassword")
.desc("Password for JSON-RPC connections")
.hasArg()
.argName("pw")
.build())
.addOption(null, "rpcssl", false, "Use https for JSON-RPC connections");
}
}