当前位置: 首页 > wzjs >正文

关键词挖掘工具爱站网门户网站建设公司流程

关键词挖掘工具爱站网,门户网站建设公司流程,互联网下载安装,苏州吴江做网站本节是《Solidity by Example》的中文翻译与深入讲解,专为零基础或刚接触区块链开发的小白朋友打造。我们将通过“示例 解说 提示”的方式,带你逐步理解每一段 Solidity 代码的实际用途与背后的逻辑。 Solidity 是以太坊等智能合约平台使用的主要编程语…

本节是《Solidity by Example》的中文翻译与深入讲解,专为零基础或刚接触区块链开发的小白朋友打造。我们将通过“示例 + 解说 + 提示”的方式,带你逐步理解每一段 Solidity 代码的实际用途与背后的逻辑。

Solidity 是以太坊等智能合约平台使用的主要编程语言,就像写网页要用 HTML 和 JavaScript,写智能合约就需要会 Solidity。

如果你从没写过区块链代码也没关系,只要你了解一点点编程概念,比如“变量”“函数”“条件判断”,我们就能从最简单的例子开始,一步步建立你的 Solidity 编程思维。

Constants

常量是不能修改的变量。

常量的值是硬编码(固定写死)的,使用常量可以节省 Gas 成本。

// SPDX-License-Identifier: MIT
// 声明代码采用 MIT 开源许可证,这是一种常见的开源许可协议,允许自由使用、修改和分发代码。pragma solidity ^0.8.26;
// 指定 Solidity 编译器版本必须大于或等于 0.8.26 并且小于 0.9.0。
// `pragma` 指令确保合约使用兼容的编译器版本,`^0.8.26` 表示支持 0.8.26 或更高版本(但不超过 0.9.0)。contract Constants {// 定义一个名为 `Constants` 的智能合约。// 合约是一个运行在以太坊区块链上的程序,包含数据(状态变量)和逻辑(函数)。// 这个合约的目的是展示 Solidity 中的常量(constants)。// Constants are variables that cannot be modified.// 常量是不可修改的变量。// Their value is hard coded and using constants can save gas cost.// 常量的值是硬编码(固定写死)的,使用常量可以节省 Gas 成本。// coding convention to uppercase constant variables// 编码规范:常量变量通常使用全大写字母命名。address public constant MY_ADDRESS =0x777788889999AaAAbBbbCcccddDdeeeEfFFfCcCc;// 声明一个名为 `MY_ADDRESS` 的常量,类型为 `address`(以太坊地址,20 字节)。// `constant` 关键字表示这个变量的值在定义后不可修改。// 初始化值为一个固定的以太坊地址 `0x777788889999AaAAbBbbCcccddDdeeeEfFFfCcCc`。// `public` 关键字表示该常量可以被外部访问,Solidity 会自动为其生成一个 getter 函数。// 按照命名规范,常量通常用全大写字母(如 `MY_ADDRESS`)。uint256 public constant MY_UINT = 123;// 声明一个名为 `MY_UINT` 的常量,类型为 `uint256`(256 位无符号整数,范围从 0 到 2^256-1)。// `constant` 关键字表示这个变量的值不可修改。// 初始化值为 123。// `public` 允许外部访问,并生成 getter 函数。// 同样遵循全大写命名规范。
}

Constants 是一个简单的智能合约,展示了 Solidity 中的常量(constants)。常量是一种特殊的变量,它们的值在合约部署时就固定了,之后不能被修改。

代码做什么?

  • 定义常量:
    • MY_ADDRESS 存储一个固定的以太坊地址。
    • MY_UINT 存储一个固定的数字 123
  • 不可修改:因为使用了 constant 关键字,这两个变量的值在合约部署后不能被改变。
  • 公开访问:因为是 public,外部可以通过 getter 函数读取这些常量的值(例如 MY_ADDRESS()MY_UINT())。
  • 节省 Gas:常量在区块链上存储时比普通状态变量更节省 Gas,因为它们的值是硬编码的,编译器可以优化存储和访问。

关键点

  • 常量的特点:
    • 使用 constant 关键字定义。
    • 值在合约部署时固定,之后不可修改(硬编码)。
    • 通常用于存储不会改变的数据(如固定地址、配置值)。
  • Gas 优化:
    • 常量不像普通状态变量那样需要动态存储空间,编译器会将它们的值内联到代码中,减少存储和访问的 Gas 成本。
    • 例如,MY_UINT 的值 123 可能直接嵌入到调用它的函数中,而不是每次从区块链存储中读取。
  • 命名规范:
    • 常量通常用全大写字母命名(如 MY_ADDRESS),以区别于普通变量。
    • 这是一个社区约定,便于代码可读性。
  • 状态变量:
    • 尽管是常量,MY_ADDRESSMY_UINT 仍然是状态变量,存储在区块链上(storage)。
    • public 提供了外部访问的 getter 函数,调用这些函数是 view 操作,链下调用免费。
  • 用途:
    • 常量常用于存储合约中固定的配置值,例如管理员地址、最大限制值、协议参数等。

常量的注意事项

  • 不可修改:尝试修改常量(如 MY_ADDRESS = newAddress;)会导致编译错误。
  • 硬编码:常量的值必须在编译时确定,不能在运行时动态设置(与 immutable 不同)。
  • 命名规范:虽然不强制,但全大写命名是最佳实践,方便区分常量和普通变量。
  • Gas 优化:常量适合存储不会改变的值(如固定地址、配置参数),可以减少存储和访问成本。
  • 限制:常量不能用于复杂数据类型(如动态数组 uint[] 或映射 mapping),仅支持值类型(如 uint256addressbytes32)。
http://www.dtcms.com/wzjs/547465.html

相关文章:

  • 环境设计案例网站高端网站建设代码
  • 响应式网站缺点百度统计手机版
  • 用自己的计算机做服务器建网站电动工具咋在网上做网站
  • 衡水企业做网站费用公司和企业的区别
  • 保定cms建站系统长沙做网站改版哪里好
  • 网站建设网络推广广告语苏州网站开发建设公司
  • 郑州网站建设中国建设建设银行渠道推广平台
  • wordpress 邀请码注册衔接wordpress建站seo
  • 学做馒头面包哪个网站好公众号开发和小程序开发哪个简单
  • 北京网站开发公司大全广州网络推广营销
  • 漳州做网站安徽省建设工程信息网官网是什么网站
  • 国内最大ae模板下载网站做画册找什么网站
  • 门户网站都有哪些成都网络公司排名榜
  • 已经建网站做外贸海外网站空间
  • 网站架构制作ppt模板免费下载完整版免费无需会员
  • asp做网站主要技术个人网站 建设方案书
  • 校园网站建设方案模板哈尔滨做公司网站的公司有哪些
  • 富平网站建设大学学科建设网站
  • 北京社区网站建设网站建设鼠标移动变颜色
  • 做网站需要后端吗终端客户管理系统
  • 网站建设傲鸿搜狗收录提交入口网址
  • 郑州高考网站建设文本中设置网站超链接怎么做
  • asp网站怎么仿站大连工业大学宿舍
  • 专业做营销网站建设wordpress ie8不兼容
  • 怎么给网站做开场动画wordpress自带文章类型
  • 网站设计与制作是做什么工作无屏蔽搜索引擎
  • 站长工具的使用seo综合查询运营什么是网络营销产品组合策略
  • 微网站搭建的步骤和技巧谷歌搜索引擎google
  • 自己做的网站怎么取sql数据库wordpress 多页
  • 网站开发的技术api导入wordpress