Explorar o código

增加云函数

DevYK %!s(int64=2) %!d(string=hai) anos
pai
achega
7be3077c44
Modificáronse 3 ficheiros con 46 adicións e 35 borrados
  1. 2 0
      README.md
  2. 8 2
      model/moralis_sdk.js
  3. 36 33
      routes/sdk.js

+ 2 - 0
README.md

@@ -46,6 +46,8 @@ pm2 logs
 
 ```
 ## 文档
+- [moralis 中文版](https://www.w3cschool.cn/moralis/moralis-39s73nzu.html)
+- [moralis 英文版](https://docs.moralis.io/moralis-dapp/web3-api/rate-limit)
 - [token 技术文档](https://st94nif1cq.feishu.cn/docs/doccnNxG2UwHPCdZXbywgbdy13f)
 - [项目排期](https://st94nif1cq.feishu.cn/docs/doccntqBN5JHQriK7xz1SId3EC0)
 - [node 业务服务流程图](https://st94nif1cq.feishu.cn/docs/doccn45PiFsrLnlDLjs5KXNa57d#)

+ 8 - 2
model/moralis_sdk.js

@@ -28,6 +28,12 @@ var masterInit = false
 var secretInit = false
 
 
+// logger.log('Moralis.settings',Moralis)
+// Moralis.settings.setAPIRateLimit({
+//     anonymous:10, authenticated:20, windowMs:60000
+//   })
+
+
 /**
  * 初始化 moralis
  * https://st94nif1cq.feishu.cn/docs/doccnNxG2UwHPCdZXbywgbdy13f#
@@ -883,7 +889,7 @@ async function getTokenTransfers(opt) {
             return toJson(SUCCEED_CODE, t_1, null);
         } catch (error) {
             logger.error("getTransactions error:", error)
-            return toJson(ERROR_CODE_001, null, error);;
+            return toJson(ERROR_CODE_001, null, error.toString());;
         }
     } else if (options.type == 'transaction_hash') {//根据哈希查询
         try {
@@ -898,7 +904,7 @@ async function getTokenTransfers(opt) {
             return toJson(SUCCEED_CODE, obj, null);
         } catch (error) {
             logger.error("native getTransaction error:", error)
-            return toJson(ERROR_CODE_001, null, error);
+            return toJson(ERROR_CODE_001, null, error.toString());
         }
     } else {
         return toJson(ERROR_CODE_001, null, "This type is not supported.");;

+ 36 - 33
routes/sdk.js

@@ -32,42 +32,45 @@ async function getTransfers(ctx) {
         obj.chain = 'bsc_mainnet'
 
     var temp_obj = { ...obj }
-
-    await moralis.getTokenTransfers(obj).then((result) => {
-        logger.log('getTransfers response', result)
-        ctx.body = result;
-        if (result) {
-            //提交归集任务 native 能获取到 gas 、token 无法获取到 gas 费
-            try {
-                if (temp_obj.address && moralis.isTransferSucceed(result)) {
-                    var log_obj = { ...obj }
-                    log_obj.results = result
-                    log_obj.type = report.REPORT_TYPE.transfer_record
-                    //埋点日志上报-入金检查
-                    report.logReport(log_obj)
-
-                    var json_obj = JSON.parse(result);
-                    //缓存当前交易的 gas 费用
-                    var tr = moralis.getTransferRecordGasFree('native', json_obj, temp_obj.address)
-                    logger.log('getTransferRecordGasFree:', tr, temp_obj.address)
-                    if (tr && tr.totalGasFree > 0) {
-                        logger.log('getTransferRecordGasFree redis_set LAST_TOTAL_BNB_FREE:', tr.totalGasFree.toString())
-                        logger.log('getTransferRecordGasFree redis_set LAST_TOTAL_TOKEN_FREE:', (parseInt(tr.totalGasFree) * parseInt(account_config.TOKEN_GAS_LIMIT)).toString())
-                        redis.redis_set(reids_token_config.LAST_TOTAL_BNB_FREE, tr.totalGasFree.toString());
-                        redis.redis_set(reids_token_config.LAST_TOTAL_TOKEN_FREE, (parseInt(tr.gas_price) * parseInt(account_config.TOKEN_GAS_LIMIT)).toString());
-                    }
-
-                    //提交归集任务
-                    if (temp_obj.address) {
-                        logger.log('pushCollectConisObj>>>', temp_obj.address)
-                        moralis.pushCollectConisObj(temp_obj)
+    // for (let index = 0; index < 20; index++) {
+        await moralis.getTokenTransfers(obj).then((result) => {
+            logger.log('getTransfers response','index='+index, result)
+            ctx.body = result;
+            if (result) {
+                //提交归集任务 native 能获取到 gas 、token 无法获取到 gas 费
+                try {
+                    if (temp_obj.address && moralis.isTransferSucceed(result)) {
+                        var log_obj = { ...obj }
+                        log_obj.results = result
+                        log_obj.type = report.REPORT_TYPE.transfer_record
+                        //埋点日志上报-入金检查
+                        report.logReport(log_obj)
+    
+                        var json_obj = JSON.parse(result);
+                        //缓存当前交易的 gas 费用
+                        var tr = moralis.getTransferRecordGasFree('native', json_obj, temp_obj.address)
+                        logger.log('getTransferRecordGasFree:', tr, temp_obj.address)
+                        if (tr && tr.totalGasFree > 0) {
+                            logger.log('getTransferRecordGasFree redis_set LAST_TOTAL_BNB_FREE:', tr.totalGasFree.toString())
+                            logger.log('getTransferRecordGasFree redis_set LAST_TOTAL_TOKEN_FREE:', (parseInt(tr.totalGasFree) * parseInt(account_config.TOKEN_GAS_LIMIT)).toString())
+                            redis.redis_set(reids_token_config.LAST_TOTAL_BNB_FREE, tr.totalGasFree.toString());
+                            redis.redis_set(reids_token_config.LAST_TOTAL_TOKEN_FREE, (parseInt(tr.gas_price) * parseInt(account_config.TOKEN_GAS_LIMIT)).toString());
+                        }
+    
+                        //提交归集任务
+                        if (temp_obj.address) {
+                            logger.log('pushCollectConisObj>>>', temp_obj.address)
+                            moralis.pushCollectConisObj(temp_obj)
+                        }
                     }
+                } catch (error) {
+                    console.error('pushCollectConisObj error=', error)
                 }
-            } catch (error) {
-                console.error('pushCollectConisObj error=', error)
             }
-        }
-    })
+        })
+    // }
+
+   
 }