如何解决最近使用 steem-js 库出现错误的问题? | How to solve steem-js getaddrinfo ENOTFOUND issue?

in #cn7 years ago (edited)

最近尝试在做一个关于 steemit 的东西, 但是发现之前使用的官方的 steem-js 库运行出现问题了:

0001.png

从出错信息看来, 是 "steemd.steemit.com" 这个地址挂掉了.

等了一段时间重试, 服务还是没起来. 好奇心使然, 遂查了一下. 首先发现的是 @oflyhigh 提到的重要提示: 节点 steemd.steemit.com 将于1月6日停止使用,请及时切换至 api.steemit.com, 然后又看到了 @steemitdev 发布的 Last chance to update - steemd.steemit.com will be retired on January 6. 终于明白原来是服务器 endpoint 节点换掉了.

@oflyhigh 给出了 python 的解决方案. 我在用的是 node-js 库, 想来原理差不多. 看了一下 steem-js 的源码, 发现 steem-js 提供一个 setOptions 方法, 可以设置当前环境使用的 endpoint. 所以尝试加入如下代码:

0002.png

重启服务, 发现可以正常使用了.

所以这里给在使用 node-js 开发 steem 工具的同学提个醒, 记得在自己的代码里切换一下使用的 endpoint:

steem.api.setOptions({ url: 'https://api.steemit.com'});

相当简单. 结束.