timer.js 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. var { moralis_config, reids_token_config, account_config, timer_config } = require('../config/config.js')
  2. const redis = require("./redis_db") //导入 db.js
  3. const mysql = require("./mysql_db")
  4. const moralis = require("./moralis_sdk") //导入 db.js
  5. var utils = require('./utils.js');
  6. const interval_delay_time = 5000;
  7. const start_delay_time = 1000;
  8. // 定时任务,归集操作
  9. // setInterval(timedCollectCoins, 10000)
  10. var index = 0;
  11. if (timer_config.OPEN_TIMED_COLLECT_COINS) {
  12. setTimeout(async () => {
  13. while (true) {
  14. await timedCollectCoins();
  15. await utils.sleep(interval_delay_time);
  16. }
  17. }, start_delay_time);
  18. }
  19. async function exec(element) {
  20. console.log('exec in:', element.user_address, element.chain);
  21. var ret = await moralis.collectCoins({
  22. chain: element.chain,
  23. address: element.user_address
  24. });
  25. // var ret = await moralis.collectCoins({
  26. // chain: element.chain,
  27. // address: '0x7C7401fcc82D1e53C4090561c3e6fde80d74e317'
  28. // });
  29. console.log('exec out:', ret);
  30. }
  31. async function timedCollectCoins() {
  32. console.log('timedCollectCoins exec index', index)
  33. /**
  34. * RowDataPacket {
  35. id: 2,
  36. chain: 'bsc_testnet',
  37. user_address: '0xE53B6b0789C0B6795712BF8703B43fCa627d29f1',
  38. user_private_key: 'M/rzPL+gOnaD5S5C8ocGMdcHmpT48XHRlDBXCa0swQGoQttHbnvdOmX3Mxw6OkInSooN45WXv/Rnf+hL/dYO+XBe5EaI5Lnu+HGEjsEMlqM='
  39. }
  40. */
  41. var chainInfos = await mysql.queryAllUserPrivateKeyAndUserAddress();
  42. // console.log('chainInfo', chainInfo);
  43. if (chainInfos && Array.isArray(chainInfos) && chainInfos.length > 0) {
  44. for (var element of chainInfos) {
  45. if (element.user_address != account_config.WELLET_PUBLIC_KEY) {
  46. await exec(element);
  47. }
  48. }
  49. }
  50. index++;
  51. }