位置
所有的合约都位于./contracts目录。默认情况下提供一个 Solidity 文件和 Solidity 文件的例子给你,都是使用 .sol 后缀。虽然 Solidity 库跟合约是不同的,此文档我们打算统称其为“合约”。
命令
要编译你的合约,只需要运行如下命令:
$ truffle compile
为了减少编译次数,Truffle 只编译上次编译后变更过的合约(译者注:实际使用中每次都编译了所有合约,不知是否新版本修改了默认参数)。如果你想覆盖此行为,运行上面命令的时候加上 --compile-all 选项。
约定
Truffle 预期你定义的合约名称跟对应的文件名称是完全匹配的(译者注:如果不匹配,将会得到“contract or library '[your contract name]' not found.”错误)。举例来说,如果你有一个名为 MyContract.sol 的文件,以下情况之一应该在合约文件中存在(译者注:必须存在一同名合约,多个合约可以定义在一个文件里):
contract MyContract { ...}// orlibrary MyContract { ...}
文件名匹配是大小写敏感的,这意味着如果你的文件名不是大写的,你的合约名称也不应该大写。我们建议每个词首字母大写(译者注:就是驼峰式),像上面的例子。
依赖
你可以使用 Solidity 的命令声明合约的依赖。Truffle 必然会自动地以正确的顺序编译合约和链接库。
英文原文: