ChainIDE 3. 使用truffle部署合约

Posted 软件工程小施同学

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ChainIDE 3. 使用truffle部署合约相关的知识,希望对你有一定的参考价值。

1.使用truffle部署合约

truffle使用以太坊虚拟机 (EVM) 为区块链提供世界一流的开发环境、测试框架和资产管理,旨在让开发人员更轻松地进行开发。

从ChainIDE 2.1版本开始支持Terminal功能,可以使用后台进行truffle框架的测试编译和部署功能。

本教程目的在于教导如何在chainIDE中使用truffle,而具体的truffle用法请查阅其相关文档。

打开命令行

点击右下角的”输出“,再点击中间的“命令行”,再点击“truffle”,即可切换到命令行界面。

 

创建项目工程

Truffle 大多数命令都是在 Truffle 项目目录下运行的。 所以第一步是创建一个 Truffle 项目。 可以创建一个空项目模板,不过对于刚接触Truffle的同学,推荐使用Truffle Boxes,它提供了示例应用代码和项目模板。 我们将使用MetaCoin box作为案例,它创建一个可以在帐户之间转移的Token(代币),开发者可以修改案例里的相关文件来进行开发,这样方便了许多。

  1. 1.为 Truffle 项目创建新目录:
    mkdir MetaCoin
    
    cd MetaCoin

  2. 2.下载 (“unbox”) MetaCoin box:
    truffle unbox metacoin

注解

也可以使用 truffle unbox <box-name> 命令下载其他的 Box

注解

如果要创建没有合约的空工程,可以使用 truffle init

在操作完成之后,就有这样的一个项目结构:

  • contracts/: Solidity合约目录

  • migrations/: 部署脚本文件目录

  • test/: 测试脚本目录,参考 如何测试应用?

  • truffle-config.js: Truffle 配置文件

使用测试

  1. 1.打开控制台终端,运行 Solidity 测试用例:

    truffle test ./test/TestMetaCoin.sol

    我们可以看到下面的输出:

     

运行测试用例的时候。期望的行为,会输出在控制台

  1. 1.运行 javascript 测试用例

    truffle test ./test/metacoin.js

    我们可以看到下面的输出:

     

编译合约

  1. 1.编译智能合约:
    truffle compile

    我们可以看到下面的输出:

     

使用 Truffle Develop 部署合约

注解

如果使用 Ganache , 可以直接跳到下一部分。

为了部署我们的合约,我们需要连接到区块链网络。Truffle 提供了一个内置的个人模拟区块链,它可以帮助我们用来测试。注意,这个区块链是内地在我们本地的系统里面,他不和以太坊的组网进行连接。

我们可以使用Truffle Develop来创建区块链,并与之交互。

  1. 1.运行 Truffle Develop:
truffle develop

控制台会显示10个账号,和他们对你的私钥,这些账号可以用来和区块链进行交互。

2. 在 truffle(develop)> 提示符(因为提供了一个交互式控制台)下, Truffle 的命令可以不带前缀 truffle 执行。比如,可以直接输入compile 来执行truffle compile,以及直接输入 migrate 来部署编译的智能合约到区块链(相当于truffle migrate):

migrate

控制台会显示交易的ID号,部署的合约地址。以及交易的花费和一些相关的状态。

3. 使用truffle部署合约 - ChainIDE-Chinese

以上是关于ChainIDE 3. 使用truffle部署合约的主要内容,如果未能解决你的问题,请参考以下文章

区块链入门Truffle 项目实战,Solidity IDE, 智能合约部署

truffle部署指定的合约

验证使用 Truffle 部署的智能合约代码

Truffle项目搭建编译部署验证合约

以太坊——运用truffle框架部署第一个DAPP ---- Pet-Shop

Truffle 部署的合约无法通过 Etherscan 进行验证