eosjs 连接nodeos 并实现转账

1 篇文章 0 订阅

最近编写eos智能合约需要做页面开发,简单得eosjs连接nodeos弄了好久都没好,最后弄了好长时间,看了好些文章才实现了一个简单得连接,至少可以转账了。希望对跟我一样的人有所帮助。

首先node安装

 

测试如下
C:\Users\gentlemen_yan>node -v
v10.13.0

eosjs安装

 

D:\code\work\eosjstest>npm install eosjs@beta node-fetch text-encoding eosjs-ecc
npm WARN deprecated text-encoding@0.7.0: no longer maintained
npm WARN deprecated text-encoding@0.6.4: no longer maintained
npm WARN saveError ENOENT: no such file or directory, open 'D:\code\work\eosjstest\package.json'
npm WARN enoent ENOENT: no such file or directory, open 'D:\code\work\eosjstest\package.json'
npm WARN eosjstest No description
npm WARN eosjstest No repository field.
npm WARN eosjstest No README data
npm WARN eosjstest No license field.

+ eosjs@20.0.0-beta2
+ node-fetch@2.3.0
+ text-encoding@0.7.0
+ eosjs-ecc@4.0.4
added 2 packages from 10 contributors and updated 3 packages in 4.163s

 

 

D:\code\work\eosjstest>node eostest.js
{ transaction_id:
   '253f4d3b9b1f34dde9a482646901774aaad95b14989824f4b765a99e92b31b47',
  processed:
   { id:
      '253f4d3b9b1f34dde9a482646901774aaad95b14989824f4b765a99e92b31b47',
     block_num: 3160790,
     block_time: '2018-11-27T14:38:10.500',
     producer_block_id: null,
     receipt:
      { status: 'executed', cpu_usage_us: 488, net_usage_words: 16 },
     elapsed: 488,
     net_usage: 128,
     scheduled: false,
     action_traces: [ [Object] ],
     except: null } }

D:\code\work\eosjstest>

eostest.js文件内容

// import Api from 'eosjs';

// import JsonRpc from 'eosjs';

// import RpcError from 'eosjs';

// import JsSignatureProvider from 'eosjs';

 

const { Api, JsonRpc, RpcError, JsSignatureProvider } = require('eosjs');

const fetch = require('node-fetch'); // node only; not needed in browsers

const { TextDecoder, TextEncoder } = require('text-encoding'); // node, IE11 and IE Edge Browsers

 

const defaultPrivateKey = "5K82FMzUgkMMhyrXxMwpytvwPHjbtib31vDxati6zFhHzvV5he9"; // useraaaaaaaa

const signatureProvider = new JsSignatureProvider([defaultPrivateKey]);

 

const rpc = new JsonRpc('http://127.0.0.1:8888', { fetch });

 

const api = new Api( {rpc, signatureProvider, textDecoder: new TextDecoder(), textEncoder: new TextEncoder() });


 

try {

(async () => {

const result = await api.transact({

actions: [{

account: 'eosio.token',

name: 'transfer',

authorization: [{

actor: 'yan1',

permission: 'advert',

}],

data: {

from: 'yan1',

to: 'yan2',

quantity: '0.1230 EOS',

memo: '',

},

}]

}, {

blocksBehind: 3,

expireSeconds: 30,

});

console.dir(result);

})();

} catch (e) {

console.log('\nCaught exception: ' + e);

if (e instanceof RpcError)

console.log(JSON.stringify(e.json, null, 2));

}

 

 

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值