谷歌SEO

谷歌SEO

Products

当前位置:首页 > 谷歌SEO >

如何掌握Web3学习笔记中的Solidity基础语法?

96SEO 2026-02-23 12:57 5


📋

如何掌握Web3学习笔记中的Solidity基础语法?

EVM

智能合约简介

什么是智能合约?

智能合约是部署在区块链上的程序代码,它自动执行预定义的规则和条款。

智能合约的特点:

  1. 1.不可变性

    (Immutable)

    • 一旦部署,代码无法修改

    • 部署前必须充分测试

  2. 2.自动执行

    • 消除了人为错误和欺诈

  3. 3.确定性

    • 给定相同的输入,必定产生相同的输出

    • 这是共识机制的基础

  4. 4.透明性

    • 任何人都可以调用

EVM(以太坊虚拟机)

什么是

Solidity

的特点:

特性

说明

图灵完备

可以执行任何计算逻辑

隔离环境

每个合约在独立沙箱中运行

Gas

限制

每个操作都有计算成本

无状态

不保存状态,每次执行从头开始

确定性

执行结果可预测

EVM

执行流程:

1.

接收交易

Gas

为什么需要

Gas?

  • />

    2.2

    的核心特性:

    特性

    说明

    类比

    静态类型

    编译时检查类型错误

    Java、C++

    面向合约

    以合约为核心组织代码

    面向对象编程

    Gas

    敏感

    每行代码都有计算成本

    按量计费

    继承支持

    支持多重继承

    Java、Python

    事件驱动

    通过

    event

    事件

    异常处理

    require/revert/assert

    try-catch

    Solidity

    JavaScript

    特性

    JavaScript

    Solidity

    类型

    动态类型

    静态类型

    执行环境

    浏览器/Node.js

    EVM

    状态存储

    内存/硬盘

    区块链状态

    代码可变性

    可随时修改

    部署后不可变

    执行成本

    免费

    需要支付

    Gas

    并发模型

    单线程异步

    单线程同步

    Solidity

    的独特概念:

    • Gas:

      每个操作都有成本

    • Storage:

      永久存储,成本高

    • Memory:

      临时存储,成本低

    • Calldata:

      只读数据,成本最低

    • Events:

      日志记录,不存储在状态中

    />

    2.3

    基础语法详解

    数据类型

    值类型

    (Value

    Types)

    值类型在赋值时会创建副本。

    //

    布尔类型

    0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb;

    address

    Status.Active;

    整数类型详解:

    //

    无符号整数

    (默认)

    引用类型

    (Reference

    Types)

    引用类型在赋值时不会创建副本,而是引用同一数据。

    //

    字符串

    0x123...);

    映射详解:

    //

    定义映射

    true;

    变量作用域
    contract

    Example

    }

    存储位置对比:

    存储位置

    持久性

    Gas

    成本

    可修改性

    storage

    永久

    可读可写

    memory

    临时

    可读可写

    calldata

    临时

    最低

    只读

    函数可见性
    contract

    Example

    }

    可见性对照表:

    修饰符

    合约内部

    继承合约

    外部调用

    public

    external

    internal

    private

    函数修饰符

    状态修改修饰符:

    //

    view

    }

    修饰符对比:

    修饰符

    读取状态

    修改状态

    接收

    成本

    view

    pure

    最低

    payable

    取决于操作

    (无)

    取决于操作

    何时使用

    view/pure?

    //

    view

    }

    特殊变量
    contract

    SpecialVariables

    }

    msg.sender

    tx.origin:

    contract

    function

    安全警告:不要使用tx.origin进行身份验证,容易被钓鱼攻击!

    />

    🛠️

    开发环境,无需安装,开箱即用。

    访问

    Remix

    1. 1.打开

      访问:https://remix.ethereum.org/

  • 2.了解界面布局

    />

    />不得不说,第一眼看Remix的主界面,内容非常多,也很凌乱。

    1. 3.创建工作区

      • "Create

        workspace"

      • "Blank"

        "Create"

    />

    步骤

    (20分钟)

    创建合约文件
    1. 1.新建文件

      • "New

        命名为HelloWeb3.sol

    2. 2.编写合约代码

      />

      payable(owner).transfer(balance);

      /**

      }

      代码解析

      1.

      SPDX

      告诉编译器代码使用的开源许可证

    3. MIT

      必须放在第一行

    4. 2.

      Pragma

      声明

      pragma

      solidity

      ^0.8.20;

      • Solidity

        编译器版本

      • ^0.8.20表示兼容

        0.8.20

        0.9.0

      • >=0.8.20

        <0.9.0是另一种写法

      3.

      @dev

      用户可见的注释

      4.

      事件

      event

      MessageChanged(...);

      • 记录日志,不存储在状态中

      • Gas

        便于前端监听

      5.

      修饰符

      modifier

      onlyOwner()

      (5分钟)

      编译步骤
      1. 1.打开编译器

        • 点击左侧

          或使用快捷键Ctrl+S/Cmd+S

      2. 2.选择编译器版本

        • "Compiler"

          下拉菜单中选择0.8.20

        • 确保与

          声明匹配

      3. 3.编译合约

        • "Compile

          等待编译完成

      4. 4.检查结果

        • 绿色勾号:编译成功

        • 红色叉号:编译失败,查看错误信息

          />

          />

          我们看到编译的时候生成几个json文件,可以点进去看看。

      常见编译错误

      错误

      原因

      解决方法

      Expected

      identifier

      语法错误

      检查代码语法

      Type

      error

      类型不匹配

      检查变量类型

      Undeclared

      identifier

      变量未声明

      检查变量名拼写

      Function

      overload

      clash

      函数重载冲突

      修改函数签名

      />

      步骤

      (25分钟)

      部署合约
      1. 1.打开部署面板

        • 点击左侧

          图标

      2. 2.选择环境

        • 下拉菜单中选择

          无需连接钱包,测试使用

      3. 3.部署合约

        • "Deploy"

          按钮旁确认选中了HelloWeb3合约

        • "Deploy"

          等待部署完成

      />

      />4.查看部署结果

      • 在下方

        下找到HelloWeb3

      • 点击展开合约,可以看到所有公开的函数和变量

        />

        />

      测试合约

      1.

      message

      测试访问控制

      #

      切换到另一个账户

      函数)

      合约中定义了receive()函数,可以直接向合约地址转账:

      #

      Deploy

      找到最下方的合约地址按钮(低地址按钮)

      点击该地址按钮触发

      />

      在94.99的基础上又增加了5ETH

      />

      6.

      1)

      查看事件日志
      1. 1.打开调试面板

        • 点击左侧

          图标

      2. 2.查看事件

        • "logs"

          hash”中的内容到DEBUGGER中,就可以看到debug信息。

          />

          />

      了解不同的部署环境

      Remix

      适合开发测试

      Injected

      Provider

      MetaMask

      • MetaMask

        Gas

      Web3

      Provider

      • 需要提供

        URL

      今天我人只测试和体验了Remix

      Provider和Web3

      今日产出检查清单

      理论知识

      • EVM

        理解数据类型(值类型、引用类型)

      • 理解存储位置(storage、memory、calldata)

      实操能力

      • Remix

        掌握访问控制的使用

      代码能力

      • 能够处理

        wei?

        A:wei

        ETH

        wei。

        这是为了避免浮点数精度问题。

        1

        ETH

        吗?

        A:不完全正确。

        如果外部调用

        view/pure

        修饰符?

        A:只有带有

        payable

        ETH。

        这是为了防止意外转账和潜在的安全问题。

        Q4:

        事件和状态变量有什么区别?

        A:

        • 事件:

          记录日志,不存储在状态中,成本低,用于前端监听

        • 状态变量:

          永久存储,成本高,可以随时读取

        Q5:

        如何选择存储位置?

        A:

        • storage:

          需要永久保存的数据

        • memory:

          函数内部临时使用的数据

        • calldata:

          />

          📖

          课后作业(选做)

          1. 1.扩展合约功能

            • 添加一个计数器,记录合约被调用的总次数

            • 添加一个函数,可以设置最大修改次数

            • 实现一个简单的投票机制

          2. 2.测试不同数据类型

            • 创建一个使用

              struct

          3. 3.优化

            Gas

            使用事件替代部分状态变量

      • 4.记录学习笔记

        • 总结最佳实践

    />

    🎯

    明天预告

    明天我们将深入学习智能合约的进阶功能:

    • 掌握错误处理(require、revert、assert)

    • ERC-20

      学习智能合约的安全最佳实践

    预习建议:

    • 阅读关于面向对象编程的基础知识

    • ERC-20

      />难度:⭐⭐☆☆☆

      智能合约进阶与

      春节7天Web3学习计划:我决定用假期给自己"充值"

      祝你学习顺利!🚀



  • SEO优化服务概述

    作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。

    百度官方合作伙伴 白帽SEO技术 数据驱动优化 效果长期稳定

    SEO优化核心服务

    网站技术SEO

    • 网站结构优化 - 提升网站爬虫可访问性
    • 页面速度优化 - 缩短加载时间,提高用户体验
    • 移动端适配 - 确保移动设备友好性
    • HTTPS安全协议 - 提升网站安全性与信任度
    • 结构化数据标记 - 增强搜索结果显示效果

    内容优化服务

    • 关键词研究与布局 - 精准定位目标关键词
    • 高质量内容创作 - 原创、专业、有价值的内容
    • Meta标签优化 - 提升点击率和相关性
    • 内容更新策略 - 保持网站内容新鲜度
    • 多媒体内容优化 - 图片、视频SEO优化

    外链建设策略

    • 高质量外链获取 - 权威网站链接建设
    • 品牌提及监控 - 追踪品牌在线曝光
    • 行业目录提交 - 提升网站基础权威
    • 社交媒体整合 - 增强内容传播力
    • 链接质量分析 - 避免低质量链接风险

    SEO服务方案对比

    服务项目 基础套餐 标准套餐 高级定制
    关键词优化数量 10-20个核心词 30-50个核心词+长尾词 80-150个全方位覆盖
    内容优化 基础页面优化 全站内容优化+每月5篇原创 个性化内容策略+每月15篇原创
    技术SEO 基本技术检查 全面技术优化+移动适配 深度技术重构+性能优化
    外链建设 每月5-10条 每月20-30条高质量外链 每月50+条多渠道外链
    数据报告 月度基础报告 双周详细报告+分析 每周深度报告+策略调整
    效果保障 3-6个月见效 2-4个月见效 1-3个月快速见效

    SEO优化实施流程

    我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:

    1

    网站诊断分析

    全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。

    2

    关键词策略制定

    基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。

    3

    技术优化实施

    解决网站技术问题,优化网站结构,提升页面速度和移动端体验。

    4

    内容优化建设

    创作高质量原创内容,优化现有页面,建立内容更新机制。

    5

    外链建设推广

    获取高质量外部链接,建立品牌在线影响力,提升网站权威度。

    6

    数据监控调整

    持续监控排名、流量和转化数据,根据效果调整优化策略。

    SEO优化常见问题

    SEO优化一般需要多长时间才能看到效果?
    SEO是一个渐进的过程,通常需要3-6个月才能看到明显效果。具体时间取决于网站现状、竞争程度和优化强度。我们的标准套餐一般在2-4个月内开始显现效果,高级定制方案可能在1-3个月内就能看到初步成果。
    你们使用白帽SEO技术还是黑帽技术?
    我们始终坚持使用白帽SEO技术,遵循搜索引擎的官方指南。我们的优化策略注重长期效果和可持续性,绝不使用任何可能导致网站被惩罚的违规手段。作为百度官方合作伙伴,我们承诺提供安全、合规的SEO服务。
    SEO优化后效果能持续多久?
    通过我们的白帽SEO策略获得的排名和流量具有长期稳定性。一旦网站达到理想排名,只需适当的维护和更新,效果可以持续数年。我们提供优化后维护服务,确保您的网站长期保持竞争优势。
    你们提供SEO优化效果保障吗?
    我们提供基于数据的SEO效果承诺。根据服务套餐不同,我们承诺在约定时间内将核心关键词优化到指定排名位置,或实现约定的自然流量增长目标。所有承诺都会在服务合同中明确约定,并提供详细的KPI衡量标准。

    SEO优化效果数据

    基于我们服务的客户数据统计,平均优化效果如下:

    +85%
    自然搜索流量提升
    +120%
    关键词排名数量
    +60%
    网站转化率提升
    3-6月
    平均见效周期

    行业案例 - 制造业

    • 优化前:日均自然流量120,核心词无排名
    • 优化6个月后:日均自然流量950,15个核心词首页排名
    • 效果提升:流量增长692%,询盘量增加320%

    行业案例 - 电商

    • 优化前:月均自然订单50单,转化率1.2%
    • 优化4个月后:月均自然订单210单,转化率2.8%
    • 效果提升:订单增长320%,转化率提升133%

    行业案例 - 教育

    • 优化前:月均咨询量35个,主要依赖付费广告
    • 优化5个月后:月均咨询量180个,自然流量占比65%
    • 效果提升:咨询量增长414%,营销成本降低57%

    为什么选择我们的SEO服务

    专业团队

    • 10年以上SEO经验专家带队
    • 百度、Google认证工程师
    • 内容创作、技术开发、数据分析多领域团队
    • 持续培训保持技术领先

    数据驱动

    • 自主研发SEO分析工具
    • 实时排名监控系统
    • 竞争对手深度分析
    • 效果可视化报告

    透明合作

    • 清晰的服务内容和价格
    • 定期进展汇报和沟通
    • 效果数据实时可查
    • 灵活的合同条款

    我们的SEO服务理念

    我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。

    提交需求或反馈

    Demand feedback