To be able to label incoming tor connections as different from normal localhost connections in e.g. `getpeerinfo` and the peers list in the GUI it'd be useful to have them connect on an alternative local-only port. Or even better, a UNIX socket.

For manually set-up hidden services this would have to be configured manually and could add a `hsport` option or such. The external port would still appear as `XXXXXXXXX.onion:8333`, however internally it would redirect to a that port.

In the case of `torcontrol` this would be easy to set up automatically. It could add a new (localhost) binding port automatically and this code would have to be changed:
- https://github.com/bitcoin/bitcoin/blob/master/src/torcontrol.cpp#L441
- https://github.com/bitcoin/bitcoin/blob/master/src/torcontrol.cpp#L477

}
    fs::path est_path = GetDataDir() / FEE_ESTIMATES_FILENAME;
    CAutoFile est_filein(fsbridge::fopen(est_path, "rb"), SER_DISK, CLIENT_VERSION);
    
    if (!est_filein.IsNull())
        ::feeEstimator.Read(est_filein);
    fFeeEstimatesInitialized = true;
    
    if (args.GetBoolArg("-txindex", DEFAULT_TXINDEX)) {
        g_txindex = MakeUnique<TxIndex>(nTxIndexCache, false, fReindex);
        g_txindex->Start();
    }
    for (const auto& filter_type : g_enabled_filter_types) {
        InitBlockFilterIndex(filter_type, filter_index_cache, false, fReindex);
        GetBlockFilterIndex(filter_type)->Start();
    }
    
    for (const auto& client : node.chain_clients) {
        if (!client->load()) {
            return false;
        }
    }
    
    
    
    if (fPruneMode) {
        LogPrintf("Unsetting NODE_NETWORK on prune mode\n");
        nLocalServices = ServiceFlags(nLocalServices & ~NODE_NETWORK);
        if (!fReindex) {
            LOCK(cs_main);