/stellarterm

Advanced web based trading client for the Stellar network. 📈📊💹💱

Primary LanguageJavaScript

Travis CI status

StellarTerm ecosystem - client | api | directory

The StellarTerm ecosystem consists of multiple projects built for the Stellar network including a trading client. The projects are in this monorepo to enable faster development speed.

Web Client

StellarTerm is a web based trading client for use on the Stellar network. This client aims to make it easy and safe for users of any skill level to trade on the Stellar network by making a clear and secure user interface. Try it out at https://stellarterm.com

API for developers (built on AWS Lambda)

The StellarTerm API contains information on the markets on the Stellar network. This information is useful for the StellarTerm client itself as well as other developers that want to use this data.

The API uses the Serverless framework for deployment to AWS Lambda. The API data is hosted on AWS S3 for high availability.

It is currently under active development and is not yet finished. See it in action here: https://api.stellarterm.com/

Directory

StellarTerm maintains a manually curated directory file with a listing of well known assets on the Stellar network. StellarTerm currently does not fetch stellar.toml files to discover assets as a way to prevent phishing. While StellarTerm tries to be accurate, it does not endorse any issuers and can not guarantee the accuracy of the directory.

To list your directory, please create a GitHub issue or email Iris Li at stlisting@iris.li.

Anchors and assets will only be added to the directory if they seem legitimate. To be added to the StellarTerm directory, an anchor must have a domain name and a stellar.toml file correctly hosted on the domain name.

Directory logos

StellarTerm displays logos of Stellar anchors to make it easier for end users to recognize them and protect themselves against phishing attacks. When a unknown issuer of invalid asset pair is used, an image indicating that the asset is unknown will be shown.

Directory logo guidelines

To provide a cleaner user interface, StellarTerm directory logos follow the following guidelines:

  • 100x100px
  • png format; optimized using default settings of pngquant
  • 10% (10px) of space from each edge to give space to the logo. The graphic can extend up to 5% from the edge for flourishes and can extend all the way to the edge if that is how the logo is designed
  • Background color should either be relevant to the logo (such as if it's square) or transparency should be used
  • Only one logo per domain name. Currently, StellarTerm does not support custom icons per currency

StellarTerm client screenshots

A detailed user friendly orderbook

Orderbook

Ability to add trust either from a curated list, manually, or via federation

Adding trust from directories

Adding trust via federation

Price history charts

Price history charts

Ability to make offers in an intuitive manner

Offer maker

A directory of the asset pairs traded on the Stellar network

Market directory

Manage offers for an account

Manage offers

Shows listing of balances with secure asset cards

Detailed balances

Compatible with accounts from any other client

Universal login

Under the cover features

Deployment

The project is hosted on GitHub pages in the stellarterm/stellarterm.github.io repository. The client is wrapped into a single html file and it's sha 256 sum is recorded on each git commit.

Client development instructions

Prerequisites

Make sure you have Node.js 7.4.0 or higher installed. If not, install it (Node version manager is recommended).

# Check your node version using this command
node --version

Environment Setup

# Clone the project
git clone https://github.com/irisli/stellarterm.git
cd stellarterm

# Install the npm and bower dependencies
npm run setup

Development mode

The build process has tools watches the code and rebuilds if something has changed. It will also serve the app locally (usually http://localhost:3000) and automatically refresh the page when changes are built.

npm start

Production build

This builds a single index.html file with assets inlined. The single file contains the whole app and can be hosted online. Output file is in ./dist/index.html.

npm run production

License

Products in the StellarTerm ecosystem is open source software and is licensed under the Apache-2.0 license. Please understand the license carefully before using StellarTerm.

Credits