文章是我一边学习区块链技术,一边记录下来的内容,所有内容都经过测试,其实是我为了给自己留的参考文档,呵呵

下面开始进行一个Dapp的开发,请使用root用户操作。

1、学习总结

要开发一个Dapp需要做的准备工作已经基本完成,那么下面说一下都需要哪些内容,然后就开始开发。

1.1、开发架构

Demo架构图

Web Frontend:业务展现层,采用基于可以访问以太访私有链的js框架web3开发的web应用。

FS :文件存放位置,本地文件存放磁盘空间。

NodeJs Server:采用nodejs做为服务器后台。

Ethereum-Blockchain:以太访区块链。

1.2 、搭建私有链

可以有很多种搭建私有链的方式:go-ethereum私有链、基于docker的go-ethereum私有链、mist自带的私有链、testrpc私有链测试环境、

ganache可视化私有链。

我们这个案例里面使用基于ganache可视化私有链进行Dapp进行开发。

ganache安装:http://mp.blog.csdn.net/postedit/79118556

1.3、web前端框架

以太访提供了很多语言来支持Dapp的开发,这个案例里使用基于js的web3客户端进行业务层的开发,

demo是基于nodejs进行开发,因此需要安装nodejs才能运行。

nodejs安装:http://mp.blog.csdn.net/postedit/79029044

1.4、撰写合约Solidity工具Atom

基于Atom进行智能合约进行编写。

Atom安装:http://mp.blog.csdn.net/postedit/79039550

1.5、合约编译安装部署工具truffle

使用truffle对智能合约进行安装部署。

truffle安装:http://mp.blog.csdn.net/postedit/79029328

2、编译部署合约

环境准备好了,可以开发啦。

2.1、创建Dapp项目工程

编译以后多出build目录

    mkdir filehashcd filehashtruffle init

2.2、编写合约

在目录/home/jack/demo/filehash下执行以下启动Atom

atom ./

2.3、编译合约

在目录/home/jack/demo/filehash下执行

truffle compile

2.4、启动ganache,创建私有链

2.5、配置truffle连接文件

在目录/home/jack/demo/filehash下执行

vi truffle.js 

以下是truffle官网提供的配置,修改development为local_dev,修改8545为6666,修改*为8888

