UNPKG

nerve-sdk-js

Version:
99 lines (81 loc) 3.11 kB
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } var nuls = require('../index'); var { getNulsBalance, inputsOrOutputs, validateTx, broadcastTx } = require('./api/util'); /** * @disc: 创建节点 dome * @date: 2019-10-18 10:37 * @author: Wave */ var pri = ''; var pub = '024bafc4a364659db1674d888bd3e0e7ab11cc4ca02dca95d548637c6b66d63f42'; var fromAddress = "TNVTdN9iJcMNiTttfV4Wdi6wUp3k8NteoebYo"; var amount = 2000100000000; var remark = 'new agent...'; var agent = { agentAddress: fromAddress, packingAddress: "TNVTdN9i3GqhhTXjzqBEqmcp28yYx3BPGkQDB", rewardAddress: fromAddress, deposit: 2000100000000 }; //调用创建节点 newAgent(pri, pub, fromAddress, 4, 1, amount, agent); /** * 创建节点 * @param pri * @param pub * @param fromAddress * @param assetsChainId * @param assetsId * @param amount * @param agent * @returns {Promise<*>} */ function newAgent(_x, _x2, _x3, _x4, _x5, _x6, _x7) { return _newAgent.apply(this, arguments); } function _newAgent() { _newAgent = _asyncToGenerator(function* (pri, pub, fromAddress, assetsChainId, assetsId, amount, agent) { var balanceInfo = yield getNulsBalance(fromAddress); //console.log(balanceInfo); if (!balanceInfo.success) { console.log("获取账户balanceInfo错误"); return; } var transferInfo = { fromAddress: fromAddress, assetsChainId: assetsChainId, assetsId: assetsId, amount: amount, fee: 100000 }; var newAmount = transferInfo.amount + transferInfo.fee; if (balanceInfo.data.balance < newAmount) { console.log("余额不住,请更换账户"); return; } var inOrOutputs = yield inputsOrOutputs(transferInfo, balanceInfo.data, 4); if (!inOrOutputs.success) { console.log("inputOutputs组装失败!"); return; } //console.log(inOrOutputs); var tAssemble = yield nuls.transactionAssemble(inOrOutputs.data.inputs, inOrOutputs.data.outputs, remark, 4, agent); var txhex = yield nuls.transactionSerialize(pri, pub, tAssemble); //console.log(txhex); var result = yield validateTx(txhex); //console.log(result); if (result) { console.log(result.data.value); var results = yield broadcastTx(txhex); if (results && result.data.value) { console.log("交易完成"); } else { console.log("广播交易失败"); } } else { console.log("验证交易失败"); } }); return _newAgent.apply(this, arguments); }