EDITED 2019-02-08

`maxTxFee` is a global variable, used by both the raw transaction and wallet RPCs. It's set from `-maxtxfee`.

~listed in the global help text in init.cpp, but is only set in `WalletInit::ParameterInteraction()`. If the wallet is disabled, then `-maxtxfee` is ignored and the default is used.~

~This behaviour has existed since the mempool was changed to limit acceptance based on `maxTxFee` in https://github.com/bitcoin/bitcoin/commit/fa331db68bcc68e4c93fb45aaa30f911b0ecfe1a.~

~Short-term fix is to move the `-maxtxfee` handling to `InitParameterInteraction()` in init.cpp.~
EDIT: `maxTxFee` initiation bug fixed in #15357 

I don't think we should share this setting between the node and wallet.
if (gArgs.GetBoolArg("-peerbloomfilters", DEFAULT_PEERBLOOMFILTERS))
        nLocalServices = ServiceFlags(nLocalServices | NODE_BLOOM);
    if (gArgs.GetArg("-rpcserialversion", DEFAULT_RPC_SERIALIZE_VERSION) < 0)
        return InitError("rpcserialversion must be non-negative.");
    if (gArgs.GetArg("-rpcserialversion", DEFAULT_RPC_SERIALIZE_VERSION) > 1)
        return InitError("unknown rpcserialversion requested.");
    nMaxTipAge = gArgs.GetArg("-maxtipage", DEFAULT_MAX_TIP_AGE);
    fEnableReplacement = gArgs.GetBoolArg("-mempoolreplacement", DEFAULT_ENABLE_REPLACEMENT);
    if ((!fEnableReplacement) && gArgs.IsArgSet("-mempoolreplacement")) {
        
        std::string strReplacementModeList = gArgs.GetArg("-mempoolreplacement", "");  
        std::vector<std::string> vstrReplacementModes;
        boost::split(vstrReplacementModes, strReplacementModeList, boost::is_any_of(","));
        fEnableReplacement = (std::find(vstrReplacementModes.begin(), vstrReplacementModes.end(), "fee") != vstrReplacementModes.end());
    }
    return true;
}
static bool LockDataDirectory(bool probeOnly)
{
    
    fs::path datadir = GetDataDir();
    if (!DirIsWritable(datadir)) {
        return InitError(strprintf(_("Cannot write to data directory '%s'; check permissions."), datadir.string()));
    }
    if (!LockDirectory(datadir, ".lock", probeOnly)) {
        return InitError(strprintf(_("Cannot obtain a lock on data directory %s. %s is probably already running."), datadir.string(), _(PACKAGE_NAME)));
    }
    return true;
}
bool AppInitSanityChecks()