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
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:
- fetch the
stellar.toml
file fromhttps://<domain>/.well-known/stellar.toml
and read theFEDERATION_SERVER
entry from it - fetch the response from the federation server using secure HTTP
GET
and required parameters - proceed with the payment
TODO: How to set up Stellar Federation Server - Part 2/2
This article originally appeared on lightrains.com
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