eos-service & eos-contract-wrapper

eos-service

简单的包装了eosjs, 让 transact的调用看起来更简洁, github : https://github.com/clockknock/eos.service

安装依赖

npm install eos-service

导入包

let EosService=require("eos-service");
let NET_CONFIG = {//your net config(test net or main net)
    blockchain: 'eos',
    protocol: 'http',
    host: 'localhost',
    port: 80,
    chainId: 'cf057bbfb72640471fd910bcb67639c22df9f92470936cddc1ade0e2f2e7dc4f',
    private_key: "5KQwrPbwdL6PhXujxW37FSSQZ1JiwsST4cqQzDeyXtP79zkvFD3"//the private key to the actor

};
let eosService = new EosService(Config.NET_CONFIG);

使用

let data = {
    from: "alice",
    to: "bob",
    quantity: "1.0000 EOS",
    memo: "transfer test"
};
let receipt = await eosService.pushAction("eosio.token", "transfer", "alice", data);
console.info(JSON.stringify(receipt, null, 2), "\n ");

更多使用例子请见 here

eos-contract-wrapper

通过getAbi获取合约的abi, 再使用fs创建合约对象的js文件,以简洁的调用eos合约的函数, github : https://github.com/clockknock/eos-contract-wrapper

clone项目

从githubclone后于项目根目录npm install安装依赖.

修改配置

config 文件夹中更改配置:

let config = {
    NET_CONFIG: {
        blockchain: 'eos',
        protocol: 'http',
        host: 'localhost',
        port: 80,
        chainId: 'cf057bbfb72640471fd910bcb67639c22df9f92470936cddc1ade0e2f2e7dc4f',
        private_key: "5KQwrPbwdL6PhXujxW37FSSQZ1JiwsST4cqQzDeyXtP79zkvFD3"
    },
    USE_EOSSERVICE:true,
    CONTRACTS: ["eosio.token"]
};

module.exports = config;

通过USE_EOSSERVICE参数配置是否使用我的eos-service,如果为false,则是使用eosjs.在CONTRACTS中添加你已经部署好的合约的名字.

使用

回到 src文件夹并运行index.js来创建 contract wrapper, 你的合约对象会生成在根目录的contracts文件夹下,调用的例子可见 here, 只需要传入相应参数即可获得对应的交易收据.

let EosToken = require('../contracts/eosio.token');

describe('test contract', function () {
    it('test eosio.token transfer', async () => {
        let receipt = await eosToken.transfer("alice", "bob", "1.0000 EOS", "test contract wrapper");
        console.info(JSON.stringify(receipt, null, 2), "\n ");
    });
});

你可能感兴趣的:(eos-service & eos-contract-wrapper)