A collection of Node.js modules to facilitate integration & automation of new coins into a ripple gateway
- That sure is a mouthful. It's a connector for gatewayd for all coins (or a very large majority).
##Progress
- Withdrawal processing
- Finished but needs to be polished. (Thanks for the help, McShane!)
- 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.
- Provides easy deposit and withdrawal management (and endpoints in Ripple REST)
- Provides Node.js, Ripple REST API
- Easy interfacing with gatewayd api
- Node module providing *coin connection objects
- Moving to node-dogecoin!
- 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.
- 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.
Run this tests with mocha
npm install -g mocha
mocha -R spec test/
- With Gatewayd started, execute
node withdrawal-manager.js
.
##Processes:
- 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
- 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
- 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.
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