Skip to content

Latest commit

 

History

History
186 lines (102 loc) · 4.58 KB

qiaopengjun.md

File metadata and controls

186 lines (102 loc) · 4.58 KB
timezone
Asia/Shanghai

请在上边的 timezone 添加你的当地时区,这会有助于你的打卡状态的自动化更新,如果没有添加,默认为北京时间 UTC+8 时区 时区请参考以下列表,请移除 # 以后的内容

timezone: Pacific/Honolulu # 夏威夷-阿留申标准时间 (UTC-10)

timezone: America/Anchorage # 阿拉斯加夏令时间 (UTC-8)

timezone: America/Los_Angeles # 太平洋夏令时间 (UTC-7)

timezone: America/Denver # 山地夏令时间 (UTC-6)

timezone: America/Chicago # 中部夏令时间 (UTC-5)

timezone: America/New_York # 东部夏令时间 (UTC-4)

timezone: America/Halifax # 大西洋夏令时间 (UTC-3)

timezone: America/St_Johns # 纽芬兰夏令时间 (UTC-2:30)

timezone: Asia/Dubai # 海湾标准时间 (UTC+4)

timezone: Asia/Kolkata # 印度标准时间 (UTC+5:30)

timezone: Asia/Dhaka # 孟加拉国标准时间 (UTC+6)

timezone: Asia/Bangkok # 中南半岛时间 (UTC+7)

timezone: Asia/Shanghai # 中国标准时间 (UTC+8)

timezone: Asia/Tokyo # 日本标准时间 (UTC+9)

timezone: Australia/Sydney # 澳大利亚东部标准时间 (UTC+10)


YourName

  1. 自我介绍 Qiao Pengjun 乔鹏军。有Python、Go、Rust、solidity的开发经验。大约是去年开始了解Web3,最近在学习solidity。对区块链技术很感兴趣。了解了一点Solana、Sui、Starknet... 正在继续学习。希望本次学习能让我更深入的了解Web3。拥抱Web3,拥抱未来。

  2. 你认为你会完成本次残酷学习吗? 我认为我会完成本次残酷学习,因为我有信心,并且我相信我能够克服任何困难。

Notes

2024.09.23

默认情况下,Remix 会使用 Remix 虚拟机(以前称为 JavaScript 虚拟机)来模拟以太坊链,运行智能合约,类似在浏览器里运行一条测试链。Remix 还会为你分配一些测试账户,每个账户里有 100 ETH(测试代币),随意使用。点击 Deploy(黄色按钮),即可部署我们编写的合约。

Solidity中的变量类型 值类型(Value Type):包括布尔型,整数型等等,这类变量赋值时候直接传递数值。

引用类型(Reference Type):包括数组和结构体,这类变量占空间大,赋值时候直接传递地址(类似指针)。

映射类型(Mapping Type): Solidity中存储键值对的数据结构,可以理解为哈希表

地址类型(address)有两类:

普通地址(address): 存储一个 20 字节的值(以太坊地址的大小)。 payable address: 比普通地址多了 transfer 和 send 两个成员方法,用于接收转账。

{internal|external|public|private}:函数可见性说明符,共有4种。

public:内部和外部均可见。 private:只能从本合约内部访问,继承的合约也不能使用。 external:只能从合约外部访问(但内部可以通过 this.f() 来调用,f是函数名)。 internal: 只能从合约内部访问,继承的合约可以用。

注意 1:合约中定义的函数需要明确指定可见性,它们没有默认值。

注意 2:public|private|internal 也可用于修饰状态变量。public变量会自动生成同名的getter函数,用于查询数值。未标明可见性类型的状态变量,默认为internal。

包含 pure 和 view 关键字的函数是不改写链上状态的,因此用户直接调用它们是不需要付 gas 的(注意,合约中非 pure/view 函数调用 pure/view 函数时需要付gas)。

在以太坊中,以下语句被视为修改链上状态:

写入状态变量。 释放事件。 创建其他合约。 使用 selfdestruct. 通过调用发送以太币。 调用任何未标记 view 或 pure 的函数。 使用低级调用(low-level calls)。 使用包含某些操作码的内联汇编。

view 函数可以读取状态变量,但不能改写;pure 函数既不能读取也不能改写状态变量。

2024.09.24

笔记内容

2024.09.25

笔记内容

2024.09.26

笔记内容

2024.09.27

笔记内容

2024.09.28

笔记内容

2024.09.29

笔记内容

2024.09.30

笔记内容

2024.10.01

笔记内容

2024.10.02

笔记内容

2024.10.03

笔记内容

2024.10.04

笔记内容

2024.10.05

笔记内容

2024.10.06

笔记内容

2024.10.07

笔记内容

2024.10.08

笔记内容

2024.10.09

笔记内容

2024.10.10

笔记内容

2024.10.11

笔记内容

2024.10.12

笔记内容

2024.10.13

笔记内容

2024.10.14

笔记内容

2024.10.15

笔记内容

2024.10.16

笔记内容