Stellar Federation Server - Part 1/2

Sun Aug 12 2018

Stellar Federation Server - Part 1/2

The Stellar federation protocol maps Stellar addresses to a unique name spaced string. It’s a way for Stellar client software to resolve email-like addresses such as name*your_domain.com into account IDs like: GCFFPIFOYY7Z...TK6T32V37KEJU. Stellar addresses provide an easy way for users to send and receive payments by using a syntax that interoperates across different domains and providers. When sending a payment, you contact a federation server first to determine what Stellar account ID to pay. Luckily, the bridge server does this for you.

To explain it simply, a Stellar Federation Server is a database with the following table structure which maps a Stellar address to a string(friendly_id).

| id | first_name | last_name | friendly_id         |
|----|------------|-----------|---------------------|
| 1  | Tunde      | Adebayo   | tunde_adebayo       |
| 2  | Lightrains | Tech      | lightrains          |

Where Lightrains Stellar address would be lightrains*your_domain.com.

Stellar Federation Server architecture

Stellar Federation Server architecture Source: stellar.org

Here, your front-end app/website will be talking to a intermediate server called bridge server which will be talking directly to a federation server. Bridge server is responsible for querying the federation server and get corresponding address and send transaction or operation to a stellar core via stellar Horizon server.

Current federation workflow

Currently, in order to resolve a federation address, the client needs to do the following:

  1. fetch the stellar.toml file from https://<domain>/.well-known/stellar.toml and read the FEDERATION_SERVER entry from it
  2. fetch the response from the federation server using secure HTTP GET and required parameters
  3. proceed with the payment

TODO: How to set up Stellar Federation Server - Part 2/2

Leave a comment

To make a comment, please send an e-mail using the button below. Your e-mail address won't be shared and will be deleted from our records after the comment is published. If you don't want your real name to be credited alongside your comment, please specify the name you would like to use. If you would like your name to link to a specific URL, please share that as well. Thank you.

Comment via email
Nikhil M
Nikhil M

Entrepreneur / Privacy Freak / Humanist / Blockchain / Ethereum / Elixir / Digital Security / Online Privacy

Tags Recent Blogs