Difficulty: Beginner
Estimated Time: 10 minutes

Ready for faster, cheaper transactions? In this tutorial we will see how stellar works and the steps to run it using docker. Understand the major Stellar concepts, like consensus, trust and credit, etc. The stellar business model and stellar.org along with addressing how to perform the easy and rapid transactions.

All these Stellar Cores—the network of nodes—eventually agree on sets of transactions. Each transaction on the network costs a small fee: 100 stroops (0.00001 XLM). This fee helps prevent bad actors from spamming the network. The Stellar network refers to the technology that processes financial transactions. The technology is open source, distributed, and community owned. Stellar.org is the nonprofit organization that contributes to the development of tools and social good initiatives around the Stellar network and financial inclusion. Employees contribute code to the Stellar network, but the technology is independent of the organization. Though transactions require an Internet connection at the moment, tools for low-bandwidth environments are in development.

Don’t stop now! The next scenario will only take about 10 minutes to complete.

Stellar - Getting Started

Step 1 of 5

Stellar Network Overview

How the Stellar network operates ? How do you send USD to your friend using INR on stellar network ? Let's start with the concept with a small scenario.

The Internet is made up of network servers containing our data, websites and applications. Like the Internet, Stellar is a network of decentralized servers in many locations that power the distributed ledger. This ledger records every transaction in the system for people and companies alike. A complete copy of the global ledger exits on each Stellar server. Any entity can run a server. The network becomes more robust with more servers. The server communicates with each other to verify transactions and sync the ledger every 2-5 seconds. This mechanism is called consensus. The ledger record your money as credit, which i issued by anchors. Anchor acts as bridges between the given currency and Stellar network. Banks and Payment processors are good examples of real anchors. Credit is issued to your online account - which act as a virtual wallet - in exchange for your deposit. Anchors have to be trusted to hold your money and honor your withdrawals. Issued credit can be send and received to people on the network. Stellar has a distributed exchange, so you can send USD credits to your friend using your INR credit balance. The network will automatically convert it with the lowest rate for you. Your friend will receive USD credit, which she can withdraw using an anchor supporting USD.

Using the Stellar network, we can build mobile wallets, banking tools, smart devices that pay for themselves, and just about anything else you can dream up involving payments! Even though Stellar is a complex distributed system, working with it doesn’t need to be complicated.

API: Horizon

Most applications interact with the Stellar network through Horizon, a RESTful HTTP API server. Horizon gives you a straightforward way to submit transactions, check accounts, and subscribe to events. Because it’s just HTTP, you can communicate with Horizon using your web browser, simple command line tools like cURL, or the Stellar SDK for your favorite programming language.

Stellar.org maintains JavaScript, Java, and Go-based SDKs for communicating with Horizon. There are also community-maintained SDKs for Ruby, Python, and C#.

Network Backbone: Stellar Core

Behind the scenes, every Horizon server connects to Stellar Core, the backbone of the Stellar network. The Stellar Core software does the hard work of validating and agreeing with other instances of Core on the status of every transaction through the Stellar Consensus Protocol (SCP). The Stellar network itself is a collection of connected Stellar Cores run by various individuals and entities around the world. Some instances have a Horizon server you can communicate with, while others exist only to add reliability to the overall network.