简介truffle和testrpc truffle是本地的用来编译、部署智能合约的工具。 testrpc不同于geth,geth是真正的以太坊环境,testrpc是在本地使用内存模拟的一个以太坊环境,对于开发调试来说,更为方便快捷,当合约在testrpc中测试通过后,再部署到geth中去。 所以可以说truffle和testrpc就是两大杀器。 还行进行软连接的配置: ln -s /home/zhuzs/app/nodejs/node-v6.9.1/lib/node_modules/ethereumjs-testrpc/bin/testrpc /usr/local/bin/testrpc 执行testrpc进行验证: $ testrpc Secp256k1 bindings are not compiled.
需要安装Ethereum客户端,来支持JSON RPC API调用 开发环境,推荐使用EthereumJS TestRPC: https://github.com/ethereumjs/testrpc 安装命令: $ npm install -g ethereumjs-testrpc 新建第一个项目 $ mkdir zhaoxi $ cd zhaoxi $ truffle init 默认会生成一个MetaCoin 的demo,可以从这个demo中学习truffle的架构 项目目录结构如图 项目所有文件目录如图 编译项目 $ truffle compile 部署项目 部署之前先启动TestRPC$ testrpc
import ( "msg_def")var logic = einx.GetModule("logic")func InitDBHandler() { logic.RegisterRpcHandler("testRpc ", testRpc) logic.RegisterHandler(msg_def.VersionCheckMsgID, CheckVersion) }func testRpc(sender interface einx.GetModule("logic")var testTimerID uint64 = 0func InitDBHandler() { logic.RegisterRpcHandler("testRpc ", testRpc) logic.RegisterHandler(msg_def.VersionCheckMsgID, CheckVersion) }func testRpc(sender interface
3连接testrpc节点 Web3.js的核心工作就是连接以太坊节点,在连接正式的节点之前,先用测试节点testrpc试一下Web3.js API是否能成功工作。 下面的例子创建了两个Web3对象,一个连接了testrpc节点,一个未连接testrpc节点。 命令启动testrpc节点。 由于本例是在同一台PC上运行testrpc和connect.js,所以IP使用localhost即可。 由于第2个Web3对象(myWeb3)没有通过HttpProvider对象指定testrpc节点的IP和端口号,所以该Web3对象并没有真正连接testrpc节点,所以有部分Web3.js API是无法调用的
TestRPC。TestRPC是一个基于Node.js的使用内存模拟的一个以太坊环境,它主要用于开发和测试。 TestRPC完全运行在本地,因此运行速度比以太坊的真实环境快很多,是目前比较好的开发和测试环境。不过TestRPC只能用于开发,对于产品层面的帮助不大。 开发以太坊Dapp,第一件要做的事情就是安装TestRPC。 首先我们需要在后台运行TestRPC。 第4步:运行TestRPC 通过以下代码,我们可以很简单地运行TestRPC: 这一指令将启动开发环境,并且生成用以太币进行先行融资(Prefunded)的账户列表,以及与各账户对应的私钥。
(1)创建一个工作空间的目录; (2)进入目录,执行truffle init命令,初始化demo; (3)编译项目truffle compile; (3)便于本地测试,启动testrpc; 编译&发布&操作 启动测试 首先启动testrpc,在项目根目录执行: testrpc 会打印出供测试使用的账号和私钥,在后面的测试过程中会使用到这些账号信息。 转账操作 在amount输入框输入111; 在To Address输入除了第0个账户外的其他账户(testrpc终端打印的账户),点击Send MetaCoin看看结果吧。
总结下来就是: 1、 使用https://ethfiddle.com/进行代码开发,调试 2、 使用testrpc和geth做发布前功能测试 3、 使用metamask进行发布 1、使用https:// , 点击call就可以调用合约对应的代码 注意:如果函数名称为空,我们可以先写个名字用来调试,发布的时候去除这个名称就可以了;同理对private的函数也可以先设置为public来调试 2、 使用testrpc 和geth做发布前功能测试 本文在windows开发环境下,当然其他环境也验证了可以成功 我们需要安装testrpc和geth A、安装testrpc npm install -g ethereumjs-testrpc 运行testrpc后显示版本信息:EthereumJS TestRPC v6.0.3 (ganache-core: 2.0.2) B、geth 下载: https://geth.ethereum.org 直接testrpc回车 D、在另外一个cmd窗口启动geth 输入:geth attach http://127.0.0.1:8545 E、在geth控制台创建帐号并转账 转账测试: eth.accounts
version solc, the solidity compiler commandline interface Version: 0.4.24+commit.e67f0147.Linux.g++ 4,安装testrpc (testrpc是在本地使用内存模拟的一个以太坊环境) root@VM-0-7-ubuntu:/home/nodejs/node-v7.7.2# npm install -g ethereumjs-testrpc + ethereumjs-testrpc@6.0.3 added 337 packages from 279 contributors in 77.808s root@VM-0-7-ubuntu:/ home# testrpc EthereumJS TestRPC v6.0.3 (ganache-core: 2.0.2) Available Accounts ==================
3、TestRPC和Ganache geth是一个老牌的以太坊钱包客户端,搞程序开发的不能一上来就在geth上测试,每次消耗的gas都让人受不了,更别说还需漫长的挖矿时间等待了。 而TestRPC就是一个在本地使用内存模拟的一个以太坊环境,还提供丰富的命令行,可以查询以太坊的状态。 后来TestRPC改名为Ganache CLI,成为truffle中的一个重要成员,而Ganache就专指带图形界面的程序,它需要运行在Windows 10上,不需要记忆一大堆复杂的字符命令。 http://truffleframework.com/blog/testrpc-is-now-ganache https://github.com/trufflesuite/ganache-cli 3、Ganache CLI 如果机器是Windows 7,又不喜欢功能较弱的truffle develop,则可以使用Ganache CLI,它其实就是大名鼎鼎的TestRPC,其安装过程非常简单。
ETHEREUM环境: 1,安装VMware虚拟机 2,安装Ubuntu系统 3,配置远程登录Ubuntu系统 4,安装git,NodeJS,solc,testrpc 4,安装git,NodeJS,solc,testrpc,truffle,Geth客户端 (1)安装git,NodeJS 【目的】Git可用于从GitHub获取源代码;NodeJS 不想用他们的,再设置回原来的就可以了: sudo npm config set registry https://registry.npmjs.org (3)安装testrpc 输入以下命令安装testrpc: sudo npm install -g ethereumjs-testrpc 如果输入testrpc命令,有以下输出,则表明testrpc Ganache的前身是testrpc,跟testrpc的作用一样。
使用模拟环境 另一个创建测试网络的方法是使用testrpc,testrpc是在本地使用内存模拟的一个以太坊环境,对于开发调试来说,更方便快捷。 而且testrpc可以在启动时帮我们创建10个存有资金的测试账户。 进行合约开发时,可以在testrpc中测试通过后,再部署到Geth节点中去。 更新:testrpc 现在已经并入到Truffle 开发框架中,现在名字是Ganache CLI。 为了开发方便,我们可以用Geth或testrpc来搭建一个测试网络。
使用模拟环境 另一个创建测试网络的方法是使用testrpc,testrpc是在本地使用内存模拟的一个以太坊环境,对于开发调试来说,更方便快捷。 而且testrpc可以在启动时帮我们创建10个存有资金的测试账户。 进行合约开发时,可以在testrpc中测试通过后,再部署到Geth节点中去。 更新:testrpc 现在已经并入到Truffle 开发框架中,现在名字是Ganache CLI。 为了开发方便,我们可以用Geth或testrpc来搭建一个测试网络。
另一个创建测试网络的方法是使用testrpc,testrpc是在本地使用内存模拟的一个以太坊环境,对于开发调试来说,更方便快捷。而且testrpc可以在启动时帮我们创建一堆存有资金的测试账户。 进行合约开发是,可以在testrpc中测试通过后,再部署到Geth中去。 Dapp:去中心化的应用程序 以太坊社区把基于智能合约的应用称为去中心化的应用程序(Decentralized App)。 为了开发方便,我们可以用Geth或testrpc来搭建一个测试网络。
【技术收获】 通过本文的学习,你将掌握以下内容: 1,了解TRUFFLE的功能 2,了解TRUFFLE的安装,配置和启动 3,借助TRUFFLE完成METACOIN一个智能合约的运行 4,Testrpc 适用开发的客户端 EtherumJS TestRPC 当开发基于Truffle的应用时,我们推荐使用EthereumJS TestRPC。它是一个完整的在内存中的区块链仅仅存在于你开发的设备上。 最好使用TestRPC客户端充分测试后,再使用这些客户端。这些是完整的客户端实现,包括挖矿,网络,块及交易的处理,Truffle可以在不需要额外配置的情况下发布到这些客户端。 testrpc 【说明】一定要启动一个新的客户端执行testrpc命令,可以观察到默认账户和私钥信息。 ? 部署智能合约的输出结果 查看testrpc的输出窗口,可以看到这笔交易和花费的区块: ?
testrpc testrpc不同于geth,geth是真正的以太坊环境,testrpc是在本地使用内存模拟的一个以太坊环境,对于开发调试来说,更为方便快捷,当你的合约在testrpc中测试通过后,再可以部署到 Ganache的前身是testrpc,跟testrpc一样的功能。
public String tracing() { log.info("come in exec service"); String rpc2 = demoService2.testRpc DemoRpcService.class, version = "1.0") private DemoRpcService demoRpcService; @Override public String testRpc () { log.info("来自统一门户 RPC 测试"); demoRpcService.testRpc(); return "调用到了rpc服务 version "1.0") public class DemoRpcServiceImpl implements DemoRpcService { @Override public String testRpc
至于开发环境,推荐使用EthereumJS TestRPC,地址为: https://github.com/ethereumjs/testrpc。 安装命令如下: $ npm install -g ethereumjs-testrpc 3. 部署之前先启动TestRPC,命令如下: $ testrpc $ truffle deploy(在Truffle 2.0以上版本中,命令变成了:truffle migrate) 图5-6是运行truffle
需要安装Ethereum客户端来支持JSON RPC API调用开发环境,推荐使用EthereumJS TestRPC: https://github.com/ethereumjs/testrpc 安装命令 : $ npm install -g ethereumjs-testrpc 【新建第一个项目】 $ mkdir zhaoxi $ cd zhaoxi $ truffle init 默认会生成一个MetaCoin /build/contracts 【部署项目】 部署之前先启动TestRPC $ testrpc $ truffle deploy bob@192 zhaoxi % truffle migrate
就是大名鼎鼎的 testRPC。
/setup_7.x | sudo -E bash -sudo apt-get install -y nodejs 安装区块链测试环境: sudo npm install -g ethereumjs-testrpc