全部的合約都位於./contracts目錄。默認狀況下提供一個 Solidity 合約文件和 Solidity 庫文件的例子給你,都是使用 .sol 後綴。雖然 Solidity 庫跟合約是不一樣的,此文檔咱們打算統稱其爲「合約」。javascript
要編譯你的合約,只須要運行以下命令:html
$ truffle compile
爲了減小編譯次數,Truffle 只編譯上次編譯後變動過的合約(譯者注:實際使用中每次都編譯了全部合約,不知是否新版本修改了默認參數)。若是你想覆蓋此行爲,運行上面命令的時候加上 --compile-all 選項。java
Truffle 預期你定義的合約名稱跟對應的文件名稱是徹底匹配的(譯者注:若是不匹配,將會獲得「contract or library '[your contract name]' not found.」錯誤)。舉例來講,若是你有一個名爲 MyContract.sol 的文件,如下狀況之一應該在合約文件中存在(譯者注:必須存在一同名合約,多個合約能夠定義在一個文件裏):spa
contract MyContract { ... } // or library MyContract { ... }
文件名匹配是大小寫敏感的,這意味着若是你的文件名不是大寫的,你的合約名稱也不該該大寫。咱們建議每一個詞首字母大寫(譯者注:就是駝峯式),像上面的例子。code
你可使用 Solidity 的導入命令聲明合約的依賴。Truffle 必然會自動地以正確的順序編譯合約和連接庫。htm
英文原文:http://truffle.readthedocs.io/en/latest/getting_started/compile/ip