iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 6
0
Blockchain

有什麼新鮮事發生在 Ethereum系列 第 6

Day06 - Solidity 新版禁止使用的函式

為了省略過多的贅字,我們通稱 0.5.0 以上為新版。

禁止使用 callcode 語法

callcode 語法在新版被禁用了,改由 delegatecall 所取代。

禁止使用 suicide 語法

suicide 語法在新版被禁用了,改由 selfdestruct 所取代。

禁止使用 sha3 語法

sha3 語法在新版被禁用了,改由 keccak256 所取代。

keccak256("ab", "c");
keccak256("abc");
keccak256(0x616263);
keccak256(6382179);
keccak256(97, 98, 99);

禁止使用 throw 語法

因為單用一個 throw 代表所有的錯誤情況實在是太籠統了,所以在 v0.4.21 版的時候,拆成了三個語法分別是 revertrequireassert,其實在之前的版本使用到 throw 語法已經會跳出警告了,但到了新版開始被完全移除,會導致無法編譯。

編譯錯誤

if (x > 100) throw;

編譯正常

require(x > 100);

上一篇
Day05 - 使用變數方式的更變
下一篇
Day07 - 新版修正 Solidity 語言本身的一些邏輯錯誤
系列文
有什麼新鮮事發生在 Ethereum30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言