@abtnode/core 1.16.11-beta-8e4c6e5c → 1.16.11-beta-069c3537

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/lib/util/blocklet.js +24 -2
  2. package/package.json +17 -17
@@ -101,6 +101,9 @@ const { validate: validateEngine, get: getEngine } = require('../blocklet/manage
101
101
  const isRequirementsSatisfied = require('./requirement');
102
102
  const { getDidDomainForBlocklet } = require('./get-domain-for-blocklet');
103
103
  const { expandBundle, findInterfacePortByName, prettyURL, getNFTState, templateReplace } = require('./index');
104
+ const externalIpUtil = require('./get-accessible-external-node-ip');
105
+ const { getIpDnsDomainForBlocklet } = require('./get-domain-for-blocklet');
106
+ const { replaceDomainSlot } = require('./index');
104
107
 
105
108
  const getComponentConfig = (meta) => {
106
109
  const components = meta.components || meta.children || [];
@@ -1520,6 +1523,22 @@ const getConfigFromPreferences = (blocklet) => {
1520
1523
  return result;
1521
1524
  };
1522
1525
 
1526
+ const getBlockletURLForLauncher = async ({ blocklet, nodeInfo }) => {
1527
+ let nodeIp = await externalIpUtil.getFromCache();
1528
+ if (process.env.ABT_NODE_HOST) {
1529
+ // 开发调试用
1530
+ nodeIp = process.env.ABT_NODE_HOST;
1531
+ }
1532
+
1533
+ if (nodeIp) {
1534
+ const ipEchoDomain = getIpDnsDomainForBlocklet(blocklet);
1535
+ return `https://${replaceDomainSlot({ domain: ipEchoDomain, nodeIp })}`;
1536
+ }
1537
+
1538
+ const didDomain = getDidDomainForBlocklet({ appPid: blocklet.appPid, didDomain: nodeInfo.didDomain });
1539
+ return `https://${didDomain}`;
1540
+ };
1541
+
1523
1542
  const consumeServerlessNFT = async ({ nftId, nodeInfo, blocklet }) => {
1524
1543
  try {
1525
1544
  const state = await getNFTState(blocklet.controller.chainHost, nftId);
@@ -1527,13 +1546,15 @@ const consumeServerlessNFT = async ({ nftId, nodeInfo, blocklet }) => {
1527
1546
  throw new Error(`get nft state failed, chainHost: ${blocklet.controller.chainHost}, nftId: ${nftId}`);
1528
1547
  }
1529
1548
 
1530
- const wallet = getNodeWallet(nodeInfo.sk);
1531
- const appURL = blocklet.environments.find((item) => item.key === 'BLOCKLET_APP_URL').value;
1549
+ const appURL = await getBlockletURLForLauncher({ blocklet, nodeInfo });
1550
+
1551
+ logger.info('app url when consuming nft', { appURL, nftId });
1532
1552
 
1533
1553
  const body = { nftId, appURL };
1534
1554
 
1535
1555
  const { launcherUrl } = state.data.value;
1536
1556
 
1557
+ const wallet = getNodeWallet(nodeInfo.sk);
1537
1558
  const func = async () => {
1538
1559
  const { data } = await axios.post(joinURL(launcherUrl, '/api/serverless/consume'), body, {
1539
1560
  headers: {
@@ -1994,4 +2015,5 @@ module.exports = {
1994
2015
  ensureAppLogo,
1995
2016
  getBlockletDidDomainList,
1996
2017
  shouldCleanExpiredBlocklet,
2018
+ getBlockletURLForLauncher,
1997
2019
  };
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "publishConfig": {
4
4
  "access": "public"
5
5
  },
6
- "version": "1.16.11-beta-8e4c6e5c",
6
+ "version": "1.16.11-beta-069c3537",
7
7
  "description": "",
8
8
  "main": "lib/index.js",
9
9
  "files": [
@@ -19,18 +19,18 @@
19
19
  "author": "wangshijun <wangshijun2010@gmail.com> (http://github.com/wangshijun)",
20
20
  "license": "Apache-2.0",
21
21
  "dependencies": {
22
- "@abtnode/auth": "1.16.11-beta-8e4c6e5c",
23
- "@abtnode/certificate-manager": "1.16.11-beta-8e4c6e5c",
24
- "@abtnode/constant": "1.16.11-beta-8e4c6e5c",
25
- "@abtnode/cron": "1.16.11-beta-8e4c6e5c",
26
- "@abtnode/logger": "1.16.11-beta-8e4c6e5c",
27
- "@abtnode/models": "1.16.11-beta-8e4c6e5c",
28
- "@abtnode/queue": "1.16.11-beta-8e4c6e5c",
29
- "@abtnode/rbac": "1.16.11-beta-8e4c6e5c",
30
- "@abtnode/router-provider": "1.16.11-beta-8e4c6e5c",
31
- "@abtnode/static-server": "1.16.11-beta-8e4c6e5c",
32
- "@abtnode/timemachine": "1.16.11-beta-8e4c6e5c",
33
- "@abtnode/util": "1.16.11-beta-8e4c6e5c",
22
+ "@abtnode/auth": "1.16.11-beta-069c3537",
23
+ "@abtnode/certificate-manager": "1.16.11-beta-069c3537",
24
+ "@abtnode/constant": "1.16.11-beta-069c3537",
25
+ "@abtnode/cron": "1.16.11-beta-069c3537",
26
+ "@abtnode/logger": "1.16.11-beta-069c3537",
27
+ "@abtnode/models": "1.16.11-beta-069c3537",
28
+ "@abtnode/queue": "1.16.11-beta-069c3537",
29
+ "@abtnode/rbac": "1.16.11-beta-069c3537",
30
+ "@abtnode/router-provider": "1.16.11-beta-069c3537",
31
+ "@abtnode/static-server": "1.16.11-beta-069c3537",
32
+ "@abtnode/timemachine": "1.16.11-beta-069c3537",
33
+ "@abtnode/util": "1.16.11-beta-069c3537",
34
34
  "@arcblock/did": "1.18.80",
35
35
  "@arcblock/did-auth": "1.18.80",
36
36
  "@arcblock/did-ext": "^1.18.80",
@@ -41,9 +41,9 @@
41
41
  "@arcblock/pm2-events": "^0.0.5",
42
42
  "@arcblock/validator": "^1.18.80",
43
43
  "@arcblock/vc": "1.18.80",
44
- "@blocklet/constant": "1.16.11-beta-8e4c6e5c",
45
- "@blocklet/meta": "1.16.11-beta-8e4c6e5c",
46
- "@blocklet/sdk": "1.16.11-beta-8e4c6e5c",
44
+ "@blocklet/constant": "1.16.11-beta-069c3537",
45
+ "@blocklet/meta": "1.16.11-beta-069c3537",
46
+ "@blocklet/sdk": "1.16.11-beta-069c3537",
47
47
  "@did-space/client": "^0.2.99",
48
48
  "@fidm/x509": "^1.2.1",
49
49
  "@ocap/mcrypto": "1.18.80",
@@ -96,5 +96,5 @@
96
96
  "express": "^4.18.2",
97
97
  "jest": "^27.5.1"
98
98
  },
99
- "gitHead": "bd1beb1fb79e075d31359f438a263ee9077d3cd9"
99
+ "gitHead": "a89c7f13901d2c2d50b09d68d6088ca705648ff6"
100
100
  }