以太坊开发(一)——Truffle和Ganache

Dapp开发利器--Truffle三剑客之Ganache 一、Truffle Suite        Truffle Suite 为以太坊上应用程序(Dapp)的快速开发提供工具服务,它主要有以下三个产品:truffle、ganache和drizzle。这三个工具对快速开发以太坊DAPP有很大的帮助,所以我暂且把它三个产品叫着“Truffle三剑客”。   &n... 阅读详情

Truffle是目前最流行的以太坊开发框架,采用JavaScript编写,支持智能合约的编译、部署和测试。

一、安装Truffle
1. 首先安装Truffle依赖的NodeJS:

curl -sL https://deb.nodesource.com/setup_9.x | sudo -E bash -
sudo apt-get install -y nodejs
sudo apt-get install npm

    配置npm源为国内源(可选,可加快下载速度):

sudo npm config set registry http://registry.npm.taobao.org 

2. 安装Truffle

 

sudo npm install -g truffle

二、创建工程
如果想创建一个空工程,可以用下面的命令:

 

truffle init

在早期版本的truffle中,刚刚创建的工程中还会包含metacoin的示例代码。新版本truffle引入了box的概念,所有的示例代码都以box的形式提供。因此我们不需要用truffle init命令,用下面的命令就可以直接下载metacoin的示例代码:

 

truffle unbox metacoin

代码结构如下图所示:

 

主要分为3个部分:

 

●  contracts目录中包含Solidity合约代码,其中Migrations.sol是必须的,其他就是你自己写的合约代码了。

●  migrations目录中包含合约部署脚本,其中1_initial_migration.js就是用来部署Migrations.sol的,其他的脚本会按照顺序依次执行。

●  test目录中就是测试代码了。

 

三、安装以太坊客户端

智能合约必须要部署到链上进行测试。可以选择部署到一些公共的测试链比如Rinkeby或者Ropsten上,缺点是部署和测试时间比较长,而且需要花费一定的时间赚取假代币防止out of gas。

还有一种方式就是部署到私链上,Truffle官方推荐使用以下两种客户端:

●  Ganache

●  truffle develop

 

1. Ganache

Ganache这个名字比较陌生,但是它的前身testRPC却是大名鼎鼎,网上的很多老文章里都是用testRPC。Ganache是奶油巧克力的意思,据说是很久之前有个学徒做巧克力的放多了牛奶,师傅正要骂他,结果一尝发现味道还真不错,于是一种新的巧克力就诞生了~ Truffle是松露巧克力,一般是以Ganache为核,然后上面撒上可可粉,所以这两个产品的名字还是很贴切的。
Ganache现在有两个版本,一个是带图形界面的版本,下载地址:
https://github.com/trufflesuite/ganache/releases

这些可执行文件的后缀都比较奇葩,参见下面的对应关系:

●  Windows: Ganache-*.appx

●  Mac: Ganache-*.dmg

●  Linux: Ganache-*.AppImage


还有一个就是命令行版本了,下载方法:

 

sudo npm install -g ganache-cli

具体的命令行参数配置参见github:
https://github.com/trufflesuite/ganache-cli

本文采用带图形界面的Ganache版本。

2. truffle develop
这个是truffle内置的客户端,跟命令行版本的Ganache基本类似。唯一要注意的是在truffle develop里执行truffle命令的时候需要省略前面的“truffle”,比如“truffle compile”只需要敲“compile”就可以了。

四、编译和部署合约
Ganache默认运行在7545端口,可以在界面右上方的“设置”里进行更改。运行后默认创建10个账号,每个账号里有100ETH的余额。
要部署到链上,需要把IP、端口、网络ID告诉truffle。修改truffle.js:

 

module.exports = {
    networks: {
        development: {
            host: 'localhost',
            port: '7545',
            network_id: '*' // Match any network id
        }
    }
};

然用下面两条命令编译和部署:

 

truffle compile
truffle migrate

五、测试合约
metacoin的示例代码里已经把测试代码写好了,直接用下面的命令运行就可以了:

 

truffle test

去Ganache上看一下运行结果:

●  Accounts标签:第一个账户里ETH略有减少,因为交易消耗了gas

●  Blocks标签:Ganache是自动挖矿,生成了6个新区块,每个区块里有一个交易

