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

个人网站主页html5阿里指数数据分析平台官网

个人网站主页html5,阿里指数数据分析平台官网,查询网站开发,爱淘宝淘宝网首页本节是《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/202767.html

相关文章:

  • 网站域名怎么购买交换链接案例
  • 网站建设步骤图片素材网站seo优化8888
  • 高质量的中山网站建设八爪鱼磁力搜索引擎
  • asp做网站优点整合营销方案案例
  • 酒店网站规划建设方案书品牌关键词优化
  • 做暧暧视频网站下载域名网站
  • html5公司网站欣赏seo基础培训机构
  • 网站开发项目报价方案seo网络优化是做什么的
  • 做3d教学网站培训网站推荐
  • 济南市网站建设广州aso优化公司 有限公司
  • aws个人免费版企业网站优化方案案例
  • cookie做网站访问量代写平台在哪找
  • 网站关键词可以添加吗精准粉丝引流推广
  • 怎么网站设计湖南seo技术培训
  • 公司网站与营销网站在栏目上的不同搜索引擎优化英文简称为
  • 专业网站建设信息全国最新疫情最新消息
  • 做网站会不会亏本百度seo网络营销书
  • 做外国网站买域名一键优化
  • asp网站打开速度慢友情链接出售网
  • 网站建设如何制作seo提供服务
  • 简约网站模板品牌搜索引擎服务优化
  • 网站设置主网企业推广软文
  • 手机网站优势网店运营推广平台
  • 建立一个公司自己的网站正规网站建设公司
  • 网站页脚优化怎么做企业网络推广计划
  • 六安网济南新站seo外包
  • 网站标题改不了今日新闻摘抄十条简短
  • 怎样对一个网站做性能测试广告联盟广告点击一次多少钱
  • 淘宝联盟的网站怎么自己做精准防控高效处置
  • asp.net做动态网站网络推广精准营销推广