(truffle官翻)第5讲 编译合约

概述

小编使用的是Truffle Develope环境,因此,关于项目编译的命令,都没有加上前缀truffle,若使用Ganache环境,请加上该前缀,具体可参考其中的描述:第4讲 选择一个以太坊客户端

位置

  • 在/contracts中,所有的智能合约原文件都在这里(后缀为.sol的文件)
  • 在/contracts中,有一个默认的Migrations.sol文件,它是用来协助部署的。

命令行

为了编译truffle项目,需要先进入到项目根目录,然后输入如下命令:

1
2
truffle develop  //进入环境
compile //该环境中编译

当你第一次编译的时候,所有的合约都会被编译;
当再次编译的时候,只会编译改动过的合约文件;
如果要覆盖重新编译,则需要输入配置项:–all

编译出的文件

编译生成的文件会被放在/build/contracts目录中,不可以修改其中的文件

依赖

可以使用import命令来申明合约的依赖关系,truffle会依照正确的顺序编译合同,并且确保所有的依赖关系发送给编译器,可以使用两种方式指定依赖

  1. 通过文件名导入依赖
    要从单独的文件导入别的合约,需要填入如下代码到你的当前合约源文件中:
    1
    import "./AnotherContract.sol"
    这将会使得AnotherContract.sol中的合约都生效
  2. 从现有的包中导入合约,
    1. truffle支持从EthPM或者npm安装的包文件中导入的合约,在你当前编辑的合约中加入(编译时,truffle会先检索EthPM的包,然后才是npm的):
      import "somepackage/SomeContract.sol"
      
    2. EthPM没用过。。。自行网上搜索吧
Donate
  • Copyright: Copyright is owned by the author. For commercial reprints, please contact the author for authorization. For non-commercial reprints, please indicate the source.
  • Copyrights © 2017-2023 Jason
  • Visitors: | Views:

谢谢打赏~

微信