交易为了能够在区块链上发送交易和触发操作,你必须具有Api实例。签名提供程序必须包含与执行者和操作权限相对应的私钥。const { Api, JsonRpc } = require(’eosjs’);const JsSignatureProvider = require(’eosjs/dist/eosjs-jssig’); // development onlyconst fetch = require(’node-fetch’); // node only; not needed in browsersconst { TextDecoder, TextEncoder } = require(’text-encoding’); // node, IE11 and IE Edge Browsersconst privateKeys = [privateKey1];const signatureProvider = new JsSignatureProvider(privateKeys);const rpc = new JsonRpc(‘http://127.0.0.1:8888’, { fetch });const api = new Api({ rpc, signatureProvider, textDecoder: new TextDecoder(), textEncoder: new TextEncoder() });示例Buy ramconst 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,});Stakeconst 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,});示例:Unstakeconst 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,});上一篇:浏览器