●  Transactions标签:有6笔新交易,可以点开看交易详情

●  Logs标签:显示交易和挖矿日志

下一篇分析一下这个最简单例子里的合约代码和部署、测试脚本。

欢迎关注飞久微信公众号,一起探讨更多技术问题:

Truffle、Ganache开发智能合约 Truffle、Ganache快速开发、测试以太坊智能合约 阅读详情

相关推荐

以太坊智能合约ganache+truffle集成开发实验

安装前的npm、node环境准备,安装ganache,安装ganache(-cli),安装truffle,

weixin_48994170的博客 5364

初试Ganache

以太坊区块链开发调试利器Ganache的安装、启动和使用尝试。

weixin_43469174的博客 2106

kali linux下以太坊开发环境搭建:ganache与truffle的连接

搭建ganache与truffle比较简单,记录一下。主要是为了后面测试call与delegatecall调用地址做准备。 Ganache(更名前叫做:testrpc)是在本地使用内存模拟的一个以太坊环境,可以快速启动个人以太坊区块链,并可以使用它来运行测试,执行命令、检查状态,同时控制链条的运行方式。通过Ganache我们可以快速查看所有账户的当前状态,包括他们的地址、私钥、交易和余额。查看Ganache内部区块链的日志输出,包括响应和其他重要的调试信息,检查所有块和交易,以获取相关问题的信息。 truf

qq_28786023的博客 1142

Ganache的安装和使用

Ganache是Truffle Suite的一部分,是一个用于以太坊区块链开发的个人区块链模拟器。它可以在本地计算机上快速启动一个以太坊网络,帮助开发者进行智能合约的开发、测试和部署。Ganache是一个功能强大的工具,为以太坊开发者提供了便捷的本地区块链环境。通过使用Ganache,我们可以快速开发、测试和调试智能合约,从而提高开发效率。这三篇文章介绍了Ganache的安装、使用和调试方法,希望对你的以太坊开发之旅有所帮助。

weixin_64259079的博客 9047

Ganache+Truffle+MateMask实现第一个Dapp(Windows)

Ganache+Truffle+MateMask实现第一个Dapp

qq_42042158的博客 4466

一起学:以太坊智能合约开发

课程介绍 无论在科技圈还是金融圈,“区块链”俨然成了最热的词汇。2016年,区块链写入了国家的十三五规划中;2017年,央行基于区块链技术的数字票据交易平台测试成功;同年,工信部发布了首个区块链参考架构标准。
经过2017年如火如荼的投资盛宴,区块链开始逐渐走向应用落地,业内都在积极探索使用场景。如金融领域的资产贸易、支付系统、金融服务,其他领域的电子商务、社交通讯、游戏娱乐等等。同时,BAT、迅...

GitChat 1万+

Truffle + Ganache:以太坊智能合约开发与部署实战

本文通过一个简单的示例,演示了如何使用 Truffle 和 Ganache 开发、部署以太坊智能合约的全过程。从环境搭建、合约编写、部署到测试,每一步都进行了详细的说明。掌握这些基础知识,将为你进一步开发复杂的去中心化应用(DApp)打下坚实的基础。

CiaoAI做市机器人,让您的代币更具流动性和活跃性 884

如何使用 Truffle 和 Ganache 开发以太坊智能合约

本文介绍了使用Truffle和Ganache开发以太坊智能合约的完整流程。首先讲解了环境搭建,包括Node.js、Truffle和Ganache的安装;然后详细说明了如何创建Truffle项目、编写智能合约(以简单的存储合约为例)、编写测试用例并进行测试;最后指导如何配置网络并部署合约到本地Ganache网络。该教程为开发者提供了从零开始构建和部署智能合约的完整指南,涵盖了开发过程中所有关键步骤,是入门以太坊开发的实用参考。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 673

使用 Truffle 和 Ganache 搭建本地以太坊开发环境并部署一个简单智能合约

