truffle框架的简单使用
truffle
给大家介绍一下这个框架怎么使用,其实把这个框架就是你们看我之前有一个教程是教你们怎么用remix-ide来连接私有链,编译,配置合约,然后进行调用的,truffle其实就是把这个步骤放到了一个文件夹中,让你不用自己弄来弄去,但是其实我更喜欢remix-ide那种。
首先是初始化一个truffle,在这里呢我是使用了truffle的一个实例metacoin
truffle unbox metacoin

然后文件夹中就会生成这几个文件夹

在contracts文件夹中有这三个文件,如果是自己配置的话,这里就是放合约文件(sol)的地方
然后就是migrations文件夹中,如果是自己配置就只有1_initial_migration.js这一个文件,所以需要自己设置2_deploy_contracts.js这个文件夹

这里有一个十分重要的地方就是如果构造文件中有参数,则在deployer.deploy(合约文件名,输入参数)
Deployer,link();//是当两个合约之间一个文件中有调用另一个文件时使用的
然后就应该在truffle.js这个文件中配置来连接私有链,当然首先应该先要打开私有链
添加进内容:
networks: {
development: {
host: "localhost",
port: 8545,//这个port应该设置为自己的私有链的port
network_id: "*" // Match any network id
}
}
然后这样就配置好了,就可以开始进行编译、部署然后在console中调用
先是编译truffle compile
然后就产生了build这个文件夹,这个文件夹中生成的是json文件,即合约的ABI
truffle migrate(如果之后有更改过一定要加 —reset)
然后进行合约的调用
truffle console
在truffle console中输入loveToken.deployed().then(instance => contract = instance)(loveToken是在migrations-2_deploy_contracts.js中的var loveToken = artifacts.require(“./loveToken.sol”);语句定义的),回车,就能够得到合约部署的信息,这就说明部署成功了
然后调用contract.owner.call(),就可以成功得到值了

如果退出了console,就会发现contract.owner.call()没有用了
然后可以在test文件夹中写js测试文件来测试合约
然后就可以在终端中运行truffle test来调用这个测试文件
如果想对某个单个文件执行测试的方式是:
truffle test 测试文件名
truffle的测试文件的编写是包装了mocha测试框架和chai断言的(这方面的内容在Chai 断言-truffle和Mocha 测试框架 -truffle这里看)
然后这就是truffle这个框架使用简单的使用方式
truffle框架的简单使用的更多相关文章
- Truffle框架环境搭建
注意:本教程需要Truffle4.0或者是更高的版本 以太坊的智能合约只是代码,和我们的纸质代码不同,此合同需要非常精确的方式理解 如果合同编码不正确,我们的交易可能会失败,会导致gas的损失,更不用 ...
- 基于ThinkPHP框架的简单的后台管理系统
版权声明:本文为博主原创文章,未经博主允许不得转载. 基于ThinkPHP框架的简单的后台管理系统 一个简单的后台管理系统,可能还不全面,可以自己改,有登录功能 实例如图:
- PHP ORM框架与简单代码实现(转)
对象关系映射(Object Relational Mapping,简称ORM)是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术. 简单的说,ORM是通过使用描述对象和数据库之间映射的元数据 ...
- 初识服务发现及Consul框架的简单使用
初识服务发现及Consul框架的简单使用 1.什么是服务发现? 服务发现组件记录了(大规模)分布式系统中所有服务的信息,人们或者其它服务可以据此找到这些服务. DNS 就是一个简单的例子. 当然, ...
- python操作三大主流数据库(12)python操作redis的api框架redis-py简单使用
python操作三大主流数据库(12)python操作redis的api框架redis-py简单使用 redispy安装安装及简单使用:https://github.com/andymccurdy/r ...
- 框架Thinkphp5 简单的实现行为 钩子 Hook
这篇文章主要介绍了关于框架Thinkphp5 简单的实现行为 钩子 Hook,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 实现在一个方法开始和结束加入两个行为:api_init.ap ...
- Net系列框架-Dapper+简单三层架构
Net系列框架-Dapper+简单三层架构 工作将近6年多了,工作中也陆陆续续学习和搭建了不少的框架,后续将按由浅入深的方式,整理出一些框架源码,所有框架源码本人都亲自调试通过,如果有问题,欢迎联系我 ...
- SpringMVC笔记——SSM框架搭建简单实例
落叶枫桥 博客园 首页 新随笔 联系 订阅 管理 SpringMVC笔记——SSM框架搭建简单实例 简介 Spring+SpringMVC+MyBatis框架(SSM)是比较热门的中小型企业级项目开发 ...
- Eclipse IDE下的Spring框架使用简单实例
Eclipse IDE下的Spring框架使用简单实例 1 准备Java jdk安装. Eclipse软件安装.根据系统安装32/64版本,选择Eclipse IDE for Java Develop ...
随机推荐
- chartControl ViewType.Bar 用法测试
使用方法 一. Datatable : chartControl1.Series.Clear(); DataTable dt = new DataTable(); dt.Columns.Add(&qu ...
- Sublime Text 2 2.0.2 序列号
----- BEGIN LICENSE -----Andrew WeberSingle User LicenseEA7E-855605813A03DD 5E4AD9E6 6C0EEB94 BC9979 ...
- SAP MM 物料主数据MRP2 视图Rounding Value字段
SAP MM 物料主数据MRP2 视图Rounding Value字段 如下物料号,MRP2视图中,维护了rounding value字段值为50. MRP type :PD Lot size:EX ...
- Jenkins Jenkins结合GIT Maven持续集成环境配置
Jenkins结合GIT Maven持续集成环境配置 by:授客 QQ:1033553122 安装Git插件 1 安装Git客户端 1 安装JAVA JDK及MAVEN 2 Jenkins JDK ...
- 添加/删除/修改Windows 7右键的“打开方式”
右键菜单添加/删除"打开方式" 此"打开方式"非系统的"打开方式",二者可以并存. 右键菜单添加"打开方式" 在HKEY ...
- OneAPM 获得“2018中国 IT 服务创新奖”,彰显技术创新实力
6月30日,主题为“智能服务 数字中国”的中国 IT 服务创新大会在京召开.作为第22届中国国际软件博览会的重头戏,本次大会由工业和信息化部.北京市人民政府共同主办,中国电子工业标准化技术协会信息技术 ...
- 智能ERP 交接班统计异常的解决方法
请注意,有交接班统计数据不准确的需开启离线统计即可解决,交接班统计是按照结账时间来进行统计的 1.点击左侧导航栏中‘更多’-进入系统设置 2.进入营业设置后-开启离线统计-点击保存
- Spark GraphX快速入门
GraphX是Spark用于图形并行计算的新组件.在较高的层次上,GraphX通过引入一个新的Graph抽象来扩展Spark RDD:一个定向的多图,其属性附加到每个定点和边.为了支持图计算,Grap ...
- django CharField按整形排序
#models.py from django.db import models class Block(models.Model): ... height = models.CharField(max ...
- 使用SQL Developer生成Oracle数据库的关系模型(ER图)
客户要一张数据库的关系模型图,于是用SQL Developer来做. 一.SQL Developer版本 我在官网下载的最新版本(现在已经到了18.1,Oracle更新的太勤快): 2.如下图所示选择 ...