惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

T
Threatpost
The Hacker News
The Hacker News
AWS News Blog
AWS News Blog
Spread Privacy
Spread Privacy
T
Tenable Blog
C
CERT Recently Published Vulnerability Notes
Cisco Talos Blog
Cisco Talos Blog
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
S
Securelist
P
Privacy & Cybersecurity Law Blog
Know Your Adversary
Know Your Adversary
T
The Exploit Database - CXSecurity.com
Latest news
Latest news
D
Darknet – Hacking Tools, Hacker News & Cyber Security
I
Intezer
F
Fortinet All Blogs
Engineering at Meta
Engineering at Meta
Simon Willison's Weblog
Simon Willison's Weblog
The Register - Security
The Register - Security
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
L
Lohrmann on Cybersecurity
C
Cyber Attacks, Cyber Crime and Cyber Security
Microsoft Azure Blog
Microsoft Azure Blog
P
Proofpoint News Feed
H
Help Net Security
T
Threat Research - Cisco Blogs
D
DataBreaches.Net
S
Schneier on Security
Cyberwarzone
Cyberwarzone
Google DeepMind News
Google DeepMind News
P
Privacy International News Feed
S
Secure Thoughts
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Recorded Future
Recorded Future
C
Cybersecurity and Infrastructure Security Agency CISA
MyScale Blog
MyScale Blog
M
MIT News - Artificial intelligence
Stack Overflow Blog
Stack Overflow Blog
IT之家
IT之家
人人都是产品经理
人人都是产品经理
NISL@THU
NISL@THU
博客园 - Franky
T
Tor Project blog
G
GRAHAM CLULEY
博客园 - 【当耐特】
Jina AI
Jina AI
Security Archives - TechRepublic
Security Archives - TechRepublic
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
A
About on SuperTechFans
Hacker News - Newest:
Hacker News - Newest: "LLM"

六个周

从注册公司到个人报税全流程(图文版) 如何蜗居赚钱:探索多种可能性 为什么不敢与人发生冲突 小白开公司全流程 每周小结(*106):为什么我就完不成目标呢 每周小结(*105):牛马生活开始 每周小结(*104):关于早起这件大事 每周小结(*103):开启新博客纪录 2023 年终小结 每周小结(*101):暂时告个别 每周小结(*100):总结过去,提升幸福感 每周小结(*99):鸽了一期 每周小结(*98):情绪 EMO 每周小结(*97):累瘫了 每周小结(*96):十分钟冥想 web3js 实战基本操作 每周小结(*95):小酒 每周小结(*94):KTV小小感 每周小结(*93):离职后很焦虑怎么缓解
以太坊基础笔记
2023-02-17 · via 六个周

ethereum

这篇文章用来记录在学习以太坊的过程中,一些相关的基本概念和 solidity 语言的相关基础语法等。

以太坊基础

涉及工具

tools

区块链发展简史

history

EOS是什么

以太坊中的重要概念

concept

以太坊的货币

  • 以太坊 ethereum ,货币为 以太 ether
  • 2014年7/8月 众筹发行大约 7200万以太币(矿前),后经过挖矿产生,每年被限制不超过 7200万的25%,未来产量变化不确定。
  • 以太币供应量查询

以太币单位

wei

Solidity

变量

基本类型

  • int (整型)
  • uint (无符号整型)
  • bool (布尔类型)
  • address (地址类型)
  • string (字符串)
  • byte (字节)

引用类型

  • bytes32 (字节数组)
  • mapping(type => type) (一对一映射)
  • strut 结构体
  • Type[8] 定长数组
  • Type[] 动态数组
  • strut 结构体

一些结构

  • strut 结构体
  • enum (枚举类型)
  • contract 合约
  • function 函数
  • event 事件
  • modifier 修饰符

存储方式

  • storage: 成员变量,永久保存在状态树中(付费)
  • memory:局部变量,临时存储(值传递)
  • calldata: 函数参数变量(临时存储的一个数据位置)

表达式

  • 逻辑运算符: andornot
  • 关系运算符: ===><=
  • 位运算符: &|
  • 条件运算符: ?:
  • 算数运算符: +-*/

控制流程

if, else, while, do, for, switch, continue, break, return

内置对象 block

Block 在调用某个方法的时候,solidity会提供一个block的变量,把当前块的信息返回。 
  • block.coinbase(): 返回挖掘此块的节点地址
  • block.difficulty(): 返回当前区块的难度
  • block.gaslimit(): 返回当前块的最大燃气量
  • block.limit(): 返回当前区块的gas消耗限制
  • block.number(): 返回链上当前块高、编号
  • block.timestamp(): 返回当前区块的时间戳

内置对象 msg

  • msg.sender(): 返回当前调用合约的发送者的地址
  • msg.gas(): 返回燃料的消耗量
  • msg.sig(): 返回数据的前四个字节
  • msg.value: 返回发送消息的数量

内置其他函数

  • account.balance(): 返回地的址余额(以wei为单位)
  • address.transfer(): 在两个账户之间转移ether
  • assert(bool condition,string memory reason):自信某一条件一定成立,用于安全设计,如果不成立,扣光所有gas
  • require(bool condition,string memory reason):温和认定某条件成立,如果不满足,退回剩余的gas
  • revert(string memory reason):终止合约执行,并还原状态变更
  • now(): 返回当前时间的时间戳(秒)
  • 随机数:
1
random = uint(keccak256(abi.encodePacked(msg.sender,block.difficulty,now)))

本文标题:以太坊基础笔记

文章作者:六个周

发布时间:2023-02-17

最后更新:2024-01-29

原始链接:https://blog.liugezhou.online/034-ethereum/

版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC-SA 3.0 CN 许可协议。转载请注明出处!