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中,我们能够无限期地使用免费层,因为我们有这样的优化请求。

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

评论

所有评论

推荐阅读

  • DeFi 超越 CeFi,可预测性是关键

    可预测的交易上链机制,能为做市商提供可靠保障,使其可以快速响应链下事件,维持链上市场的高效运行。

  • BTC跌破71000美元

    Cointime 报道,行情显示,BTC跌破71000美元,现报70969.43美元,24小时涨幅收窄至1.4%,行情波动较大,请做好风险控制。

  • 富兰克林邓普顿联手 Ondo Finance,推出加密钱包专属的 7x24 小时可交易 ETF

    Cointime 报道,3月25日消息,“全球知名资管公司 富兰克林邓普顿(Franklin Templeton) 与 Ondo Finance 宣布合作,正式推出专为 加密钱包 设计的、支持 7x24 小时全天候交易 的 ETF 产品。”

  • 英伟达(NVDA.O)涨幅扩大至3%

    Cointime 报道,行情显示,英伟达(NVDA.O)涨幅扩大至3%。

  • 伊朗开出停火五大条件 称“先接受条件再谈判”

    Cointime 报道,3月25日消息,据伊朗政府控制的新闻电视台Press TV报道,伊朗政府官员发表声明,其中提到,伊朗已对美国提议做出了否定回应,并坚持战争只会在伊朗自己的条款和时间表下结束。这位了解伊朗政府详情的官员表示,伊朗不会允许特朗普来决定战争结束的时间。他还强调了德黑兰继续防御并向敌人施加“沉重打击”直到其要求得到满足的决心。这位官员概述了伊朗同意结束战争的五个具体条件,包括:① 完全停止敌方的“侵略与暗杀”行动。② 建立具体机制,确保战争不会再次强加给伊朗。③ 保证并明确界定战争损失的赔偿与修复费用支付。④ 在所有战线以及全地区所有参与其中的抵抗组织范围内结束战争。⑤ 国际社会承认并保障伊朗对霍尔木兹海峡行使管辖权的主权权利。伊朗已向所有出于善意的中间人传达,停火的前提是接受其所有条件。该官员强调:“在此之前不会进行任何谈判,”并重申伊朗的防御行动将持续进行,直到上述条件得到满足。(金十)

  • 伊朗表示将在自行选择的时机结束战争

    Cointime 报道,据伊朗新闻电视台:伊朗表示,将在自行选择的时机结束战争。

  • 特朗普拟任命扎克伯格、黄仁勋和埃里森加入科技顾问委员会

    Cointime 报道,3月25日,据华尔街日报:特朗普拟任命扎克伯格、黄仁勋和埃里森加入科技顾问委员会。(金十)

  • BTC突破72000美元

    Cointime 报道,行情显示,BTC突破72000美元,现报72007.52美元,24小时涨幅达到1.24%,行情波动较大,请做好风险控制。

  • 贝莱德向Coinbase Prime地址转入11780枚ETH和约634枚BTC

    Cointime 报道,据Arkham监测数据显示,大约半小时前,贝莱德通过旗下以太坊交易所交易基金ETHA向Coinbase Prim地址转入总计11780枚ETH,价值约合2575万美元;通过旗下比特币交易所交易基金IBIT向Coinbase Prime地址转入总计约634枚BTC,价值约合4535万美元。

  • 美国共和党众议员呼吁根据宪法第二十五条修正案解除特朗普的职务

    Cointime 报道,市场消息:美国共和党众议员Alexandria Ocasio-Cortez正式呼吁根据宪法第二十五条修正案解除特朗普的职务。(金十)