Introduction to Federation in Stellar Blockchain


  1. Basic knowledge of how cryptocurrency technologies.
  2. Have a Stellar account, you can easily create one from the stellar account viewer or with the wallet.


About Stellar

Federation: What and Why

Stellar Address

  1. username is the unique identification of an account, most of the time it’s an email address as an email is naturally unique in the whole world.
  2. domain.tld is the federation server link where you have created your stellar federation address, for technical persons it’s the server where we’ll look for the federation configurations (stellar.toml) link to query the real public key matching with the username.

Creating a Stellar Address


Connecting to

Sending Money (XLM) to a Stellar Address

  1. Interstellar is just one of the easier federation server many Stellar peoples are using daily, any other could do as long as it’s trusted by the community too.
  2. XLM is the native currency of the Stellar Blockchain.
  3. As we’re on Interstellar itself (where we have created our federation address), there is no need to fill the second part of the address. It’s guessed to be *

Setting Up a Federation Server

  1. Create a specific configuration file into the .well-known folder, accessible from this link: https://YOUR_DOMAIN/.well-known/stellar.toml
  2. Add the federation_url into your configuration file, similar to the Interstellar one shown in the image up here with the name FEDERATION_SERVER.
  3. Implement federation url HTTP endpoint, here we have two possibilities either building from scratch or start from the one open sourced by Stellar Development Foundation and accessible over on GitHub.
  1. Install MySQL. Postgres or Sqlite3 can be use as well
  2. Install Go tools, as the federation server has been built with Go programming language.
  3. Download and run the federation server

Install MySQL

sudo apt-get update
sudo apt-get install mysql-server

Install Go Tools

cd /usr/local : go into the right folder to install the binary
wget : to download our binary into the current directory
tar -C /usr/local -xzf go1.11.1.linux-386.tar.gz : unzip the downloaded binary

Download and Run the Federation Server

port = 8000[database]
type = "mysql"
dsn = "dbuser:dbpassword@/dbname"
federation = "SELECT account_id as id FROM Users WHERE username = ? AND domain = ?"
reverse-federation = "SELECT username as name, domain FROM Users WHERE account_id = ?"





Follow me to keep abreast with the latest technology news, industry insights, and developer trends. Alibaba Cloud website:

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

Common Solutions for Scheduling and Delay Problems in Business Scenarios

Difference between Static and Shared libraries

GSoC’ 20 SCoReLab : Week 6

Accessing Google API over CEN

How to Install Express GraphQL Server on ECS

How to build a kickass developer community

Why we need great product managers

Naked Domain redirect to www with kubernetes nginx

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Alibaba Cloud

Alibaba Cloud

Follow me to keep abreast with the latest technology news, industry insights, and developer trends. Alibaba Cloud website:

More from Medium

Guide to handle Crypto.js Encryption / Decryption in Apache JMeter

Role of Scalability in Blockchain Solutions

Role of Scalability in Blockchain Solutions

The bond market in crypto

Ethernaut Solutions 1–15, Part 1