【问题标题】:Ethereum: Do I need a node to call a (read-)function on a smart contract?以太坊:我需要一个节点来调用智能合约上的(读取)函数吗?
【发布时间】:2018-06-27 21:00:59
【问题描述】:

我对这个话题几乎是个菜鸟,所以请多多包涵。我是否需要一个节点来读取已部署到以太坊网络的方法?非常感谢您的帮助!

【问题讨论】:

    标签: ethereum solidity contract


    【解决方案1】:

    您需要提供更多信息。您需要节点库/实用程序来创建、测试和部署智能合约。根据您的问题,假设它已经部署在本地/远程网络中并且您拥有合约地址,则不需要节点来调用智能合约上的方法。但是您可能需要像 web3js 这样的库。或者干脆你可以使用Remix 与智能合约进行交互。

    【讨论】:

      【解决方案2】:

      您需要以某种方式与节点交互,但这并不一定意味着运行您自己的节点。

      您可以使用hosted node,尽管使用托管节点会带来一个警告,即您会失去许多区块链通常提供的信任属性。您无法知道托管节点是否对您发送的回复撒谎。即使您相信主机是 100% 善意的,他们也可能存在错误,或者他们的软件可能会被恶意行为者破坏。

      我强烈建议您运行自己的节点来获取对您来说很重要的任何信息。如果您将风险评估为最小(假设您经营一家咖啡店,而无效信息给您带来的最糟糕的事情是有人可以不付钱就离开),那么托管节点可能适合这种情况。 Infura 就是一个例子。

      【讨论】:

      • 如果你经营一家咖啡店,并且由于缺乏值得信赖的以太坊节点,人们可能会不付钱就离开,那么我认为这是一件大事。
      • 我当然不会与想要在所有场景中使用本地节点的人争论。如果有人认为攻击或贿赂 Infura 的成本高于获得一两杯免费咖啡的好处,他们可能会选择在咖啡店场景中冒险。 (假设您很快就可以识别攻击,并且您的攻击者不想通过中断所有客户的付款来使您受苦)。如果我要建立一个系统,我总是会建立一个本地节点,因为这并不难,而且我不必计算风险。
      猜你喜欢
      • 2019-04-07
      • 1970-01-01
      • 2021-07-26
      • 2019-05-31
      • 1970-01-01
      • 2021-02-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多