001package org.consensusj.bitcoin.cli; 002 003import org.apache.commons.cli.Option; 004import org.apache.commons.cli.OptionGroup; 005import org.apache.commons.cli.Options; 006 007/** 008 * Command-line options for tools that communicate with Bitcoin RPC 009 */ 010public class BitcoinRpcCliOptions extends Options { 011 public BitcoinRpcCliOptions() { 012 super(); 013 this.addOption("?", "help", false, "This help message") 014 .addOption((Option.builder("v") 015 .longOpt("verbose") 016 .desc("Print verbose output") 017 .build())) 018// 'conf' and 'datadir' aren't implemented yet. 019// .addOption("c", "conf", true, "Specify configuration file (default: bitcoin.conf)") 020// .addOption("d", "datadir", true, "Specify data directory") 021 .addOptionGroup(new OptionGroup() 022 .addOption(new Option(null, "testnet", false, "Use the test network")) 023 .addOption(new Option(null, "regtest", false, "Enter regression test mode"))) 024 .addOption(Option.builder() 025 .longOpt("rpcconnect") 026 .desc("Send commands to node running on <ip> (default: 127.0.0.1)") 027 .hasArg() 028 .argName("ip") 029 .build()) 030 .addOption(Option.builder() 031 .longOpt("rpcport") 032 .desc("Connect to JSON-RPC on <port> (default: 8332 or testnet: 18332)") 033 .hasArg() 034 .argName("port") 035 .build()) 036 .addOption(null, "rpcwait", false, "Wait for RPC server to start") 037 .addOption(Option.builder() 038 .longOpt("rpcuser") 039 .desc("Username for JSON-RPC connections") 040 .hasArg() 041 .argName("user") 042 .build()) 043 .addOption(Option.builder() 044 .longOpt("rpcpassword") 045 .desc("Password for JSON-RPC connections") 046 .hasArg() 047 .argName("pw") 048 .build()) 049 .addOption(null, "rpcssl", false, "Use https for JSON-RPC connections"); 050 } 051 052}