Skip to content

hyperdivision/dazaar-eos-stream

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dazaar-eos-stream

Dazaar subscriber implementation for EOS.

Usage

const deos = require('dazaar-eos-stream')

const { subscription } = deos({
  rpc: ..., // set rpc endpoint (must have the history plugin)
  chainId: ..., // set the chain id
  privateKey: ..., // eos private key (only needed if you wanna pay for a subscription)
  account: ... // set your eos account here
})

// watch for incoming transactions to your account with the below memo.
// the subscription should match for a spend rate at 0.001 EOS/s
const sub = subscription('dazaar key hash: deadbeef', '0.001 EOS/s')

sub.on('update', function () {
  // new transaction found on the chain matching the memo filter above
})

// At the current time, is there money left on the subscription based on the
// spend rate specified?
console.log(sub.active())

Currently the rpc and chainId defaults to the CryptoKylin EOS testnet. Once this module is fully stable it will default to the main net.

API

d = deos(options)

Make a new instance. Options include:

{
  rpc: chainRpcEndpoint, // must have the history plugin enabled
  chainId: ..., // the chain id
  account: ..., // your account id
  privateKey: ..., // needed for payments
  contract: ..., // the contract to use (defaults to eosio.token)
  permission: ... // the account perm to use (defaults to active)
}

d.pay(destinationAccount, amount, memo, [callback])

Pay for a subscription. amount should be a string specifying how much you want to pay (ie 0.1234 EOS fx) and memo should be the Dazaar filter specifying the hash of your Dazaar Noise public key.

sub = d.subscription(dazaarFilter, spendRate)

Create a subscription monitor. Dazaar filter should be the filter you are watching and spend rate should be how many EOS you want the buyer to pay (ie 0.0001 EOS/s fx).

sub = d.subscription(dazaarFilter, dazaarCardPayment)

Same as above but configures the payment schedule using the dazaar card payment object. See https://github.com/bitfinexcom/dazaar-card for more info.

bool = sub.active([minSeconds])

Tells you if the filter has any money left based on the spend rate. Set minSeconds to the minimum amount of seconds they should have money left for (defaults to 0).

sub.on('update')

Emitted everytime a new transaction is discovered on the chain.

sub.on('synced')

Emitted when the subscription is fully synchronised with the EOS blockchain

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 100.0%