lemooljiang avatar

solidity 0.8版本更新 / 学习智能合约#46

lemooljiang

Published: 24 Aug 2021 › Updated: 24 Aug 2021

solidity 0.8版本更新 / 学习智能合约#46

solidity版本更新的速度很快啊,半年没玩,就有点跟不上进度了!查看了下新的版本,现在已到0.8.7,也有不少的更新:集成的SafeMath和新的错误处理。

手册

SafeMath

solidity在0.8版本以前需要引入SafeMath库以避免计算时溢出,但在0.8版本以后自身已经集成了,则无需再引入。下面简单地测试下,

//SafeMath是从左到右开始计算的: + add  - sub  * mul  / div
uint a = 2;
uint b = 5;
uint c = 23;
(a+b)*c -> a.add(b).mul(c)

//0.8版本以后
uint x = 0;
x--;  //出错,会回滚

unchecked { ... },
  uint x = 0;
  unchecked { x--; }  //返回最大值 type(uint).max

uint a = 2;
uint b = 5;
uint c = 23;
return a + b * c;   ->117
return (a + b) * c; ->161
return a * b + c;   ->33
return  b / a + c;  ->25
return c / (a + b); ->3 

自身集成了SafeMath终归是件好事,使用起来更适合小学生水平。其它的一些特点注意下倒也没什么太大变化。

Leave solidity 0.8版本更新 / 学习智能合约#46 to:

Written by

Designer , Poet , Technology enthusiasts

Read more #smartcontract posts


Best Posts From lemooljiang

We have not curated any of lemooljiang's posts yet. But you can encourage our curation team to review posts by visiting them regularly and by referring other readers. Because we give priority to frequently read content.

More Posts From lemooljiang