[−][src]Struct ilp_node::InterledgerNode
An all-in-one Interledger node that includes sender and receiver functionality, a connector, and a management API. The node uses Redis for persistence.
Fields
ilp_address: Option<Address>
ILP address of the node
secret_seed: [u8; 32]
Root secret used to derive encryption keys
admin_auth_token: String
HTTP Authorization token for the node admin (sent as a Bearer token)
redis_connection: ConnectionInfo
Redis URI (for example, "redis://127.0.0.1:6379" or "unix:/tmp/redis.sock")
http_bind_address: SocketAddr
IP address and port to listen for HTTP connections This is used for both the API and ILP over HTTP packets
settlement_api_bind_address: SocketAddr
IP address and port to listen for the Settlement Engine API
default_spsp_account: Option<Username>
When SPSP payments are sent to the root domain, the payment pointer is resolved
to
route_broadcast_interval: Option<u64>
Interval, defined in milliseconds, on which the node will broadcast routing information to other nodes using CCP. Defaults to 30000ms (30 seconds).
exchange_rate_poll_interval: u64
Interval, defined in milliseconds, on which the node will poll the exchange rate provider. Defaults to 60000ms (60 seconds).
exchange_rate_poll_failure_tolerance: u32
The number of consecutive failed polls to the exchange rate provider that the connector will tolerate before invalidating the exchange rate cache.
exchange_rate_provider: Option<ExchangeRateProvider>
API to poll for exchange rates. Currently the supported options are:
- CoinCap
- CryptoCompare (note this requires an API key) If this value is not set, the node will not poll for exchange rates and will instead use the rates configured via the HTTP API.
exchange_rate_spread: f64
Spread, as a fraction, to add on top of the exchange rate. This amount is kept as the node operator's profit, or may cover fluctuations in exchange rates. For example, take an incoming packet with an amount of 100. If the exchange rate is 1:2 and the spread is 0.01, the amount on the outgoing packet would be 198 (instead of 200 without the spread).
prometheus: Option<PrometheusConfig>
Configuration for Prometheus metrics collection. If this configuration is not provided, the node will not collect metrics.
Methods
impl InterledgerNode
[src]
pub fn serve(&self) -> impl Future<Item = (), Error = ()>
[src]
Returns a future that runs the Interledger.rs Node.
If the Prometheus configuration was provided, it will also run the Prometheus metrics server on the given address.
pub fn run(&self)
[src]
Run the node on the default Tokio runtime
Trait Implementations
impl Clone for InterledgerNode
[src]
fn clone(&self) -> InterledgerNode
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl<'de> Deserialize<'de> for InterledgerNode
[src]
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
[src]
__D: Deserializer<'de>,
Auto Trait Implementations
impl Send for InterledgerNode
impl Sync for InterledgerNode
impl Unpin for InterledgerNode
impl UnwindSafe for InterledgerNode
impl RefUnwindSafe for InterledgerNode
Blanket Implementations
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> From<T> for T
[src]
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> DeserializeOwned for T where
T: Deserialize<'de>,
[src]
T: Deserialize<'de>,
impl<T> Same<T> for T
type Output = T
Should always be Self
impl<T> Instrument for T
[src]
fn instrument(self, span: Span) -> Instrumented<Self>
[src]
fn in_current_span(self) -> Instrumented<Self>
[src]
impl<T> WithSubscriber for T
[src]
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
[src]
S: Into<Dispatch>,
fn with_current_subscriber(self) -> WithDispatch<Self>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
U: TryFrom<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,