Naughty Programmer's Madness

    cutcoinjs

    1.0.2 • Public • Published

    cutcoinjs

    A Cutcoin library written in ES6 JavaScript

    This library has two main parts: a Cutcoin daemon (cutcoind) JSON-RPC API wrapper, daemonRPC.js, and a Cutcoin wallet (cutcoin-wallet-rpc) JSON-RPC API wrapper, walletRPC.js.

    Requirements

    • Node.js

    Installation

    npm install git+https://github.com/cutcoin/cutcoinjs.git

    --save optional

    Testing

    Install dependencies (npm install) and then run mocha tests with npm test

    Usage

    JSON-RPC interfaces and their methods are wrapped in promises. Much more exhaustive examples can be found in the tests

    Autoconnect to Cutcoin daemon (cutcoind)

    const Cutcoin = require('cutcoinjs');
    
    var daemonRPC = new Cutcoin.daemonRPC({ autoconnect: true })
    .then((daemon) => {
      daemonRPC = daemon; // Store daemon interface in global variable
      
      daemonRPC.getblockcount()
      .then(blocks => {
        console.log(blocks);
      })
      .catch(err => {
        console.error(err);
      });
    })
    .catch(err => {
      throw new Error(err);
    });

    Connect to specific Cutcoin daemons

    // const daemonRPC = new Cutcoin.daemonRPC().then(...).catch(...); // Connect with defaults
    // const daemonRPC = new Cutcoin.daemonRPC('127.0.0.1', 24248, 'user', 'pass', 'http').then(...).catch(...); // Example of passing in parameters
    // const daemonRPC = new Cutcoin.daemonRPC({ port: 24248, protocol: 'https' }).then(...).catch(...); // Parameters can be passed in as an object/dictionary
    const daemonRPC = new Cutcoin.daemonRPC() // Connect with defaults
    .then(daemon => {
      daemonRPC = daemon; // Store daemon interface in global variable
    
      daemonRPC.getblockcount()
      .then(height => {
        console.log(height);
      })
      .catch(err => {
        console.error(err);
      });
    })
    .catch(err => {
      throw new Error(err);
    });

    Connect to Cutcoin wallet (cutcoin-wallet-rpc)

    // const walletRPC = new Cutcoin.walletRPC('127.0.0.1', 24250, 'user', 'pass', 'http').then(...).catch(...); // Example of passing in parameters
    // const walletRPC = new Cutcoin.walletRPC({ port: 24250, protocol: 'https' }).then(...).catch(...); // Parameters can be passed in as an object/dictionary
    // const walletRPC = new Cutcoin.walletRPC({ autoconnect: true }).then(...).catch(...); // Autoconnect
    const walletRPC = new Cutcoin.walletRPC() // Connect with defaults
    .then(wallet => {
      walletRPC = wallet; // Store wallet interface in global variable
    
      walletRPC.create_wallet('cutcoin_wallet', '')
      .then(new_wallet => {
        walletRPC.open_wallet('cutcoin_wallet', '')
        .then(wallet => {
          walletRPC.getaddress()
          .then(balance => {
            console.log(balance);
          })
          .catch(err = {
            console.error(err);
          });
        })
        .catch(err = {
          console.error(err);
        });
      })
      .catch(err = {
        console.error(err);
      });
    })
    .catch(err = {
      throw new Error(err);
    });

    Keywords

    Install

    npm i cutcoinjs

    DownloadsWeekly Downloads

    4

    Version

    1.0.2

    License

    MIT

    Unpacked Size

    272 kB

    Total Files

    17

    Last publish

    Collaborators

    • cutcoin