Cointime

扫码下载App
iOS & Android

你应该运行你自己的以太坊节点吗?

TLDR:在大多数情况下,你不应该托管你的以太坊节点,但这也要视情况而定。

最近,我有机会在以太坊网络中重构一个有点大的 Dapp,我开始忙于解决继续托管节点的问题,或者只是使用 KISS 架构(保持简单,愚蠢)和只需使用可信方服务即可。

目录

  1. 为什么你需要一个以太坊节点?
  2. 托管你的以太坊节点的优势
  3. 使用受托方以太坊服务的优势
  4. 价格比较

1. 为什么你需要一个以太坊节点?

如果你是一个dapp开发者,你可能需要一些链外基础设施,以运行cronjob任务或自动管理私钥,等等。

以编程方式与以太坊网络互动的唯一最佳方式是使用Geth给你的API,它允许你将你的链外逻辑与签署交易的逻辑以及网络同步和通信的方式分开。

2. 托管你的以太坊节点的优势

托管你的节点,给你更多:

  • 隐私:你没有分享对受信任方节点的访问。
  • 可用性:无论一个第三方有多么值得信任,总会有一些停机时间,即使只有几秒钟或几分钟,你必须在你的代码中加入一些重试逻辑来处理这些。
  • 灵活性:你可以在你的 Geth 节点内托管私钥(不推荐这样做!)并立即跳过所有的签名交易。

在我看来,这是3个最重要的优势,但如果你决定走这条路,肯定还会发现其它的优势。

3. 使用可信方以太坊服务的优势

这里要考虑的第一件事是决定你应该选择哪个供应商,有一大堆供应商,随着时间的推移,会出现更多的供应商。

我能想到的顶级供应商是Infura、Alchemy,以及最近的Etherscan。

我为我所做的项目选择了Etherscan,因为除了通常的Geth端点之外,他们还有额外的端点,其次,我已经在使用他们的网站来追踪项目的钱包和合约,所以直接使用他们的API也是非常有意义的。

使用受托方服务的一些优势是:

  • 心态:你不必担心升级节点,总是不断查看每个版本的补丁说明很烦人。
  • 睡眠时间:每次节点发生故障时,你的工作不是去排除故障并尽快修复,由于这些受信任的各方已经有大量的运行节点的经验,他们可能根本不会在发生故障时惊慌。
  • 成本优化:对于大多数应用程序,你不会每分钟进行大量的交易,这使你几乎可以无限期地运行在他们的免费层(下面有更多细节)。
  • 2层:当你要转移到第二层甚至另一个网络如Binance智能链时,你所要做的就是改变基本的API端点,因为接口几乎是相同的,基本就像在以太坊链上一样。

使用受托方的一个主要缺点是,你将缺少让Geth管理你的私钥和交易签名的功能,所以你在开发与区块链的集成时需要考虑这一点。

4. 价格比较

自我托管和受托方之间的成本比较。

只是要多说几句,我们的eth合约有定义明确的事件,这使得抓取网络更加容易。

我所要做的就是用我们的合约地址调用eth_getLogs端点,它最多可以返回1000个事件,我想要多少块就有多少块。

我做了一些计算,在最极端的情况下,我们每次调用只能抓取25个区块,这将给我们带来每区块约40个事件,这对我们的使用来说是绰绰有余。

我们在AWS中运行节点的成本如下:

  • 当前网络大小约为 1TB,这相当于附加到我们正在运行的实例的 EFS 每月约 300 美元
  • 我们为 Geth 节点运行了一个非常大材小用的实例,每月花费我们大约 200 美元(因为我们还在那里与 Geth 并排运行一些服务)
  • 我没有计算实例的出口流量

在迁移到Etherscan API后,我们完全删除了EFS存储,并将实例降级为1/4,最终每月节省了约450美元的AWS账单。

在新的Etherscan API中,我们能够无限期地使用免费层,因为我们有这样的优化请求。

简而言之,每个案例都是不同的。但是,在任何项目的最初阶段,使用一个值得信赖的第三方总是有利的,以后你可以重新考虑升级到一个自我托管的节点。

评论

所有评论

