5 #if defined(HAVE_CONFIG_H) 37 argsman.
AddCommand(
"create",
"Create new wallet file");
38 argsman.
AddCommand(
"salvage",
"Attempt to recover private keys from a corrupt wallet. Warning: 'salvage' is experimental.");
39 argsman.
AddCommand(
"dump",
"Print out all of the wallet key-value records");
40 argsman.
AddCommand(
"createfromdump",
"Create new wallet file from dumped records");
46 std::string error_message;
48 tfm::format(std::cerr,
"Error parsing command line arguments: %s\n", error_message);
55 "bitcoin-wallet is an offline tool for creating and interacting with " PACKAGE_NAME " wallet files.\n" 56 "By default bitcoin-wallet will act on wallets in the default mainnet wallet directory in the datadir.\n" 57 "To change the target wallet, use the -datadir, -wallet and -testnet/-regtest arguments.\n\n" 59 " bitcoin-wallet [options] <command>\n";
70 tfm::format(std::cerr,
"Error: Specified data directory \"%s\" does not exist.\n", args.
GetArg(
"-datadir",
""));
79 int main(
int argc,
char* argv[])
83 util::WinCmdLineArgs winArgs;
84 std::tie(argc, argv) = winArgs.get();
90 }
catch (
const std::exception& e) {
100 tfm::format(std::cerr,
"No method provided. Run `bitcoin-wallet -help` for valid methods.\n");
103 if (command->args.size() != 0) {
104 tfm::format(std::cerr,
"Error: Additional arguments provided (%s). Methods do not take arguments. Please refer to `-help`.\n",
Join(command->args,
", "));
void RandomInit()
Initialize global RNG state and log any CPU features that are used.
void ECC_Start()
Initialize the elliptic curve support.
bool IsArgSet(const std::string &strArg) const
Return true if the given argument has been manually set.
void SetupChainParamsBaseOptions(ArgsManager &argsman)
Set the arguments for chainparams.
BCLog::Logger & LogInstance()
auto Join(const std::vector< T > &list, const BaseType &separator, UnaryOp unary_op) -> decltype(unary_op(list.at(0)))
Join a list of items.
bool ParseParameters(int argc, const char *const argv[], std::string &error)
static bool WalletAppInit(ArgsManager &args, int argc, char *argv[])
bool GetBoolArg(const std::string &strArg, bool fDefault) const
Return boolean argument or default value.
std::string GetHelpMessage() const
Get the help string.
bool CheckDataDirOption()
Users of this module must hold an ECCVerifyHandle.
void AddCommand(const std::string &cmd, const std::string &help)
Add subcommand.
int main(int argc, char *argv[])
void ECC_Stop()
Deinitialize the elliptic curve support.
void SelectParams(const std::string &network)
Sets the params returned by Params() to those for the given chain name.
void AddArg(const std::string &name, const std::string &help, unsigned int flags, const OptionsCategory &cat)
Add argument.
bool HelpRequested(const ArgsManager &args)
static std::unique_ptr< ECCVerifyHandle > globalVerifyHandle
void PrintExceptionContinue(const std::exception *pex, const char *pszThread)
std::optional< const Command > GetCommand() const
Get the command and command args (returns std::nullopt if no command provided)
std::string FormatFullVersion()
UrlDecodeFn *const URL_DECODE
std::string GetArg(const std::string &strArg, const std::string &strDefault) const
Return string argument or default value.
static void SetupWalletToolArgs(ArgsManager &argsman)
void SetupHelpOptions(ArgsManager &args)
Add help options to the args manager.
std::string GetChainName() const
Returns the appropriate chain name from the program arguments.
std::string(const std::string &url_encoded) UrlDecodeFn
const std::function< std::string(const char *)> G_TRANSLATION_FUN
Translate string to current locale using Qt.