Giter VIP home page Giter VIP logo

gatewayd's Introduction

Travis CI Build Status Coverage Status

Gatewayd

Gatewayd (pronounced "gateway-dee"), provides a framework you can extend to build a gateway on the Ripple Network. The system includes a core database that manages accounting for deposits and withdrawals of assets, linking the network with your holdings in the outside world. Gatewayd provides a standard interface for issuing any currency on the Ripple network and exchange, with the goal of completely abstracting interaction with Ripple.

Interact with the gatewayd by building custom integrations with banking and payment systems around the world, and by using the built-in APIs for designing beautiful gateway mobile apps and user interfaces. Gatewayd includes a REST API, Javascript library, and commandline interface; developers can also interact with Gatewayd by directly modifying the database records it monitors.

Gatewayd's features include:

  • deposits and withdrawals
  • issuing currency
  • robust Ripple payment sending
  • incoming Ripple payment monitoring
  • gateway administration
  • support for custom plugins

Documentation

The Ripple Dev Portal contains detailed information on Gatewayd and its APIs.

Dependencies

  1. Node.js
  • The express web module is used to serve HTTP/JSON endpoints
  • A Basic Auth strategy is used for authentication of users, admin.
  • Several NPM modules must be globally installed: db-migrate, pg, forever, and mocha
  1. Postgres
  1. Ripple REST API
  • The Ripple REST API provides a simplified HTTP/JSON interface to all the Ripple protocol network operations, such as payments and other transactions.
  1. git is required for installation and updating. It is not used during general operation.

Installation

Updating

The update process for gatewayd may change in the future, but for now, updating to a new version follows this process:

  1. Use git to pull the master branch from Github. (This assumes you created it by using git clone on the repository first.)
    git pull
  2. Install any new npm modules needed by the new version
    sudo npm install --global
  3. Disable the current gateway processes. (This starts downtime)
    pm2 kill
  4. Apply schema changes to the database, if the new version includes any.
    grunt migrate
  5. Restart the gatewayd processes. (This ends downtime)
    bin/gateway start

Configuration

Before you can run gatewayd, you need to set up the appropriate accounts that will be used to store and send funds in the Ripple network. You also need to define which currencies your gateway issues. Beyond that, there are some options you can set if they fit your needs.

The defaults for all of gatewayd's settings are found in the file config/environment.js. You can override any of those settings with your own values by editing them in the file config/config.json, or by using the API methods for setting the configuration. (The API methods result in editing the config/config.json file anyway.) Don't edit the config/environment.js file, since that only contains the defaults, and gets overridden in a software update.

Running gatewayd

After installation, start the gateway processes by running the command:

bin/gateway start

Command Line Interface

In addition to the REST interface, many pieces of Gatewayd can be controlled directly through the commandline. This is done by running the gateway script (bin/gateway from the project's top level directory) with the relevant commands.

You can get usage information for the commandline as follows:

bin/gateway -h

gatewayd's People

Contributors

adamcmiel avatar ainokame avatar benwtr avatar casualuser avatar cdm6a avatar cornfeedhobo avatar davidanoel avatar geertweening avatar hmalmedal avatar hserang avatar javiergsanchez avatar justmoon avatar kevinejohn avatar mduo13 avatar n0rmz avatar sublimator avatar virtadpt avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.