Skip to content

Latest commit

 

History

History
71 lines (55 loc) · 3.03 KB

Thurendous.md

File metadata and controls

71 lines (55 loc) · 3.03 KB
timezone
Asia/Tokyo

Thurendous

  1. 自我介绍 Hi, 我是 Thurendous。30 岁开始转行,现在在做 Web3 相关的开发工作。喜欢新的领域,新的想法。 希望通过学习巩固自己的已经知道的 Solidity 知识。同时能够培养自己的学习习惯。共勉进步!

  2. 你认为你会完成本次残酷学习吗? 会尽力而为,不中途放弃。培养习惯,提高自己。

Notes

2024.09.23

(Day 1)

今天开始复习 solidity 的内容。残酷共学的初衷和学习方式个人非常地喜欢!加油!一起!

学习笔记

  1. Hello Web3 (三行代码)
  • 学习了 solidity 就可以看懂合约代码,不会的话在区块链世界就会很 low(圈重点)。
  • 写智能合约的话,需要做这些事情:
    • 写一个 license
      • License 是有各种各样的版本,MIT 是一个比较宽松和常见的。MIT 意味着任何人可以以任何方式使用,复制,修改,分发。甚至是商用你写的代码。还有一个 GPL 也是宽松的版本控制,但是他是要求你写的代码的源码必须公开。
    • 写版本
    • 写 import
    • 写合约的内容
  • 可以使用 Remix 来进行智能合约的书写。
    • 在 Solidity Editor 中写代码
    • 在 Solidity Compiler 中编译
    • 然后进行部署按 deploy 按键
    • 然后就会有一个智能合约的 interaction 的界面,可以进行交互了。
  1. 数据类型

值类型

  • 布尔型
    • 只有两个值:true 和 false
    • 默认值是 false
  • 整型
    • uint 无符号整数,正整数
    • int 有符号整数,正整数和负整数
    • uint 和 int 后面可以跟数字,表示这个整数有多少位。比如 uint8 就是 8 位,uint256 就是 256 位。uint 和 int 的取值范围是 0 到 2^n - 1。比如 uint8 的取值范围是 0 到 255,uint256 的取值范围是 0 到 2^256 - 1。
    • uint 和 int 默认是 uint256 和 int256。
  • 地址类型
    • address 是一个 160 位的整数,表示一个以太坊地址。
    • address 可以用来表示一个账户的地址,也可以用来表示一个合约的地址。
    • 可以添加 payable 关键字,表示这个地址可以接收以太币。
  • 定长字节数组
    • bytes1 到 bytes32,分别表示 1 到 32 个字节的字节数组。
    • 定长的 bytes 可以节省一些 gas。
    • 定长字节数组的长度是固定的,不能改变。
  • 变长字节数组
    • bytes 是一个可变长度的字节数组。
    • bytes 的长度可以改变,可以存储任意长度的数据。
  • 枚举 enum
    • 枚举类型是一个用户自定义的类型,可以用来表示一组有限的值。
    • 枚举(enum)是 Solidity 中用户定义的数据类型。它主要用于为 uint 分配名称,使程序易于阅读和维护。它与 C 语言 中的 enum 类似,使用名称来代替从 0 开始的 uint。
    • 枚举可以显式地和 uint 相互转换,并会检查转换的正整数是否在枚举的长度内,

另外的引用类型和映射类型以后会介绍到。