Newly Practicing Mortician
    Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »

    cryptoenginepublic

    CryptoEngine

    Monitor incoming transactions and validates transactions (based on minimum confirmations). It can connect to litecoind, bitcoind and other equivalent daemon.

    It connects to mongodb to save all his data. NodeJS library, and the code is quite clean.

    Support

    I can provide support to use it or customize it, contact me at : as AT unitech DOT io

    Donate at :

    LTC : LS8upeXjDbEyGZ4TwYRWdJeUdbnftRMibW

    BTC : 1BujZemR8mjUc4zSZTV8UHHQ8mupGTPsfj

    Quick example

    A little example once you have your litecoind daemon ready (if not go to the chapter How to install litecoind)

    var CryptoEngine = require('./');
     
    var ltc1 = new CryptoEngine({
      instance_name : 'LTC1',
      minimum_confirmations : 5,
      refresh_ratio : 2,
      mongo_database : 'mongodb://localhost/devdb4',
      crypto_daemon : {
        host : process.env.LITECOIND_HOST,
        port : process.env.LITECOIND_PORT,
        user : process.env.LITECOIND_USER,
        pass : process.env.LITECOIND_PASS
      }
    });
     
    ltc1.channel.on('ready', function(infos) {
      console.log('Successfully connected = ', infos);
    });
     
    ltc1.channel.on('block:new', function(block) {
      console.log('new block', block);
    });
     
    ltc1.channel.on('transaction:confirmation:new', function(tx) {
      console.log('New confirmation = ', tx);
    });
     
    ltc1.channel.on('transaction:confirmation:validated', function(tx) {
      console.log('Transaction validated =', tx);
    });
     
    ltc1.channel.on('transaction:incoming', function(tx) {
      console.log('New transaction incoming = ', tx);
    });

    Debug mode

    $ DEBUG="crypto:*" node example.js

    Events emitted through the channel

    • ready
    • block:new
    • transaction:confirmation:new
    • transaction:confirmation:validated
    • transaction:incoming

    How to install litecoind (or equivalent daemon)

    First, the basic install (for ubuntu) :

    $ sudo apt-get update
    $ sudo apt-get install build-essential libssl-dev libdb5.1-dev libdb5.1++-dev libboost-all-dev git
    $ git clone https://github.com/litecoin-project/litecoin
    cd litecoin/src
    $ make -j4 -f makefile.unix USE_UPNP=
    $ ne ~/.litecoind/litecoin.conf # cp what litcoind say 

    Then to make litecoind synchronized faster with the network (minutes instead of days) :

    $ sudo apt-get install transmission-cli
    $ mkdir dat
    $ transmission-cli http://www.lurkmore.com/litecoin-bootstrap/litecoin-bootstrap.torrent -w dat
    $ xz -d litecoin-bootstrap/bootstrap.dat.xz
    $ cp bootstrap.dat ~/.litecoin/

    Finally launch it :

    $ ./litecoind -daemon -dbcache=1000

    License

    MIT

    Keywords

    none

    install

    npm i cryptoengine

    Downloadsweekly downloads

    4

    version

    1.0.1

    license

    none

    repository

    githubgithub

    last publish

    collaborators

    • avatar