Hyperledger Fabric 超级账本实战项目(一、二)
p1基础介绍
Fabric需要配置环境
hash概念:输入任何数据可以得到与其对应的hash值。发现不管data的长度是多少,它对应的hash长度是不变的;data也可以传空值,即空值也会对应一个hash;
nounce:是计算满足条件的随机数
区块:block+nonce+data+timestamp+previous hash->hash
blockchaindemo.io网址
nonce值:是满足某一区块难度的随机数
不同的peer(节点)数据是一样的,相当于不同的记账的村民
不是每一笔交易产生一个区块的,而是每10min产生一笔交易,所以一个区块里面可以有很多笔交易
前端可以通过web3.js的API直接获取合约的实例对象
chaincode链码就是智能合约
Ordering Service 排序服务默认有三种:Solo(单节点共识)、Kafka(分布式队列)、SBFT(简单拜占庭容错)
Hyperledger 是超级账本的意思
联盟链和私有链是不需要去挖的,只要节点之间达成共识就可以了
演示:在终端输入如下命令:
npm install blockchain-cli -g //安装所需要的包等
blockchain //创建创世区块
bc //即可以看到当前挖了有多少区块
mine "ab 100" //a给b转账100元,mine后面的是区块包裹的数据
然后可以通过bc来查看
下面是js代码来判断hash值是否有效
function isValidHashDifficulty(hash, difficulty){for(war i=0,b=hash.length;i<b;i++){is(hash[i]!='0'){break;}}return i>=difficulty;}
就是PoS工作量证明
p2公有链合约部署
可以通过remix、metamask(浏览器的钱包[一个狐狸那个])部署
每一笔交易后会返回一个合约的地址,相当于一个存储空间的地址。类在部署完会产生一个合约对象,可以把remix上的代码看作是图纸,当部署完之后会产生一个图纸所生产的产品(如:电脑),这个产品即为实例对象。
前端可以通过web3.js的API直接获取合约的实例对象
.sol是智能合约的程序,由remix编写
部署到Main Ethereum Network即公网需要花费以太币,所以可以部署到测试网络(KovanTestNetwork),可以从测试网络获得测试币,测试的网络与公网没有任何差别。
部署步骤:
首先在remix编写代码,然后切换到run->environment->Injected Web3,account是当前meta mask的钱包地址(地址中有代币)
然后点一下create,会弹出一个metamask钱包的窗口,部署合约的过程(就是上链)就是生产电脑的过程,需要花费代币,点击submit就可以部署成功(电脑已经生产成功),会返回一个地址,想查看其属性(电脑大小等属性)可以通过地址来查看
可以点击查看当前区块的相关信息,有交易的区块 hash 时间戳 合约地址
取区块链数据不需要花费gas,而部署才需要
点击contracts就可以按照要求顺序实现部署
超级账本就属于联盟链,一部分有权限,另外的没有权限,即只能由选定特定的节点来达成共识,来确权
Hyperledger Fabric 超级账本实战项目(一、二)相关推荐
- Hyperledger Fabric 超级账本的硬伤
2019独角兽企业重金招聘Python工程师标准>>> Hyperledger Fabric 超级账本的硬伤 Hyperledger Fabric 超级账本的硬伤 Netkiller ...
- Hyperledger Fabric 超级账本 Java 开发区块链环境构建
面向 Java 开发人员的链代码简介 您听说过区块链超级账本Hyperledger Fabric?对Java开发人员有何用.我将分步展示用 Hyperledger Fabric v0.6来搭建开发环境 ...
- Hyperledger Fabric 超级账本 区块链技术 概述 优点
超级账本概述 区块链的第一个也是最被广泛认可的应用是比特币,另一种加密货币以太坊采取了不同的方法,它集成了许多与比特币相同的特征,添加了智能合约来创建分布式应用程序的平台.比特币和以太坊属于区块链,我 ...
- ubuntu18.04 快速搭建 Hyperledger Fabric超级账本框架
这两天一直再配Hyperledger Fabric1.4的环境,找了很多资料,期间因为墙的原因找了很多博客的解决办法终于搭建成果,特此记录下来避免以后搭建出错. 文章目录 环境 步骤 1. ubunt ...
- HyperLedger Fabric - 超级账本(4)链码的概念与使用
概念: Chaincode: 链上代码, 简称链码, 一般是指用户编写的应用代码 链码被部署在Fabric网络节点上, Peer 节点 – 背书节点 – commit节点 – Lead ...
- HyperLedger Fabric - 超级账本(2.2)启动网络 - 手动
启动网络手动实现 实现步骤 生成组织关系和身份证书 确定是在 fabric-samples/first-network 路径下 $ cd hyfa/fabric-samples/first-netwo ...
- HyperLedger Fabric - 超级账本(6)转换配置添加组织到channel
configtxlator转换配置/添加Org组织到channel 设置环境 进入到fabric-samples/first-network目录中, 执行.byfn.sh -m down关闭网络,清理 ...
- HyperLedger Fabric - 超级账本(8)Node测试
node测试 关闭网络 $ sudo ./byfn.sh -m down 进入到fabric-samples/fabcar目录中 $ cd ../fabcar/ $ ls 如果是完整的环境,目录中应该 ...
- Hyperledger -超级账本 学习报告
Hyperledger -超级账本 学习报告 一.什么是区块链? 区块链的基本原理,基本组件包括: 交易:对账本状态的改变: 区块:记录交易和状态,是对当前账本状态的一次确认: 链:状态变化的日志记录 ...
最新文章
- 如何去应付你的上司给你一个变化无常的需求?
- php 类 静态调用 实例化 效率,php类的静态调用和实例化调用有哪些不同点?
- 计算机专业课的教学准备,计算机专业课程教学中的分层教学模式
- 世界备份日,您的数据足够安全吗?
- oracle 读懂10046视频,10046、10053、实操记录
- 【OpenCV】图像线性混合
- practice:如何使用2008R2上的AD管理中心
- HDU 4336:Card Collector 期望+状压
- Java8 实战系列-06-lambda 方法引用
- 尚学堂轻松愉快LINUX视频教程
- qq邮箱服务器地址ip地址,如何查询对方QQ邮箱的ip地址?QQ邮箱ip地址的查询方法...
- java 防止js注入----ESAPI结合Top10安全开发实战
- 4个最受欢迎的大数据可视化工具
- PC端淘宝小程序开发记录
- crtlc不能复制文件_win10系统按ctrl+c快捷键无法复制文件的操作方法
- 计算机科学与专业大学排名,计算机科学与技术专业大学排名
- 使用GSM6315模块,采用http或者https协议与服务器通信笔记
- 微信公众号小程序开通方法_微信小程序发布审核大概要多久
- WinForm的控件
- 【软考高项】新一代信息技术及应用之云计算
热门文章
- Windows10安装tomcat【配置环境变量】
- 2021年建筑电工(建筑特殊工种)考试及建筑电工(建筑特殊工种)试题及答案
- swoole一键携程化mysql_【SWOOLE系列】浅淡SWOOLE协程(二) 一键协程化
- folly 开源库 ConcurrentHashMap 的简单使用
- AcWing 95. 费解的开关
- 软件工程项目方案(二) page to mail By 沈升
- java 队列方法详解
- 【python自动化办公】好用的在线网站推荐解决pdf格式转化、文字提取、图片质量增强、抠图等
- 水利水电安全员考试多选练习题库(5)
- ajax请求报错415,Ajax请求(415 Unsupported Media Type)