anchor.diff:      end;
       jsonresponse.GetAsVariant('result').Value := TNetData.NetData.NodeServersAddresses.CleanBlackList(True);
       Result := True;
  +  end else if (method='node_ip_stats') then begin
  +    if (Not _RPCServer.AllowUsePrivateKeys) then begin
  +      // Protection when server is locked to avoid private keys call
  +      ErrorNum := CT_RPC_ErrNum_NotAllowedCall;
  +      Exit;
  +    end;
  +    Get_node_ip_stats;
  +    Result := True;
     end else begin
       ErrorNum := CT_RPC_ErrNum_MethodNotFound;
       ErrorDesc := 'Method not found: "'+method+'"';
  
positive.code:     end;
    end;
  
    // This function creates a TOpTransaction without looking for balance/private key of sender account
    // It assumes that sender,target,sender_last_n_operation,senderAccountKey and targetAccountKey are correct
    Function CreateOperationTransaction(current_protocol : Word; sender, target, sender_last_n_operation : Cardinal; amount, fee : UInt64;
  
negative.code: 
  Uses UThread, ULog, UConst, UNode, UAccounts, UCrypto, UBlockChain,
    UNetProtocol, UOpTransaction, UWallet, UTime, UAES, UECIES, UTxMultiOperation,
    UJSONFunctions, classes, blcksock, synsock, IniFiles, Variants, math, UBaseTypes, UOpenSSL,
    UNetProtection;
  
  Const
    CT_RPC_ErrNum_InternalError = 100;
  