您现在的位置:kastop>> Kas信息 Kaspa网络>>正文内容

Resolver问题解析

    let resolver = new Resolver();

    try {

        let url = await resolver.getUrl(kaspa.Encoding.Borsh,"mainnet");

        console.log(url);

    } catch (e) {

        console.error(e);

        return;

    }


1) 404打开/是正常的(也许以后会改变)。Resolver不暴露任何服务器页面-它经过高度优化,在发出HTTP请求时几乎为零成本,以提供DDoS弹性,每秒可处理约50万个HTTP请求。因此,除了为解析公共节点而设计的特定GET请求之外,它目前不公开任何其他内容。

2) 底层WebSocket行为是尝试重新连接到节点。重新连接选项通过接受IConnectOptions的connect()fn进行控制(https://kaspa.aspectron.org/docs/interfaces/IConnectOptions.html)-请参阅默认设置为“重试”的ConnectStrategy。如果出现连接错误,回退将导致connect()抛出。

这适用于默认的WebSocket行为。如果解析程序安装在RPC客户端中(随后安装在底层WebSocket中),则WebSocket每次连接时都会从解析程序中获取URL。随后,应用相同的ConnectStrategy。即,如果使用ConnectStrategy::Fallback,rpc.connect()将在连接尝试时失败。但是,如果使用“重试”,它将继续尝试连接。

使用Retry,使用Resolver和不使用它的区别在于,当不使用它时,WebSocket将继续一遍又一遍地尝试连接到同一个端点,而如果使用Resolver,则对于每次重新连接尝试,它都会向解析程序查询新的URL。

3) 测试时请尝试将代码隔离到一个小的JS示例中(您可以使用rpc.JS示例作为基础)。


感动 同情 无聊 愤怒 搞笑 难过 高兴 路过
【字体: 】【收藏】【打印文章】 【 打赏 】 【查看评论

相关文章

    没有相关内容