推荐阅读

  • 日本首相石破茂与特朗普通电话 重申要求取消关税

    日本首相石破茂13日晚与美国总统特朗普通电话,就美国的高关税措施重申要求全面取消关税。石破茂表示:“要求取消的立场没有任何变化。”两国首脑确认了将在加拿大召开七国集团首脑会议期间举行会谈,进一步深化日美合作相关讨论。两人还同意为实现对日美双方均有益的共识而加速负责阁僚之间的磋商。此次是由日方提议通电话,时长约20分钟。石破茂就通电话的理由提及了14日是特朗普的生日,“虽然早了一天,但我想祝他生日快乐,所以打了电话”。

  • 伊朗向以色列发射第五轮导弹

    当地时间6月14日清晨,以色列军方称,监测到伊朗发动第五轮导弹攻击,以军正展开拦截。

  • 美军“爱国者”与“萨德”导弹防御系统参与以色列防空行动

    匿名美国国防官员发布消息称,由美军人员操作、最早在拜登政府时期部署的“爱国者”和“萨德”导弹防御系统,参与了以色列的防空行动。相比去年美方在伊朗两次报复性袭击中出动空中和海上力量协助拦截导弹的广泛介入,此次行动的规模明显较小。

  • 伊朗新一轮导弹射向以色列

    当地时间6月14日凌晨,据以色列军方称,伊朗向以色列发射新一轮导弹,以军正展开拦截,以色列全国多地响起防空警报。

  • 白宫正在审查SpaceX合同

    四位知情人士透露,在特朗普与马斯克公开吵架后,白宫已指示国防部和美国航空航天局(NASA)收集有关SpaceX数十亿美元合同的详细信息。 知情人士表示,政府方面已启动相关审查,要求有关机构仔细审视马斯克及其公司所获得的合同,以为可能采取的报复措施做好准备。五角大楼也在评估是否应削弱SpaceX在美国新一代导弹防御系统项目中的参与程度。

  • 美联储的新利率预测有可能影响市场

    LBBW 资深固定收益分析师 Elmar Voelker 在一份报告中说,在美联储下周的会议上,最大的市场波动潜力是新的关键利率预测。迄今为止,所谓的「点阵图」暗示美联储今年将降息两次,而货币市场定价几乎与美联储的预测完全一致。在我们看来,调整点阵图可能会让一些市场参与者措手不及。

  • Strategy 模式走红,币价能托住股价吗?

    能够存活下来的公司将是那些利用这一窗口创造超越其加密货币持有的持久价值的企业。

  • 以色列的袭击未能突破伊朗核设施的保护层

    早期迹象表明,以色列的袭击没有穿透保护伊朗核储备设施的防护层。国际原子能机构(IAEA)说,没有迹象显示伊朗主要铀浓缩设施的辐射水平增加。伊朗当局告诉国际原子能机构,他们没有在位于德黑兰以南约300公里的纳坦兹设施观察到更高的辐射。以色列当局说,以色列没有对伊朗位于波斯湾沿岸的布什尔(Bushehr)核电站实施任何袭击。尽管如此,以色列总理内塔尼亚胡表示,袭击“将持续多少天,直到消除威胁”。只有最强大的常规弹药才能穿透伊朗的铀浓缩设施。纳坦兹核设施建在地下40多米处,有钢筋混凝土外壳保护,研究人员估计外壳厚约8米。而在福尔多核设施,浓缩大厅建在山里边。国际原子能机构总干事格罗西最近访问后估计,铀浓缩大厅位于地下半公里处。

  • 伊朗要求联合国安理会召开紧急会议

    伊朗常驻联合国代表团向安理会轮值主席致信,请求召开紧急会议,以应对以色列对伊朗的公然侵略。信中强烈谴责以色列在美国的支持下,对伊朗和平核设施和高级军事官员的侵略,呼吁安理会立即召开紧急会议,并对这些犯罪和挑衅行为采取果断行动。信中表示,以色列鲁莽、非法且有预谋地对伊朗的核设施和民用基础设施发动了一系列攻击。这些行动被认为明显违反了《联合国宪章》和国际法基本准则,其危险后果严重威胁着地区和国际和平与安全。

  • 伊朗方面称以色列总理专机已离开本-古里安机场

    当地时间13日,有消息称以色列总理内塔尼亚胡的专机已离开本-古里安机场。消息称,该专机由两架战斗机护航,正前往未知目的地。