Impervious
Search…
Federate
Allows two Impervious nodes to establish a peer relationship between each other

Overview

The Federate API allows for peer relationships to be established between nodes. A potential application of this is enterprise-wide NODE authentication, authorization, and accounting where an IMPID is a text based identifier for one's node.
At the moment, this API just trades the IMPID and signed public key between each other to establish the relationship. This allows for two nodes to "remember" each other for future transactions. In human terms, it's the equivalent as introducing yourself to another person for the first time.

proto/imp/api/federate/federate.proto

Allows for p2p federation between Impervious nodes

Federate

Federate service allows for P2P federation between Impervious nodes.
Method Name
Request Type
Response Type
Description
RequestFederate
RequestFederateRequest
RequestFederateResponse
RequestFederation performs the federation request to a specific peer.
LeaveFederation
LeaveFederationRequest
LeaveFederationResponse
LeaveFederation performs the removal of a federated peer (upon message receipt).

HTTP bindings

Method Name
Method
Pattern
RequestFederate
POST
/v1/federate/request
LeaveFederation
POST
/v1/federate/leave

LeaveFederationRequest

Represents a request to leave a federation from a far end node
Field
Type
Label
Description
pubkey
string
The public key of the far end LND node running IMP

LeaveFederationResponse

Represents a response back from a Leave Federation Request
Field
Type
Label
Description
id
string
returned message ID

RequestFederateRequest

Represents a request to federate with a far end node
Field
Type
Label
Description
pubkey
string
The public key of the far end LND node running IMP

RequestFederateResponse

Represents a response back from a Federation Request
Field
Type
Label
Description
id
string
returned message ID

Scalar Value Types

.proto Type
C++
Java
Python
Go
C#
PHP
Ruby
double
double
double
float
float64
double
float
Float
float
float
float
float
float32
float
float
Float
int32
int32
int
int
int32
int
integer
Bignum or Fixnum (as required)
int64
int64
long
int/long
int64
long
integer/string
Bignum
uint32
uint32
int
int/long
uint32
uint
integer
Bignum or Fixnum (as required)
uint64
uint64
long
int/long
uint64
ulong
integer/string
Bignum or Fixnum (as required)
sint32
int32
int
int
int32
int
integer
Bignum or Fixnum (as required)
sint64
int64
long
int/long
int64
long
integer/string
Bignum
fixed32
uint32
int
int
uint32
uint
integer
Bignum or Fixnum (as required)
fixed64
uint64
long
int/long
uint64
ulong
integer/string
Bignum
sfixed32
int32
int
int
int32
int
integer
Bignum or Fixnum (as required)
sfixed64
int64
long
int/long
int64
long
integer/string
Bignum
bool
bool
boolean
boolean
bool
bool
boolean
TrueClass/FalseClass
string
string
String
str/unicode
string
string
string
String (UTF-8)
bytes
string
ByteString
str
[]byte
ByteString
string
String (ASCII-8BIT)
Last modified 2mo ago