删除 app.js

This commit is contained in:
lizixuan 2025-04-10 10:08:21 +00:00
parent efd1a7193a
commit 239b06227c
1 changed files with 0 additions and 189 deletions

189
app.js
View File

@ -1,189 +0,0 @@
const schedule = require("node-schedule");
// const executeWithRetry = require("./public/retry")
const Times = require("./public/times");
const HashRate = require("./src/hashrate");
const {Report, ReportEnx} = require("./src/report");
const Confirm = require("./src/confirm");
const Distribution = require("./src/distribution");
const { Balance, DGBBlance } = require("./src/blanace");
const Stats = require("./src/stat");
const ClearDBData = require("./src/clear")
const Notice = require("./src/notice");
const method = process.argv[2];
const methods = ["hashrate", "report", "clear", "distribution", "confirm", "balance", "stats", "notice"];
if (!methods.includes(method)) {
throw `暂不支持${method}方法`;
}
const coin = process.argv[3];
const coins = ["nexa", "mona", "grs", "dgbq", "dgbs", "dgbo", "rxd", "enx", "alph"];
if (!coins.includes(coin)) {
throw `暂不支持${coin}`;
}
if (method === "hashrate") {
const hashrate = new HashRate(coin);
schedule.scheduleJob({ minute: [0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55], second: [30] }, async () => {
const ymd_now = Times.utcTime(Date.now().valueOf());
const ymd = ymd_now.split(":");
const end_time = ymd[0] + ":" + ymd[1] + ":" + "00";
await hashrate.insert_hashrate_miners_table(end_time);
const currentMinute = new Date().getMinutes();
const data = await hashrate.query_hashrate_miners_accepts(end_time);
if (currentMinute === 0 || currentMinute === 30) {
await hashrate.insert_mhs(data);
await hashrate.insert_mhs_real(data);
} else {
await hashrate.insert_mhs_real(data);
}
});
}
if (method === "report") {
let report
if(coin === "enx"){
report = new ReportEnx(coin);
} else {
report = new Report(coin);
}
let interval = 60000;
if (coin === "rxd") {
interval = 300000;
} else if (coin === "nexa") {
interval = 120000;
}
setInterval(() => {
report.main();
}, interval);
}
// if (method === "confirm") {
// // schedule.scheduleJob({hour:[1], minute:[30], second:[0]}, async () =>{
// // confirm.main();
// // })
// let interval = 600000;
// if (coin === "rxd") {
// interval = 1800000;
// }
// const confirm = new Confirm(coin);
// setInterval(() => {
// confirm.main();
// }, interval);
// }
if (method === "confirm") {
const confirm = new Confirm(coin);
schedule.scheduleJob({hour:[1], minute:[30], second:[0]}, async () =>{
confirm.main();
})
}
if (method === "distribution") {
const distribution = new Distribution(coin);
schedule.scheduleJob({ hour: [0], minute: [1], second: [0] }, async () => {
const now_ts = Date.now().valueOf();
const last_ts = now_ts - 1000 * 60 * 60 * 24;
const ymd_now = Times.utcTime(now_ts);
const ymd_last = Times.utcTime(last_ts);
const end_time = ymd_now.split(" ")[0] + " 00:00:00";
const start_time = ymd_last.split(" ")[0] + " 00:00:00";
await distribution.main(start_time, end_time);
});
}
// if (method === "balance") {
// const special_coins = ["dgbo", "dgbs", "dgbq"];
// let balance;
// if (special_coins.includes(coin)) {
// balance = new DGBBlance(coin);
// } else {
// balance = new Balance(coin);
// }
// balance
// .main()
// .then(() => {
// console.log("ok");
// })
// .catch((err) => {
// console.log(err);
// })
// .finally(() => {
// process.exit(0);
// });
// }
if (method === "balance") {
const special_coins = ["dgbo", "dgbs", "dgbq"];
let balance;
if (special_coins.includes(coin)) {
balance = new DGBBlance(coin);
} else {
balance = new Balance(coin);
}
let hour = 4
if(coin === "rxd"){
hour = 9
}
async function task(balance) {
let count = 0; // 让 count 成为 task 内部变量,避免多个 schedule 共享 count
const last_height = await balance.node.getblockcount()
while (count < 36) { // 最多执行 36 次 (6小时)
const enable = await balance.query_now_height(last_height);
if (enable) {
await balance.main();
console.log(`${coin}转账已完成`);
return; // 成功执行后退出循环
}
console.log(`等待中... (已等待 ${count * 10} 分钟)`);
await balance.sleep(1000 * 60 * 10); // 休眠 10 分钟
count++;
}
console.log("等待超时,任务结束!");
}
schedule.scheduleJob({hour: [hour], minute: [10], second: [0]}, async () => {
await task(balance);
});
}
if (method === "stats") {
const stats = new Stats(coin);
stats.caculate_user_should_distribution("2024-11-28 00:00:00");
}
if (method === "clear") {
const clear = new ClearDBData(coin);
clear
.clearSharesDB(72)
.then((res) => {
console.log("sharesdb:ok");
})
.then(() => {
clear.clearHashrateDB();
})
.then(() => {
console.log("hashratedb:ok");
})
.catch((err) => {
console.log(err);
})
.finally(() => {
process.exit(0);
});
// clear.clearPoolDB("2024-10-11 00:00:00", "2024-12-23 00:00:00")
}
if (method === "notice") {
const notice = new Notice(coin);
schedule.scheduleJob({hour:[9], minute:[30], second:[0]}, () =>{
notice.main()
})
}