1、命名規範

避免使用

小寫的L,大寫的I,大寫的O 應該避免在命名中單獨出現,因為很容易產生混淆。

合約、庫、事件、枚舉及結構體命名——大駝峰

合約、庫、事件及結構體命名應該使用單詞首字母大寫的方式。

比如:SimpleToken, SmartBank, CertificateHashRepository,Player。

函數、參數、變量及修飾器

函數、參數、變量及修飾器應該使用首單詞小寫後面單詞大寫的方式,

如:

l函數名應該如:getBalance,transfer,verifyOwner,addMember。

l參數和變量應該如:initialSupply,senderAddress,account,isPreSale。

l修飾器應該如:onlyAfter,onlyOwner

常量

常量應該使用全大寫及下劃線分割大詞的方式,如:MAX_BLOCKS,TOKEN_NAME, CONTRACT_VERSION。

正確使用"_"開頭的命名方式

延用Javascript中的約定俗成的命名規範,對私有函數和私有變量使用"_"開頭的命名方式,方便區分。

2.代碼格式

空行

合約之前、函數之間應該有空行。

左括號

左括號不要換行。

適當空格

在函數、修飾器中定義參數時,參數之前要有一個空格。

3.函數編寫規範

按照規定的順序編寫函數

Solidity編碼規範

明確函數的可見性

所有的函數(包括構造函數)應該在定義的時候明確函數的可見性。

可見性應在修飾符前

函數的可見性應該寫在自定義的函數修飾符前面。

區分函數和事件

為了防止函數和事件(Event)產生混淆,聲明一個事件名稱首字母大寫。對於函數, 始終以首字母小寫。

Chainpip介紹

Chainpip是一款關於以太坊智能合約開發的網站, chainpip集成solidity開發環境,提供可視化編譯、部署、執行合約等功能,而solidity是以太坊官方設計和支持的開發語言,專門用於編寫智能合約。用戶使用chainpip就能很快上手,開發一款智能合約。用戶還可以在Chainpip上看到其他的dapp項目,可自由複制這些dapp,學習如何開發智能合約。 Chainpip還支持多種以太坊系的鏈: Ethereum(ETH), BNB Smart Chain(BSC), Polygon PoS Chain(MATIC)等。

Solidity編碼規範

Chainpip地址:www.chainpip.com