首先,
修改js例程代码:
const {
Web3 } = require('web3');
const rpcURL = "https://sepolia.infura.io/v3/40b89bc0f5584056b19626b521ee5874";
const web3 = new Web3(rpcURL);
const address = "0xde51E698b4585Af1C8322cc084ABbdbDcfe53361";
async function getBalance() {
try {
const wei = await web3.eth.getBalance(address);
const balance = web3.utils.fromWei(wei, 'ether');
console.log('账号:', address, ' 的余额为:', balance);
} catch (error) {
console.error('发生错误:', error);
}
}
getBalance();
我们直接运行,结果如下:
说明nodejs直接运行没问题,
在gramine运行nodejs,
gramine-direct ./nodejs helloworld.js
但是这里报错了,我暂时不会改,已经提交了issues,等我知道了怎么改再回来写,
这里js替换为
console.log("Hello World!")
输出
Hello World!
例程运行成功!
---------更新分割线-------
我太菜了,
人家官方文档里有这个允许外部域名连接的选项,但是我看不懂,
在manifest文件里加入指令
sys.enable_extra_runtime_domain_names_conf = true
再次运行指令
gramine-direct ./nodejs helloworld.js
输出,但是运行时间有点长,大概要3-4秒,不太清楚整个的运行逻辑,