Skip to content

A simple wrapper for Multichain's JSON RPC api that parses your input.

Notifications You must be signed in to change notification settings

j-mccloskey/multichain-node

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

49 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

A native Javascript client built for Multichain and Bitcoin

Note: The current version is compatible with Multichain Alpha 21, released 5/16/2016. For previous versions of Multichain, see Releases.

All methods from the Multichain API spec are available. As multichaind is fully compatible with bitcoind, this should work for bitcoin as well.

See commands.js for all methods and their required / optional parameters.

###Parser

The library includes a parser so you can pass an unordered object containing the parameters and omit any optional parameters you want, as seen in the examples below.

You may also pass an ordered array of commands like you would for any JSON RPC client that will not be parsed.

###Promisification

All commands require a callback, but have been tested to work with Bluebird promisification.

###SSL

SSL is supported. Pass your connection parameters as you would to the core HTTPS library.

###Usage

To use in your project:

npm install multichain-node --save

To run the tests:

Make sure you have multichain installed, so that multichaind and multichain-util are on your path.

git clone <the repo>
npm install
npm test

###Examples:

Many more examples in test.js, but here's some basics:

let multichain = require("multichain-node")({
    port: 6282,
    host: '127.0.0.1',
    user: "multichainrpc",
    pass: "somepass"
});

multichain.getInfo((err, info) => {
    if(err){
        throw err;
    }
    console.log(info);
})

multichain.issue({address: someAddress, asset: "zcoin", qty: 50000, units: 0.01, details: {hello: "world"}}, (err, res) => {
    console.log(res)
})

multichain.sendAssetFrom({from: someAddress, to: someOtherAddress, asset: "zcoin", qty: 5}, (err, tx) => {
    console.log(tx);
})

multichain.getAddresses((err, addresses) => {

    multichain.createMultiSig({nrequired: 2, keys: addresses}, (err, wallet) => {
        console.log(wallet)
    })
    
})

multichain.getRawTransaction({txid: someTxId}, (err, tx) => {

    multichain.decodeRawTransaction({"hexstring": tx}, (err, dTx) => {
        console.log(dTx)
    })
})

###Tests

All commands are tested. To run the tests, pull the repo and make sure multichaind and multichain-util are on your path.

From inside the directory, run npm test.

About

A simple wrapper for Multichain's JSON RPC api that parses your input.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 100.0%