Truffle 是一个用于以太坊开发的框架,提供了一套工具和库,帮助开发者更轻松地开发、测试和部署智能合约。通过以上步骤,你就可以使用 Truffle 和 Ganache 搭建本地以太坊开发环境,并部署和交互一个简单的智能合约。Ganache 是一个用于本地开发和测试以太坊应用程序的个人区块链,提供了一个模拟的以太坊网络环境。安装完成后,启动 Ganache,它会默认在本地创建一个开发用的区块链网络,通常监听。如果一切正常,你将看到合约部署成功的消息,包括合约地址。这将设置存储值为 42,并获取存储的值。

weixin_44727517的博客 1668

第99篇 Truffle 之 Ganache

本文环境:nodejs + truffle +ganache 操作系统:windows10 目录 1. 安装 Ganache-cli 2.安装GanacheGUI 3. 使用GanacheGUI 3.1 启动 3.2 配置 4. truffle 与 ganache 的链接 4.1 启动 4.2 配置 4.3 启动并链接 5. metamask与 ganache 的链接 5.1 连接Metamask 5.2 连接remix Ganache是一个桌面应用,他会创...

wonderBlock的博客 2138

Truffle 和 Ganache 使用指南

Truffle 是一个流行的以太坊开发框架,提供了许多有用的命令来简化智能合约的开发、测试和部署。

这里面的代码全是错的 675

以太坊(6)智能合约开发之 Truffle、Ganache 安装基础使用- mac

简单介绍下Truffle和Ganache:Truffle是目前最流行的以太坊开发框架,采用JavaScript编写,支持智能合约的编译、部署和测试;Ganache 是Truffle提供的可视化私有链工具;前提准备条件:   按照前面的文章,相信你已经搭建完成自己的私有链、或者私有链集群,nodejs等所有依赖的都已经安装好;安装Truffle:安装很简单,可以查看官网,下载可能比较慢可以配置国内的...

xiliangMa的博客 4495

gnss变形监测基础(四)

监测站的数据采样率指的是监测站在单位时间内收集数据的频率,通常以赫兹(Hz)为单位。在GNSS变形监测中,数据采样率决定了监测系统能够捕捉到的变形动态变化的详细程度和时间分辨率。例如,一个采样率为1Hz的GNSS监测站意味着它每秒钟收集一次位置数据;而一个采样率为10Hz的监测站则每秒钟收集10次位置数据。较高的采样率能够提供更细致的时间序列数据,有助于分析快速变化的动态过程,如地震活动或建筑物的振动响应。然而,较高的采样率也意味着数据量更大,可能需要更多的存储空间和更强大的数据处理能力。

我的博客 1293

【web3实践 | 以太坊开发框架Truffle使用】

Truffle是一个面向以太坊的开发框架,提供一整套构建、测试、部署以及管理智能合约的开发工具。Truffle可以与以太坊节点交互,使开发人员能够在本地开发、测试和部署智能合约。Truffle提供了一个基于命令行的、易于使用的开发环境,可以通过Truffle来编写智能合约,进行本地测试和调试,进行远程部署,以及与以太坊网络进行交互。Truffle还提供了自己的智能合约编译器和构建管道,可以方便地构建、优化和管理智能合约的构建过程,减少了手动干预的需要。

鱼干的博客 4164

UE5.3像素流送Docker化部署:从Linux服务器搭建到云端实时渲染

本文详细介绍了在Linux服务器上使用Docker容器化部署UE5.3像素流送服务的完整流程。通过将虚幻引擎运行时、信令服务器和TURN服务打包为标准化镜像,利用Docker Compose进行编排,实现了云端实时渲染应用的快速部署、环境一致与弹性扩展,有效解决了传统部署中的环境依赖与运维难题。

k0l1m2n3o的博客 200

【软件安装系列】Ubuntu+mysql5.7.27+Jira8.3.1+邮箱服务器配置+Confluence6.15.7安装经验和采坑总结

文章目录一、软件准备(百度云易被吞,就不放了)1.1 官网下载的新鲜的Jira和Confluence1.2 linux的jdk一份1.3 Jira和Confluence的破解程序或者破解包一份1.4 java的连接器一份二、安装过程1--java环境配置2.1 将下载下来的jdk包解压在/usr/local/java目录中2.2 写入环境变量三、安装过程2--mysql5.7.27环境配置3.1 ...

xiaosha_的博客 6893

深入了解 Truffle Suite:安装与升级指南

