标签归档:Truffle

使用Truffle部署智能合约

简介

Truffle是一个世界级的开发环境,测试框架,以太坊的资源管理通道,致力于让以太坊上的开发变得简单,Truffle有以下:

  • 内置的智能合约编译,链接,部署和二进制文件的管理。

  • 快速开发下的自动合约测试。

  • 脚本化的,可扩展的部署与发布框架。

  • 部署到不管多少的公网或私网的网络环境管理功能

  • 使用EthPM&NPM提供的包管理,使用ERC190标准。

  • 与合约直接通信的直接交互控制台(写完合约就可以命令行里验证了)。

  • 可配的构建流程,支持紧密集成。

  • 在Truffle环境里支持执行外部的脚本。

安装Truffle

nodejs版本5.0以上。如果中断报错就多试几次吧。

构建一个Truffle项目

安装完truffle之后,我们使用官方的案例来走一遍流程。

创建项目目录:

使用官方安装官方metacoin示例,

安装完成后目录:

测试项目

编译智能合约

编译成功后项目目录下会多出一个build的目录,保存编译文件。

发布合约到本地环境

首先启动geth

启动成功后,我们开启开启挖矿。因为发布合约需要旷工挖矿才能生效。

truffle迁移合约

在迁移之前我们需要先编写我们的配置文件,主要设置网络配置。

设置网络环境为development,并且配置对应的ip:port

设置好配置之后,我们尽心迁移

此时我们已经将合约发布到我们本地的私有链上去了。

与智能合约交互

使用控制台通过下面的方式进行交互:

  • 查看账户余额

  • 看看有多少以太合适(并注意合约定义1个metacoin价值2以太)

  • 从一个账号转账到另一个账号

  • 检查是否收到metacoin

  • 检查给别人转账的账户

注意:

  1. MetaCoin 的合约地址如下:

  1. 配置文件中的network_id: "*"表示匹配所有网络。

  2. 配置文件中需要填写gasgasPrice的设置,否者迁移的时候会报错。

报错信息如下:

  1. 迁移的时候主账户必须解锁,否则会报错帐号未解锁。

搭建自己的Hello World

创建项目目录,

初始化项目

编写合约hello world

编写迁移文件

编译合约

设置配置文件

迁移合约

合约地址为

进入truffle的控制台,并且调用方法输出hello world