Repository navigation
Expand file tree
/
Copy pathindex.js
More file actions
78 lines (71 loc) · 2.65 KB
/
Copy pathindex.js
File metadata and controls
78 lines (71 loc) · 2.65 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
process.env["VERSION"] = "v3.8.2";
process.env["ANIMATION"] = "disable";
process.env["GITHASH"] = "";
process.env.BLOCKPERROUND = process.env.BLOCKPERROUND || 50;
process.env.FORGEINTERVAL = process.env.FORGEINTERVAL || 15;
// 使用环境变量切换创世块 FIXME
// process.env.DEV = "true"; // 开发模式下将绑定随机地址
// if (process.env.DEV === "true") {
// const fs = require("node:fs");
// fs.writeFileSync(
// process.cwd() + "/conf/test-config.json",
// JSON.stringify(
// {
// BLOCKPERROUND: Number(process.env.BLOCKPERROUND),
// FORGEINTERVAL: Number(process.env.FORGEINTERVAL),
// },
// null,
// 4
// )
// );
// }
process.env.INJECT_DELEGATES = "true"; // 测试时允许通过配置文件绑定锻造者
process.env["randomId"] = Math.random().toString(32);
// 桌面云变更
// 在桌面云中测试时打开以下
// process.env.publickey = "a4465fd76c16fcc458448076372abf1912cc5b150663a64dffefe550f96feadd"; // desktop cloud
// process.env.basicUrl = `http://192.168.150.49:6064/marketplace/ipnodeserver`; // desktop cloud
process.env.ApiAccessLevel = 4; // 当前API访问等级,全开
const os = require("os");
const fs = require("fs");
const platform = os.platform();
const ENVIRONMENT_TYPE = {
DEVELOPMENT: "DEVELOPMENT",
PRODUCTION: "PRODUCTION",
};
process.env.ENVIRONMENT_TYPE = ENVIRONMENT_TYPE.DEVELOPMENT;
let b;
try {
require("sodium");
} catch (error) {
switch (platform) {
case "linux":
b = fs.readFileSync(process.cwd() + "/bin/sodium.node.linux");
break;
case "darwin":
// b = fs.readFileSync(process.cwd() + "./bin/sodium.node.linux");
break;
case "win32":
b = fs.readFileSync(process.cwd() + "/bin/sodium.node.windows");
break;
default:
break;
}
if (b) {
fs.writeFileSync(process.cwd() + "/bin/sodium.node", b);
}
}
const { externalCommunicateInfoHelper } = require("./build/src/helpers/externalCommunicateInfoHelper");
(async () => {
const { bootstrap } = require("./build/src/index");
await bootstrap();
})().catch(async (err) => {
const { logger } = require("./build/src/baseHelpers/logger");
logger.error(err, err.detail);
externalCommunicateInfoHelper.writeInfo(JSON.stringify({ message: err.message, status: 0 }));
// 如果没有这个定时器,用户在双击bcf程序后会直接闪退,所以加上这个,让他们看到错误后再关闭
setTimeout(() => {
console.log(`节点已关闭`);
process.exit(0);
}, 10000);
});