Coder Social home page Coder Social logo

gw3218 / ripple-coins Goto Github PK

View Code? Open in Web Editor NEW

This project forked from roastbeefsandwichco/ripple-coins

0.0 2.0 0.0 113 KB

Node.js modules to facilitate integration & automation of cryptocurrency coins into a ripple gateway

License: GNU Affero General Public License v3.0

JavaScript 100.00%

ripple-coins's Introduction

ripple-coins

A collection of Node.js modules to facilitate integration & automation of new coins into a ripple gateway

Ripple Coins - A universal gatewayd cryptocurrency integration and automation framework

  • That sure is a mouthful. It's a connector for gatewayd for all coins (or a very large majority).

##Progress

  1. Withdrawal processing
  • Finished but needs to be polished. (Thanks for the help, McShane!)
  1. Deposit processing
  • See Issues 1,2,3. Deposit processing is being developed by Steven here and in our fork here. On completion, I aim to unify them. Thanks for still MORE fabulous work, man. You are win.

Dependencies

  1. Gatewayd
  • Provides easy deposit and withdrawal management (and endpoints in Ripple REST)
  • Provides Node.js, Ripple REST API
  1. node-rest-client
  • Easy interfacing with gatewayd api
  1. node-bitcoin
  • Node module providing *coin connection objects
  • Moving to node-dogecoin!
  1. A cryptocurrency daemon(local or remote)
  • These modules aim to be crypto-agnostic, so any daemon with (the de facto standard) bitcoin-compatible RPC calls (sendtoaddress, sendfromaccount...) should do.

Installation

  • Development: clone the repo inside the gatewayd folder (consistent paths). Note the new development branch which is pretty much guaranteed to be broken. :D
    • Install the dependencies in the cloned source folder. Node package on wishlist.
  • Production: npm install inside gatewayd folder.

Tests

Run this tests with mocha

npm install -g mocha
mocha -R spec test/

Usage

  • With Gatewayd started, execute node withdrawal-manager.js.

##Processes:

  1. Automatically pay out externally (cryptocurrency to user crypto address) on notice of withdrawal
  • Poll the RESTful API every 1s (default) or listen for ledger close (rippled api using ripple-lib remote), then check pending_withdrawals (RESTful API endpoint provided by gatewayd)
  • Send RPC request to coin daemon via node-bitcoin
  • Clear withdrawal using RESTful API
  1. Automatically issue IOUs for external deposits (cryptocurrency from user to own crypto address)
  • Listen to coin daemon for received transactions
  • On receipt of assets, submit deposit using gatewayd.data.models.externalAccounts and gatewayd.data.models.externalTransactions as seen on TV

TODO:

  • List unsupported coins

##CAVEAT:

  • Ninobrooks is a javascript noob and makes no pretense that his code is elegant or purdy. He in fact welcomes (begs) others to clean it up and improve it. The only reason he's doing this in the first place is because far more talented people have had more pressing matters to attend to. Also, he's going to stop talking about himself in the third person.

##Thanks!

  • To everyone who donates, contributes code, or has developed a module I'm using. In particular (and besides Ripple Labs in general), thank you @stevenzeiler and others for all your work on gatewayd, and freewil and company for node-bitcoin which has saved me quite some work.

  • The Rock Trading Ltd

Besides being my personal favorite exchange, funding from The Rock was directly responsible for major hardware upgrades. A pair of SSDs in our best server are now named "Rock 1" and "Rock 2". The Rock is a UK-based ripple-integrated exchange and gateway (XRPGA Gateway ftw!) with crypto-fiat trading for EUR, USD, BTC, LTC, DOGE and more, and derivatives. Check them out, sign up, use my promoter code :D therocktrading.com/referral/79 Thanks, Rock. Your donations came at a critical time for us. Your private encouragement via correspondence and promotion of our efforts on Twitter are appreciated, too!

  • Ripple (drafting)

##Donate

  • Presently, raising funds for hardware upgrades. If you would like to donate hardware, please contact me directly!
  • BTC 1K2BZ3XxpRNiNissEHoVcrCv3tEqEsHP28
  • LTC LgaoNgSNxJwyno61edyRUz2ZKFkgPQYV5t
  • DOGE D7U9VyJsStZ23MPgTr2TxGLj4bdfs69b8e
  • Ripples!(XRP) rPyBms1XZtNbF4UFGgM1dDWTmtfDmsfGNs
  • Ironically(?), at least one dev is being paid in Stellars. Contribute those, too! User: ninobrooks

ripple-coins's People

Contributors

xbrooks avatar gw3218 avatar

Watchers

James Cloos 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.