gramine运行nodejs例程

首先,
修改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秒,不太清楚整个的运行逻辑,
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值