Skip to content

ripple-unmaintained/ilp-plugin-xrp-escrow

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ILP Plugin XRP Escrow

ILP ledger plugin using the escrow features of ripple

NOTE: This plugin is deprecated. Instead, use ILP Plugin XRP paychan for symmetric relationships (where both parties keep state about payment channels to one another). Use ILP Plugin XRP Asym Server and ILP Plugin XRP Asym Client for asymmetric relationships (where one party accepts many payment channels and one party acts as a client with no persistent state).

Step 1: create a hot wallet.

This can easily be done with:

npm install
node ./scripts/genKeyPair.js

Store your hot wallet secret (seed) in a text file. Use your hot wallet account (address) in the next step.

For security reasons, and because we're mainly looking at micropayments here anyway, make sure your hot wallet balance never exceeds ~ 0.01 USD. See Issuing and Operational Addresses for more information on how to use hot/warm/cold wallets.

Step 2: fund your hot wallet with some XRP drops.

npm install -g wscat
wscat -c wss://s1.ripple.com
connected (press CTRL+C to quit)
> {"command":"account_info","account":"raymJpdRBoqLjJ7vhLnjo7GFLYrG8j3yey"}
< {"account":"raymJpdRBoqLjJ7vhLnjo7GFLYrG8j3yey","error":"actNotFound","error_code":18,"error_message":"Account not found.","ledger_current_index":29171107,"request":{"account":"raymJpdRBoqLjJ7vhLnjo7GFLYrG8j3yey","command":"account_info"},"status":"error","type":"response","validated":false}

Someone will have to send you some XRP drops to play around with. Ask in https://gitter.im/interledger/Lobby. Now, when you run the account_info command again in wscat, you should see something more like this:

> {"command":"account_info","account":"raymJpdRBoqLjJ7vhLnjo7GFLYrG8j3yey"}
< {"result":{"account_data":{"Account":"raymJpdRBoqLjJ7vhLnjo7GFLYrG8j3yey","Balance":"50000000","Flags":0,"LedgerEntryType":"AccountRoot","OwnerCount":0,"PreviousTxnID":"0000000000000000000000000000000000000000000000000000000000000000","PreviousTxnLgrSeq":0,"Sequence":1,"index":"9B8BF54B62E8A0C9D1BB46CB11A8417479EEA90FFAF9D128E9C66E709A430A60"},"ledger_current_index":29171125,"validated":false},"status":"success","type":"response"}

Step 3: instantiate the plugin.

Now that you have a Ripple wallet, you can use it in combination with other ILP-related npm modules (e.g. ilp-connector), as follows:

const PluginXrpEscrow = require('ilp-plugin-xrp-escrow')

const plugin = new PluginXrpEscrow({
  secret: '<your hot wallet secret>',
  server: 'wss://s1.ripple.com',
  prefix: 'g.crypto.ripple.escrow.' // optional
})

Requires node 7 or higher, to support async/await.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published