Ethereum 以太坊:我是否需要一个节点来调用智能合约上的(读取)函数?

Ethereum 以太坊:我是否需要一个节点来调用智能合约上的(读取)函数?,ethereum,solidity,contract,Ethereum,Solidity,Contract,在这个话题上我几乎是个傻瓜,所以请容忍我。我是否需要一个节点来读取已部署到以太坊网络的方法?我非常感谢你的帮助 您需要提供更多信息。您需要节点库/实用程序来创建、测试和部署智能合约。根据您的问题,假设它已经部署在本地/远程网络中,并且您拥有合约地址,则不需要节点调用智能合约上的方法。但您可能需要像web3js这样的库。或者您可以使用智能合约进行交互。您需要以某种方式与节点进行交互,但这并不一定意味着运行您自己的节点 您可以使用托管节点,但使用托管节点时需要注意的是,您会失去区块链通常提供的许多信

在这个话题上我几乎是个傻瓜,所以请容忍我。我是否需要一个节点来读取已部署到以太坊网络的方法?我非常感谢你的帮助

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

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

您可以使用托管节点,但使用托管节点时需要注意的是,您会失去区块链通常提供的许多信任属性。您无法知道托管节点是否就其发送的回复对您撒谎。即使您相信主机是100%仁慈的,他们也可能有一个bug,或者他们的软件可能会被恶意参与者破坏


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

如果你正在经营一家咖啡店,人们可能会因为缺少值得信任的以太坊节点而不付钱就离开,那么我认为这是一个相当大的问题。我当然不会与那些想在所有情况下都使用本地节点的人争论。如果有人认为攻击或贿赂Infura的成本高于获得一到两杯免费咖啡的收益,那么他们可能会选择在咖啡店场景中冒险。(假设您不需要很长时间就可以识别攻击,并且攻击者不想通过中断所有客户的付款来欺骗您)。如果我要建立一个系统,我总是会建立一个本地节点,因为这并不难,而且我不需要计算风险。