以太坊区块链Truffle框架安装和使用

Truffle安装

本教程的要求是你要知道它是什么以及如何使用命令行工具,并且你要稍微熟悉 NPM,可查看官网文档。

Truffle

打开命令行窗口,并输入:

npm install -g truffle

如果出现错误,建议你多阅读有关 Truffle 的文档。

Truffle使用

truffle 项目的初始化

在终端窗口执行下面命令进行项目初始化:

truffle init

以太坊区块链Truffle框架安装和使用_第1张图片

项目初始化后生成上面的目录结构,下面对文件结构作个简要的说明:

Contracts文件夹用来存放合约代码,Migrations.sol框架自带的合约代码,合约方便进行合约部署。合约的代码可以放在此文件下。

Migrations文件夹用来存放合约的部署脚本,默认包含部署Migrations.sol。每一个合约对应一个部署脚本。

Truffle-config.js用来配置网络的情况。可配置多个网络包括:测试网络,正式网络等。

Truffle.js windows在命令行环境,运行命令会默认打开这个文件,在windows环境可删掉。

 

Truffle框架常用的命令

以官网SimpleStorage.sol合约为例,合约的代码如下,把合约文件放在项目的contracts文件下面:

pragma solidity ^0.4.17;

contract SimpleStorage {

 uint myVariable;

  function set(uint x) public {

  myVariable = x;

  }

  function get() constant public returns (uint) {

   return myVariable;
   
  }

}

在命令窗口,执行下面命令,编译合约:       

truffle compile

项目的根目录下生成builds文件下如下图:

 以太坊区块链Truffle框架安装和使用_第2张图片

编译完成后,下一步我们需要部署合约了,为了演示方便,部署环境使用Truffle自带的测试环境truffle-config.js不需要调整:

然后,我们需要创建SimpleStorage合约的部署脚本,上文讲过,一个合约对应一个部署的脚本,命名为2_initial_migrations.js(脚本命名规则,如果有N个合约,脚本命名n_ initial_migrations.js),编写脚本的内容如下:

var SimpleStorage =artifacts.require("./SimpleStorage");

module.exports =function(deployer) {

  deployer.deploy(SimpleStorage);

};

编写完成SimpleStorage合约部署脚本后,运行下面命令,进入控制台

 truffle develop

控制台正常启动后,默认初始化10个账户,如下图:

以太坊区块链Truffle框架安装和使用_第3张图片

正常启动控制台,执行下面命令即可部署合约到Truffle自带的测试环境:

migrate

  

以太坊区块链Truffle框架安装和使用_第4张图片

 

控制台常用命令:

合约修改后,重新部署合约,而不需要退出控制台        

migrate –reset   

获取合约的实例:

var instance
SimpleStorage.deployed().then(function(i){instance=i;})

调用合约非交易方法SimpleStorage.get()

instance.get.call()

调用合约交易方法SimpleStorage.set()

instance.set(4)

debug交易,txid为交易的哈希值

debug  txid

启动控制台日志信息

truffle develop --log

 

你可能感兴趣的:(区块链)