提供快速的開發測試環境,啟動時自動創建十組帳號,資料僅暫時在記憶體中,程式關掉後資料就會消失。
圖形化介面
https://truffleframework.com/ganache
命令提示介面
// 安裝
npm install -g ganache-cli
// 執行
ganache-cli
目前 Solidity 生態系中,還沒有官方的套件管理工具,只能到處搜刮別人的作品,這邊列出幾個大家常用的工具函式庫。
使用方式
import "github.com/Arachnid/solidity-stringutils/strings.sol";
contract Contract {
using strings for *;
}
var s = "abc".toSlice().concat("def".toSlice());
// "abcdef"
提供標準化可重用 (reuse) 的智能合約框架,代碼經過社群審核和測試,可降低應用程式中的漏洞風險。
npm install --save-exact openzeppelin-solidity
.
├── ArrayUtilsLib
├── BasicMathLib
├── CrowdsaleLib
├── LinkedListLib
├── StringUtilsLib
├── TokenLib
├── VestingLib
├── WalletLib
新舊版之間比較明顯的語法變動,如下:
event
要加 emit
。constructor
,避免跟合約名稱有相依關係。舊版
pragma solidity ^0.4.20;
contract Example {
event Log(string message);
function Example() public {
Log("Hello");
}
}
新版
pragma solidity ^0.4.25;
contract Example {
event Log(string message);
constructor() public {
emit Log("Hello");
}
}
block.blockhash(block_number);
被 blockhash(block_number);
取代想要追蹤 Solidity 的最新動態,最好的方法當然就是查看官方的更動文件了。
https://github.com/ethereum/solidity/blob/develop/Changelog.md