iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 3
0
Blockchain

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

Day03 - 編譯器的支援度

  • 分享至 

  • xImage
  •  

因為 v0.5.x 版的語法上有很大的改變,所以連編譯器都不支援向下相容了。

向下相容(downward compatibility),又稱向後相容(backward compatibility)、回溯相容,在電腦中指在一個程式、庫或硬體更新到較新版本後,用舊版本程式建立的文件或系統仍能被正常操作或使用(包括輸入資料)、在舊版本庫的基礎上開發的程式仍能正常編譯執行,或較舊版的硬體仍可在新版使用的情況 - 維基百科

舊的程式碼,需要選擇舊版本的編譯器

v0.4.x 以下的程式,已經無法被 v0.5.0 以上編譯器編譯,需要選擇低版的的編譯器才能編譯 (0.4.x 版本以下)。

舊版本的程式碼 (v0.4.x 以下)

pragma solidity ^0.4.25;
contract OldContract {
   function someOldFunction(uint8 a) {}
   function anotherOldFunction() constant returns (bool) {}
}

新版本的程式碼 (v0.5)

pragma solidity >=0.5.0 <0.7.0;
interface OldContract {
   function someOldFunction(uint8 a) external;
   function anotherOldFunction() external returns (bool);
}

上一篇
Day02 - Solidity 新版新增的關鍵字跟保留字
下一篇
Day04 - 可見度和 mutability
系列文
有什麼新鮮事發生在 Ethereum30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言