打字猴:1.70387931e+09
1703879310
1703879311 为了向测试合约发送以太币,在合约中应当有一个返回uint的公共函数,叫作initialBalance。这可以直接被编写成函数或者公共变量。当测试合约被部署到网络中时,truffle将从测试账户发送该数量的以太币到测试合约。在测试状态下,测试合约随后可以使用那些以太币设置演示以太币交互。注意,initialBalance是可选项,而非必选项。例如:
1703879312
1703879313
1703879314
1703879315
1703879316
1703879317 truffle用不执行回退函数的方式发送以太币到测试合约,所以仍然可以使用测试中的回退函数进行高级测试。
1703879318
1703879319 3.运行测试
1703879320
1703879321 要运行测试脚本,请运行如下命令:
1703879322
1703879323
1703879324
1703879325
1703879326 或者,可以给想运行的特定文件指定一个路径。比如,
1703879327
1703879328
1703879329
1703879330
1703879331
1703879332
1703879333
1703879334 区块链项目开发指南 [:1703875399]
1703879335 区块链项目开发指南 8.4.7 包管理
1703879336
1703879337 truffle包(package)是智能合约及其artifacts的集合。一个包可以依赖于零个或者多个包,即使用包的智能合约和artifacts。当使用自己项目的包时,在两个地方将会使用包的智能合约和artifacts:项目的合约里;项目的JavaScript代码(移植和测试)里。
1703879338
1703879339 用truffle创建的项目默认有特定的布局,这使它们能够当作包使用。truffle包中最重要的目录如下:
1703879340
1703879341 ·/contracts。
1703879342
1703879343 ·/build/contracts(由truffle创建)。
1703879344
1703879345 第一个目录是合约目录,其中包括原始Solidity合约;第二个目录是/build/contracts目录,其中以.json文件形式包含创建artifact。
1703879346
1703879347 truffle支持两种包构建:npm和ethpm包。必须知道npm包是什么。先来看ethpm包是什么。ethpm是以太坊的包注册中心。可以在https://www.ethpm.com/发现所有ethpm包。它遵循ERC190(https://github.com/ethereum/EIPs/issues/190)规范发布和使用智能合约包。
1703879348
1703879349 1.通过NPM进行包管理
1703879350
1703879351 truffle默认与npm进行整合,且知道项目node_modules目录(如果存在)。这意味着可以通过npm使用和分配合约或者库,使用户代码对其他人可用以及使其他人的代码对用户可用。还可以使项目中有一个package.json文件。可以在项目中简单安装任何npm包,并在任何JavaScript文件中导入它,但是只有在它包含前面提到的两个目录的情况下才会被称为truffle包。在truffle项目中安装npm包,与在任何node.js app中安装npm包相同。
1703879352
1703879353 2.通过ethpm进行包管理
1703879354
1703879355 在安装ethpm包时,如果没有installed_contracts目录,就创建一个。该目录可以用类似于node_modules目录的方式处理。
1703879356
1703879357 从ethpm安装包几乎和通过NPM安装包一样简单,只要简单运行如下命令:
1703879358
1703879359
[ 上一页 ]  [ :1.70387931e+09 ]  [ 下一页 ]