transfer.js
1.15 KB
// eslint-disable-next-line strict
const Subscription = require('egg').Subscription;
const nodeSdk = require('@ddn/node-sdk').default;
class Transfer extends Subscription {
static get schedule() {
return {
interval: '10s',
type: 'worker',
};
}
async subscribe() {
const { ctx, config } = this;
const trsData = await ctx.model.Transfer.findAll({ where: { finish: false } });
console.log(trsData)
trsData.map(async item => {
// if (item.id != "e2475660-9942-11ec-b873-171b64126906") {
// return
// }
const transaction = await nodeSdk.transaction.createTransaction(item.toAddress, item.amount, item.remark || '网络升级转账', config.naclSecret);
const trs = JSON.stringify({ transaction });
// 上链操作
const data = await this.service.sdk.pushTransaction(trs, config.naclUrl);
console.log('向新网地址转账结果', data)
if (data.success) {
ctx.model.Transfer.update({ finish: true }, { where: { id: item.id } });
} else {
ctx.model.Transfer.update({ finish: false }, { where: { id: item.id } });
}
});
}
}
module.exports = Transfer;