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示例作为基础)。
感动 | 同情 | 无聊 | 愤怒 | 搞笑 | 难过 | 高兴 | 路过 |
- 上一篇:发送Kaspa交易完整代码
- 下一篇:批量发送交易的监听事件问题
相关文章
-
没有相关内容