js-stellar-sdk
![Build Status](https://travis-ci.org/stellar/js-stellar-sdk.svg?branch=master)
Note: This library is still under development and subject to breaking changes.
js-stellar-sdk is a client side Stellar Javascript Library for communicating with a Stellar Horizon Server. It is used for building Stellar apps either on Node.js or in the browser.
It provides:
- a networking layer API for Horizon endpoints
- facilities for building and signing transactions, and communicating with a Stellar Horizon instance, for submitting transactions or querying network history.
js-stellar-sdk vs js-stellar-base
This library (js-stellar-sdk) is a "high level" library that serves as an API for various Stellar services (currently just Horizon). This library makes extensive use of the "lower level" library js-stellar-base and exposes js-stellar-base classes via its export object. Many examples will use js-stellar-base classes (such as TransactionBuilder, Operation, etc) that are exposed through this library. This is to make it easier for developers who don't want to have to pull both js-stellar-base and js-stellar-sdk as dependencies. However, js-stellar-base can be used as a standalone library for creating Stellar primitive constructs via XDR helpers and wrappers.
Quick start
Using npm to include js-stellar-sdk in your own project:
npm install --save stellar-sdk
For browsers, use Bower to install it. It exports a
variable StellarSdk
. The example below assumes you have stellar-sdk.js
relative to your html file.
<script src="stellar-sdk.js"></script>
<script>console.log(StellarSdk);</script>
Install
Node.js prerequisite
Node.js version 0.10 is required. If you don't have version 0.10, use
nvm to easily switch between versions.
To use as a module in a Node.js project
- Install it using npm:
npm install --save stellar-sdk
- require/import it in your JavaScript:
var StellarSdk = require('stellar-sdk');
To use in the browser
- Install it using bower:
bower install stellar-sdk
- Include it in the browser:
<script src="./bower_components/stellar-sdk/stellar-sdk.js"></script>
<script>console.log(StellarSdk);</script>
Note that you can also copy built JS files from bower-js-stellar-sdk repo if you don't want to use Bower.
To develop and test js-stellar-sdk itself
- Clone the repo
git clone https://github.com/stellar/js-stellar-sdk.git
- Install dependencies inside js-stellar-sdk folder
cd js-stellar-sdk
npm install
Usage
For information on how to use js-stellar-sdk, take a look at the docs in the docs folder.
There is also API Documentation here.
Testing
To run all tests:
./node_modules/.bin/gulp test
To run a specific set of tests:
gulp test:node
gulp test:browser
Documentation
Documentation for this repo lives inside the docs folder.
Contributing
For information on how to contribute, please refer to our CONTRIBUTING file.
Publishing to npm
npm version [<newversion> | major | minor | patch | premajor | preminor | prepatch | prerelease]
A new version will be published to npm and Bower by Travis CI.
npm >=2.13.0 required.
Read more about npm version.
License
js-stellar-sdk is licensed under an Apache-2.0 license. See the LICENSE file for details.