Embark 环境搭建
来源:互联网 发布:网络用语otp是什么意思 编辑:程序博客网 时间:2024/06/07 12:34
Embark 环境搭建
Truffle和Embark是目前以太坊Dapp开发社区中比较流行的两款开发框架,本文介绍Embark的环境搭建与使用过程。
作者:ZY
环境要求
- 安装geth1.5.8以上版本
- Node.js 6.9.1以上版本,Node.js的安装一定要注意,不能用apt-get安装。否则安装到的版本过低,会导致Embark无法启动。安装可以采用如下方式:
下载Node.js的压缩文件:
$ wget https://nodejs.org/dist/v8.1.0/node-v8.1.0-linux-x64.tar.xz
解压:
$ tar -xvf node-v8.1.0-linux-x64.tar.xz
将node和npm设置为全局
$ sudo ln /home/ubuntu/node-v8.1.0-linux-x64/bin/node /usr/local/bin/node$ sudo ln /home/ubuntu/node-v8.1.0-linux-x64/bin/npm /usr/local/bin/npm
IPFS安装启动
参考 http://www.8btc.com/ipfs-blockchain,此文章对IPFS的安装过程做了详细描述。
PFS安装完成后启动ipfs:
$ ipfs daemon
为测试ipfs是否正常运行,我们可以尝试上传一个文件,然后再下载下来对比一下。
首先,编辑一个文件命名为mytxt.txt
,随便输入一些文字例如:This is a test for IPFS
.
保存并用ipfs命令添加到节点,如下如所示:
可见文件已经被添加到节点,并返回文件并且返回了一个唯一hash值。如果要查看本地节点的文件,可以直接用命令:
$ ipfs cat Qmcu71Rbx7q2cJ5YyTApmaLMNg6ureFrymSU9Bn2WFxvJn
此时文件尚未上传到IPFS网络,需要先同步到网络中,先停掉当前节点再重启:
此时,文件已经同步到ipfs网络中。打开浏览器,访问地址:https://ipfs.io/ipfs/Qmcu71Rbx7q2cJ5YyTApmaLMNg6ureFrymSU9Bn2WFxvJn
。可以看到,文件已经能够在ipfs网络访问了。
安装Embark
$ npm -g install embark
如果要跑以太坊模拟环境,需要安装testrpc
$ npm -g install ethereumjs-testrpc
执行下列命令,进入demo示例中:
$ embark demo
embark_demo目录结构如下:
目录内配置结构可以参考文件:embark.json
根据配置文件可以知道:
- 智能合约文件位于app/contracts目录下
- app目录下为合约的访问与功能调用页面
- Config目录下为配置文件
- Dist目录下为build后的文件
- test目录下为合约代码对的测试文件,采用Mocha测试框架
智能合约的开发可以在以太坊真实节点上进行:
$ embark blockchain
如果要在模拟器上进行智能合约开发的话,运行命令启动模拟器:
$ embark simulator
可选的节点运行方式配置在config/blockchain.json文件中
- development
- testnet
- livenet
- privatenet
启动并运行livenet示例:
$ embark blockchain livenet$ embark run livenet
另开一个command line窗口,启动embark :
$ embark run
此命令会直接部署合约,Dapp会被部署到本地服务器上:http://localhost:8000
如果合约代码有变动更新,只需要在页面刷新下,不必重启embark。
进入操作主界面:
在浏览器总打开链接:http://localhost:8000 可以查看demo提供的操作页面。因为文档写作时候是在xshell上远程操作,无法打开图形界面。因此采用了w3m命令行了浏览器来查看,如下图所示:
网页中可见,demo提供了在合约中设置和获取value的操作,同时提供了在写入文件并上传到ipfs网络,以及ipfs上把文件下载到本地的功能。其中Set Value和Get Value操作对应于合约代码中的函数set和get操作:
在前端页面中,可以在js代码中直接调用如下:
合约的测试代码为位于test/simple_storage_spec.js中,采用Mocha测试框架:
示例代码中分别对storeData和get、set函数进行了测试。到了这一步,我们就可以仿照demo示例进行自己的智能合约代码开发了。
- Embark 环境搭建
- 环境搭建
- 搭建环境
- 环境搭建
- 搭建环境
- 环境搭建
- 搭建环境
- 环境搭建
- 环境搭建
- 环境搭建
- 环境搭建
- 环境搭建
- 环境搭建
- 环境搭建
- 环境搭建
- 环境搭建
- 环境搭建
- 环境搭建
- kalman+Tracking
- 经典算法100例
- 位运算
- Java常用的日志框架对比和深入分析
- java基础(9)- java的工具(Util)包(1)
- Embark 环境搭建
- spring mvc防重复提交(第二种 自定义注解 以及 注解的实现 和 运用注解)
- android:exported 属性详解
- Java基础之集合知识点总结二
- 安卓中手机号注册并跳转
- 计算几何
- 12、ES6 解构赋值的7个用途
- 高德地图简单实现及路径规划
- hadoop-安装伪分布式hdfs