爲了可以在區塊鏈上發送交易和觸發操做,你必須具備Api
實例。node
簽名提供程序必須包含與執行者和操做權限相對應的私鑰。segmentfault
const { Api, JsonRpc } = require('eosjs'); const JsSignatureProvider = require('eosjs/dist/eosjs-jssig'); // development only const fetch = require('node-fetch'); // node only; not needed in browsers const { TextDecoder, TextEncoder } = require('text-encoding'); // node, IE11 and IE Edge Browsers const privateKeys = [privateKey1]; const signatureProvider = new JsSignatureProvider.default(privateKeys); const rpc = new JsonRpc('http://127.0.0.1:8888', { fetch }); const api = new Api({ rpc, signatureProvider, textDecoder: new TextDecoder(), textEncoder: new TextEncoder() });
const result = await api.transact({ actions: [{ account: 'eosio', name: 'buyrambytes', authorization: [{ actor: 'useraaaaaaaa', permission: 'active', }], data: { payer: 'useraaaaaaaa', receiver: 'useraaaaaaaa', bytes: 8192, }, }] }, { blocksBehind: 3, expireSeconds: 30, });
const result = await api.transact({ actions: [{ account: 'eosio', name: 'delegatebw', authorization: [{ actor: 'useraaaaaaaa', permission: 'active', }], data: { from: 'useraaaaaaaa', receiver: 'useraaaaaaaa', stake_net_quantity: '1.0000 SYS', stake_cpu_quantity: '1.0000 SYS', transfer: false, } }] }, { blocksBehind: 3, expireSeconds: 30, });
const result = await api.transact({ actions: [{ account: 'eosio', name: 'undelegatebw', authorization: [{ actor: 'useraaaaaaaa', permission: 'active', }], data: { from: 'useraaaaaaaa', receiver: 'useraaaaaaaa', unstake_net_quantity: '1.0000 SYS', unstake_cpu_quantity: '1.0000 SYS', transfer: false, } }] }, { blocksBehind: 3, expireSeconds: 30, });
const result = await api.transact({ actions: [{ account: 'eosio', name: 'newaccount', authorization: [{ actor: 'useraaaaaaaa', permission: 'active', }], data: { creator: 'useraaaaaaaa', name: 'mynewaccount', owner: { threshold: 1, keys: [{ key: 'PUB_R1_6FPFZqw5ahYrR9jD96yDbbDNTdKtNqRbze6oTDLntrsANgQKZu', weight: 1 }], accounts: [], waits: [] }, active: { threshold: 1, keys: [{ key: 'PUB_R1_6FPFZqw5ahYrR9jD96yDbbDNTdKtNqRbze6oTDLntrsANgQKZu', weight: 1 }], accounts: [], waits: [] }, }, }, { account: 'eosio', name: 'buyrambytes', authorization: [{ actor: 'useraaaaaaaa', permission: 'active', }], data: { payer: 'useraaaaaaaa', receiver: 'mynewaccount', bytes: 8192, }, }, { account: 'eosio', name: 'delegatebw', authorization: [{ actor: 'useraaaaaaaa', permission: 'active', }], data: { from: 'useraaaaaaaa', receiver: 'mynewaccount', stake_net_quantity: '1.0000 SYS', stake_cpu_quantity: '1.0000 SYS', transfer: false, } }] }, { blocksBehind: 3, expireSeconds: 30, });