Ihilda Documentation

Download Now

Install

Start Up

Keys

Trust

  • Account Currencies
  • Account Info
  • Account Offers
  • Account Transactions
  • BIP39 Mnemonics
  • book_offers
  • Ledger Tracker
  • Network
  • Offer Create
  • Path Find
  • Payment
  • Ping
  • Server Info
  • Server State
  • Subscribe
  • Trustline
  • Transaction Types
  • Transaction Look up

Payments

  • Trading

    RippleLibSharp Ledger Tracker Example


    Import the necessary libraries
    using RippleLibSharp.Network;

    using using RippleLibSharp.Commands.Subscriptions;

    Connect to the xrp ledger
    var tokenSource = new CancellationTokenSource();
    
    var token = tokenSource.Token;
    
    ConnectionSettings connectInfo = new ConnectionSettings
    {
    
        // list of server url's in prefered order.
        ServerUrls = new string[] { "wss://s1.ripple.com:443", "wss://s2.ripple.com:443" },
    
    
        LocalUrl = "localhost",
        UserAgent = "optional spoof browser user agent",
        Reconnect = true
    };
    
    
    NetworkInterface network = new NetworkInterface(connectInfo);
    bool didConnect = network.Connect();
    
    if (!didConnect) {
        return;
    }
    
    Set a delegate function for ledget events
    
    LedgerTracker.OnLedgerClosed += (object sender, LedgerClosed ledgerCloseEvent) => {
    
       int fee_base = ledgerCloseEvent.fee_base;
       int fee_ref = ledgerCloseEvent.fee_ref;
       string ledger_hash = ledgerCloseEvent.ledger_hash;
       uint ledger_index = ledgerCloseEvent.ledger_index;
       int ledger_time = ledgerCloseEvent.ledger_time;
       DateTime receivedTime = ledgerCloseEvent.ReceivedTime;
       int reserve_base = ledgerCloseEvent.reserve_base;
       int reserve_inc = ledgerCloseEvent.reserve_inc;
       int txn_count = ledgerCloseEvent.txn_count;
       string validated_ledgers = ledgerCloseEvent.validated_ledgers;
    
    
       /* your code here */
    
    };
    
    LedgerTracker.OnServerStateChanged += (object sender, ServerStateEventArgs serverStateEvent) => {
    
       var base_fee = serverStateEvent.base_fee;
       var load_base = serverStateEvent.load_base;
       var load_factor = serverStateEvent.load_factor;
       var load_factor_fee_escalation = serverStateEvent.load_factor_fee_escalation;
       var load_factor_fee_queue = serverStateEvent.load_factor_fee_queue;
       var load_factor_fee_reference = serverStateEvent.load_factor_fee_reference;
       var load_factor_server = serverStateEvent.load_factor_server;
       var server_status = serverStateEvent.server_status;
       var eventType = serverStateEvent.type;
    
       /* your code here */
    
    };
    
    
    Subscribe to ledger events
    
    Subscribe.LedgerSubscribe (network, token);
    Subscribe.ServerSubscribe (network, token);