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 ");
});
});