Truffle Suite 是一个功能强大的以太坊开发工具套件,旨在简化智能合约和去中心化应用程序(DApp)的开发流程。Truffle:一个开发框架,提供智能合约的编译、部署和测试功能。Ganache:一个个人以太坊区块链,用于本地开发和测试。Drizzle:一组前端库,简化了与以太坊区块链的交互。在这篇博客中,我们将详细介绍如何安装和配置 Truffle Suite 的各个组件,以便为以太坊开发环境做好准备。

2201_75798391的博客 975

【SAP GUI 脚本 VBA】实战:构建Excel驱动的SAP自动化操作平台

本文详细介绍了如何利用VBA和SAP GUI脚本构建Excel驱动的SAP自动化操作平台,实现高频事务码的标准化封装和批量处理。通过实战案例展示物料主数据查询(MM03)、会计凭证修改(FB02)等场景的自动化实现,帮助用户提升10倍+操作效率,同时确保数据可追溯性和操作安全性。

weixin_33748818的博客 504

Truffle

Truffle是一个面向以太坊的开发框架,提供一整套构建、测试、部署以及管理智能合约的开发工具。Truffle可以与以太坊节点交互,使开发人员能够在本地开发、测试和部署智能合约。

xiaoMa的博客 1597

别再凭感觉选电容了!手把手教你计算电机控制器里的母线电容(附Excel计算工具)

本文详细解析了电机控制器中母线电容的选型方法,从理论计算到工程实践,帮助工程师避免常见误区。通过精确计算纹波电压、电容容量等关键参数,并结合薄膜电容与电解电容的性能对比,提供实用的选型建议。附带的Excel计算工具可快速完成参数计算,适用于工业伺服驱动和电动车电机控制器设计。

weixin_28720573的博客 521

手把手教你用SNAP做全极化SAR图像分类

引言 最近在研究极化SAR图像分类方面的内容,发现用SNAP软件可以很方便的实现图像的分类。因为在入门过程中踩了很多坑,浪费了一些时间,为了不让大家踩坑,所以决定写下这篇教程。 前期准备 软件下载 SNAP是欧空局旗下的一个SAR图像处理软件,可以点击下载地址进行下载。 数据下载 数据下载地址:https://mdacorporation.com/sample_data/RS2_OK76385_...

zz651044657的博客 1万+

项目实训第一周truffle + ganache部署智能合约

Truffle是基于Javascript的以太坊Solidity语言开发框架,当我们需要在以太坊(Ethereum)部署智能合约时,Truffle框架能为我们提供从模版开发、编译、调试至部署的全面支持,简化了智能合约的开发流程。Ganache是一个可以在本地模拟以太坊环境的客户端,新手入门时可以使用Ganache进行开发,因为其免费(虚拟的交易)且响应速度快,可以节省大量的开发时间,让开发者更专注业务本身。这里要注意一下,需要先将truffle的配置文件写入ganache,才能看到上面的内容。

qq_45451602的博客 861

Python量化交易实战:从零搭建你的第一个多因子选股模型(附完整代码)

本文是一份详细的Python量化交易入门实战指南,手把手教你从零搭建第一个多因子选股模型。内容涵盖环境配置、数据获取、因子挖掘与有效性检验、多因子合成以及完整的策略回测与绩效评估,并附有可直接运行的完整代码,帮助初学者快速掌握量化交易的基本概念与实践流程。

resnet7explorer的博客 936

深入探索Truffle Suite:构建、测试和部署以太坊智能合约的完整开发框架

Truffle Suite 是一个完整的以太坊开发框架,它提供了一整套工具和库,可帮助开发者更快地构建、测试和部署以太坊智能合约。无论您是初学者还是经验丰富的开发者,Truffle Suite 都是一个值得尝试的开发框架。本文将深入探讨 Truffle Suite 的各个组件,包括 Truffle、Ganache 和 Drizzle,以及如何使用它们来进行以太坊智能合约开发以及如何在以太坊智能合约开发中使用 Truffle Suite 的各个组件,包括 Truffle、Ganache 和 Drizzle。

难办就别办的博客 1378

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

上一篇: Android工具箱(一):3D ViewPager
下一篇: 以太坊源码学习启动篇
TurkeyCock
博客等级 码龄21年 406粉丝 73原创
评论 7
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值