全部的合约都位于./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