以太坊系列 - DApp开发三剑客

搭建以太坊私链, 部署智能合约常用的三个工具:Truffle,Ganache 和 remix-ide。

Truffle

Truffle 是最流行的开发框架,能够在本地编译、部署智能合约,使命是让开发更容易。

Truffle的源代码地址
  https://github.com/trufflesuite/truffle

(1)安装 Truffle 4.0
  依赖环境:

  • NodeJS 5.0+
  • Windows,Linux,或Mac OS X

安装很简单:

npm install -g truffle

#查看安装的版本:
truffle version

(2)初始化一个 Truffle 项目

truffle init 			#可以初始化一个默认的以太坊代币合约项目

编译合约

truffle compile			#仅默认编译自上次编译后被修改过的文件
truffle compile --all	#编译全部文件

Truffle需要定义的合约名称和文件名准确匹配,这种匹配是区分大小写的,也就是说大小写也要一致。推荐大写每一个开头字母

(3)部署
默认network [development]

truffle migrate
truffle migrate --reset		#重新执行

指定network

truffle migrate --network poa

(4)启动控制台 (需要在工程目录下执行。)

#使用默认网络来调起一个控制台
truffle console
#指定network
truffle console --network poa
#启动带本地私有开发链的控制台
truffle develop
#监听地址为: http://127.0.0.1:9545

测试部署成功的智能合约

#输入以下命令打开truffle控制台,测试刚才我们部署的Hello_mshk_top合约:

truffle(development)> var contract;
undefined
truffle(development)> Hello_mshk_top.deployed().then(function(instance){
     contract= instance;}); //将Hello_mshk_top合约主体,传递给contract变量
undefined
truffle(development)> contract.say()
'Hello mshk.top'
truffle(development)> contract.print("https://mshk.top")
'https://mshk.top'

(5)使用zeppelin-solidity库

npm install zeppelin-solidity

#生成package.json文件
npm init
#根据package.json自动下载库
npm install

(6)下载模板

truffle unbox <box-name>

Ganache

开发时的太坊客户端Ganache ,ganache-cli

将智能合约部署到 TestRPC(内存中的区块链) 中测试 (TestRPC已更名为ganache)
它是一个完整的在内存中的区块链仅仅存在于你开发的设备上。
相对于 Geth,TestRPC 它在执行交易时是实时返回,而不等待默认的出块时间,这样你可以快速验证你新写的代码,当出现错误时,也能即时反馈给你。
它同时还是一个支持自动化测试的功能强大的客户端

(1)Ganache (带ui)
下载
https://truffleframework.org/ganache/
监听地址为: http://127.0.0.1:7545

(1)ganache-cli

#安装
npm install -g ganache-cli
#运行
ganache-cli --gasLimit 0x800000000
#监听地址为 127.0.0.1:8545

(2)TestRPC (TestRPC已更名为ganache)

#安装 
npm install -g ethereumjs-testrpc
#启动 TestRPC
testrpc --gasLimit 0x800000000
监听地址为 localhost:8545

remix-ide

安装 remix-ide

windows

#先安装node.js
https://nodejs.org/en/
#再
npm install remix-ide -g --allow-root
#运行 cd到开发合约目录下
remix-ide

linux

npm install remix-ide -g --allow-root
remix-ide
#如果外网访问不了
vim /root/remix-ide/bin/remix-ide 
#修改
server.listen(8080, ‘127.0.0.1’, function () {
     }) 
#为
server.listen(8080, ‘0.0.0.0’, function () {
     })

你可能感兴趣的:(以太坊系列,DApp,以太坊,Truffle,Ganache,remix-ide,dapp)