Skip to content

Latest commit

 

History

History
148 lines (99 loc) · 2.98 KB

README.md

File metadata and controls

148 lines (99 loc) · 2.98 KB

MOAC JavaScript API version 0.1.8.

This is the MOAC compatible JavaScript API which implements the Generic JSON RPC spec as described in the Chain3.md. It's available on npm as a node module, for bower and component as an embeddable js and as a meteor.js package.

Some of the methods require running a local MOAC node to use this library.

Installation

Node.js

npm install chain3

As Browser module

Bower

bower install chain3

Meteor.js

meteor add moaclib:chain3
  • Include chain3.min.js in your html file. (not required for the meteor package)

Usage

Use the chain3 object directly from global namespace:

var Chain3 = require('chain3');
var chain3 = new Chain3();
console.log(chain3); // {mc: .., db: ..., net: ...} // it's here!

Set a provider (HttpProvider)

if (typeof chain3 !== 'undefined') {
  chain3 = new Chain3(chain3.currentProvider);
} else {
  // set the provider you want from Chain3.providers
  chain3 = new Chain3(new Chain3.providers.HttpProvider("http://localhost:8545"));
}

Set a provider (HttpProvider using HTTP Basic Authentication)

chain3.setProvider(new chain3.providers.HttpProvider('http://host.url', 0, BasicAuthUsername, BasicAuthPassword));

There you go, now you can use it:

var coinbase = chain3.mc.coinbase;
var balance = chain3.mc.getBalance(coinbase);

More examples are under the example directory

Contribute!

Requirements

  • Node.js
  • npm
sudo apt-get update
sudo apt-get install nodejs
sudo apt-get install npm
sudo apt-get install nodejs-legacy

Building (gulp)

Require install gulp (https://gulpjs.com/) in the system:

npm run-script build

Testing (mocha)

Test all cases. May need to install package mocha first.

mocha

Test a singe function.

mocha test/chain3.mc.coinbase.js 

Some examples

send_mc

Example codes to send moac through signed transaction.

var rawTx = {
      from: src.addr,
      nonce: chain3.intToHex(txcount),
      gasPrice: chain3.intToHex(2000000000),
      gasLimit: chain3.intToHex(2000),
      to: '0xf1f5b7a35dff6400af7ab3ea54e4e637059ef909',
      value: chain3.intToHex(chain3.toSha(value, 'mc')), 
      data: '0x00',
      chainId: chainid
    }
	
var cmd1 = chain3.signTransaction(rawTx, src["key"]);
    
chain3.mc.sendRawTransaction(cmd1, function(err, hash) {
    if (!err){
        console.log("Succeed!: ", hash);
        return hash;
    }else{
        console.log("Chain3 error:", err.message);
        return err.message;
    }

});

contract_deploy

Deploy a contract through chain3 RPC calls. This example requires install solc solc

build a web server to access the MOAC network using this API library.

Accounts use the following library for generating private key.

browserify-cryptojs v0.3.1