在Web3的浪潮中,以太坊作为最著名的区块链平台,其智能合约是构建去中心化应用(DApps)的核心,而与这些智能合约进行交互,尤其是读取和修改其存储的数据,是开发者日常工作的关键一环,在Solidity编程语言中,public关键字扮演着至关重要的角色,它简化了合约变量的访问方式,本文将深入探讨Web3环境下如何访问以太坊智能合约中标记为public类型的变量,并解释其背后的原理。

什么是Solidity中的public类型

在Solidity中,当你声明一个状态变量(存储在区块链上的变量)时,可以为其指定可见性修饰符,如publicprivateinternalexternal

当你为变量添加public修饰符时,Solidity编译器会自动为你生成一个免费的公共 getter 函数,这意味着:

  1. 无需手动编写函数:你不需要为了暴露变量的值而额外编写一个function来返回它。
  2. 简化访问:其他合约或外部应用程序(如通过Web3库)可以直接通过变量名来读取该变量的值。

以下是一个简单的合约:

随机配图