module.exports = {networks: {development: {host: "127.0.0.1",port: 8545,network_id: "*" // Match any network id}}
};

2.6、配置编译文件

创建编译文件,truffle会默认找配置文件中的development网络进行安装部署,修改后要制定安装部署网络local_dev。

在目录/home/jack/demo/filehash下执行

vi 2_deploy_contracts.js

2.7、智能合约部署

进入 /home/jack/demo/filehash目录下,执行以下命令:

truffle migrate --network local_dev

获取合约部署地址: Proof: 0x345ca3e014aaf5dca488057592ee47305d9b3e10

用于后面应用代码

012 基于以太访的本地文件hash存储查找Dapp实例(合约安装部署)相关推荐

  1. 基于以太坊的去中心化存储协议Swarm计划在2季度发布1.0版

    基于以太坊的去中心化存储协议Swarm表示,下一个重要里程碑Swarm 1.0版本预计在今年第二季度发布,在此之前将以约14天的间隔发布定期更新.除此之外,Swarm计划提前在以太坊Goerli测试网 ...

  2. 基于SSM的学生宿舍管理系统(含论文和PPT)+视频讲解+安装部署+效果视频+部署视频

    下载地址:https://download.csdn.net/download/ouyangxiaobai123/22174377 项目介绍: 基于SSM的学生宿舍管理系统(含论文和PPT)+视频讲解 ...

  3. 基于以太坊开发的类似58同城的DApp开发与应用案例

    今天,Origin开发团队很高兴地宣布在以太坊Rinkeby测试网络上推出Origin Protocol Demo DApp ! 在这个DApp中,你可以在不同垂直行业的solidarity econ ...

  4. Python爬虫之爬取笔趣阁小说下载到本地文件并且存储到数据库

    学习了python之后,接触到了爬虫,加上我又喜欢看小说,所以就做了一个爬虫的小程序,爬取笔趣阁小说. 程序中一共引入了以下几个库: import requests import mysql.conn ...

  5. 云服务器 与本地文件传输,云服务器 与本地文件传输

    云服务器 与本地文件传输 内容精选 换一换 安装传输工具在本地主机和Windows云服务器上分别安装数据传输工具,将文件上传到云服务器.例如QQ.exe.在本地主机和Windows云服务器上分别安装数 ...

  6. 怎么把本地的文件传给服务器,怎么把本地文件传给云服务器

    怎么把本地文件传给云服务器 内容精选 换一换 本文介绍如何在 Linux 系统的本地机器上使用 FTP 服务,将文件从本地上传到云服务器中.已在待上传文件的云服务器中搭建 FTP 服务.如果您的云服务 ...

  7. linux网页用php文件怎么打开文件夹,如何使用浏览器访问linux本地文件

    原标题:如何使用浏览器访问linux本地文件 背景 因搜狗商城代码覆盖率报告均部署到服务器中,但是在服务器中无法使用浏览器查看html文件,因此使用Nginx配置一个静态web服务器,在本地通过浏览器 ...

  8. Hash Rush 基于以太坊的科幻 PC 即时战略游戏

    Hash Rush 是一款基于以太坊的科幻PC即时战略游戏,在虚构的Hermeian宇宙中,玩家通过建立一个采矿殖民地并将其发展成为他们太阳系的羡慕而竞争真正的加密货币奖励,玩家在玩游戏时可以获得有价 ...

  9. 项目实战——基于Java8+JavaFX+多线程+文件IO+SQLite数据库实现的本地文件快速搜索引擎详细设计实现

    目录 一.前言介绍 二.功能展示 2.1选择所要查找的文件夹 2.2将所选目录下的所有文件进行属性展示 2.3支持搜索框查询文件(模糊查询) 2.4统计本次扫描信息 ​编辑 三.整体设计 3.1工具类 ...

最新文章

  1. CSDN创始人蒋涛:AI定义的开发者时代
  2. 集成学习+ensemble learning
  3. matlab多元回归程序,多元回归程序MATLAB程序
  4. linux没有usr目录_了解linux系统目录,sys,tmp,usr,var!
  5. voip 音频采集时间_蓝牙音频续航监测系统展会现场演示
  6. 初级开发人员的缺点_如何避免我作为初级开发人员犯的这7个错误
  7. 在IntelliJ IDEA里配置Go开发环境
  8. matlab 程序 收缩,基于MATLAB的小波收缩去噪方法研究(程序)
  9. 技巧 | 如何使用R语言的基础绘图系统的拼图功能
  10. Android---Textview加入Intent、表情,点击跳转Activity
  11. WIN10 企业版 LTSC 激活
  12. 网站 小图标 大全 url
  13. 苹果笔记本显卡性能测试软件,苹果Mac Pro性能测试:好厉害的“垃圾桶”
  14. 计算机系统结构 计算机系统结构的基本概念
  15. vue |实现点击图片预览浏览器满屏大图
  16. TWS蓝牙耳机怎么挑选?值得买的蓝牙耳机推荐
  17. 智能存储 | 视频增强“全家桶”,为您的视频快速“换脸”
  18. 7、全国天气查询API接口,免费好用
  19. 2022 个人基本计划
  20. 24V转12V,9V,8V,6V,5V,3.3V,3V降压芯片和线性LDO选型介绍

热门文章

  1. greenplum 单表 数据扫描
  2. MatLab的排序函数-sort
  3. c++11 lambda(匿名函数)
  4. ioctl 详细说明
  5. 戴文的Linux内核专题:07内核配置(3)
  6. 如何在 Active Directory 中还原已删除的用户帐户及其组成员身份
  7. TLStorm:APC UPS 存在零点击0day,可远程烧毁设备、切断电源
  8. 使用广泛的开源PCB文件查看器 Gerbv 含多个严重漏洞
  9. 谷歌修复4个已遭利用的安卓 0day
  10. OpenWRT开源项目论坛遭未授权访问,可被用于供应链攻击