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 超级账本实战项目(一、二)相关推荐

  1. Hyperledger Fabric 超级账本的硬伤

    2019独角兽企业重金招聘Python工程师标准>>> Hyperledger Fabric 超级账本的硬伤 Hyperledger Fabric 超级账本的硬伤 Netkiller ...

  2. Hyperledger Fabric 超级账本 Java 开发区块链环境构建

    面向 Java 开发人员的链代码简介 您听说过区块链超级账本Hyperledger Fabric?对Java开发人员有何用.我将分步展示用 Hyperledger Fabric v0.6来搭建开发环境 ...

  3. Hyperledger Fabric 超级账本 区块链技术 概述 优点

    超级账本概述 区块链的第一个也是最被广泛认可的应用是比特币,另一种加密货币以太坊采取了不同的方法,它集成了许多与比特币相同的特征,添加了智能合约来创建分布式应用程序的平台.比特币和以太坊属于区块链,我 ...

  4. ubuntu18.04 快速搭建 Hyperledger Fabric超级账本框架

    这两天一直再配Hyperledger Fabric1.4的环境,找了很多资料,期间因为墙的原因找了很多博客的解决办法终于搭建成果,特此记录下来避免以后搭建出错. 文章目录 环境 步骤 1. ubunt ...

  5. HyperLedger Fabric - 超级账本(4)链码的概念与使用

    概念: Chaincode: 链上代码, 简称链码, 一般是指用户编写的应用代码 链码被部署在Fabric网络节点上, ​ Peer 节点 ​ – 背书节点 ​ – commit节点 ​ – Lead ...

  6. HyperLedger Fabric - 超级账本(2.2)启动网络 - 手动

    启动网络手动实现 实现步骤 生成组织关系和身份证书 确定是在 fabric-samples/first-network 路径下 $ cd hyfa/fabric-samples/first-netwo ...

  7. HyperLedger Fabric - 超级账本(6)转换配置添加组织到channel

    configtxlator转换配置/添加Org组织到channel 设置环境 进入到fabric-samples/first-network目录中, 执行.byfn.sh -m down关闭网络,清理 ...

  8. HyperLedger Fabric - 超级账本(8)Node测试

    node测试 关闭网络 $ sudo ./byfn.sh -m down 进入到fabric-samples/fabcar目录中 $ cd ../fabcar/ $ ls 如果是完整的环境,目录中应该 ...

  9. Hyperledger -超级账本 学习报告

    Hyperledger -超级账本 学习报告 一.什么是区块链? 区块链的基本原理,基本组件包括: 交易:对账本状态的改变: 区块:记录交易和状态,是对当前账本状态的一次确认: 链:状态变化的日志记录 ...

最新文章

  1. 如何去应付你的上司给你一个变化无常的需求?
  2. php 类 静态调用 实例化 效率,php类的静态调用和实例化调用有哪些不同点?
  3. 计算机专业课的教学准备,计算机专业课程教学中的分层教学模式
  4. 世界备份日,您的数据足够安全吗?
  5. oracle 读懂10046视频,10046、10053、实操记录
  6. 【OpenCV】图像线性混合
  7. practice:如何使用2008R2上的AD管理中心
  8. HDU 4336:Card Collector 期望+状压
  9. Java8 实战系列-06-lambda 方法引用
  10. 尚学堂轻松愉快LINUX视频教程
  11. qq邮箱服务器地址ip地址,如何查询对方QQ邮箱的ip地址?QQ邮箱ip地址的查询方法...
  12. java 防止js注入----ESAPI结合Top10安全开发实战
  13. 4个最受欢迎的大数据可视化工具
  14. PC端淘宝小程序开发记录
  15. crtlc不能复制文件_win10系统按ctrl+c快捷键无法复制文件的操作方法
  16. 计算机科学与专业大学排名,计算机科学与技术专业大学排名
  17. 使用GSM6315模块,采用http或者https协议与服务器通信笔记
  18. 微信公众号小程序开通方法_微信小程序发布审核大概要多久
  19. WinForm的控件
  20. 【软考高项】新一代信息技术及应用之云计算

热门文章

  1. Windows10安装tomcat【配置环境变量】
  2. 2021年建筑电工(建筑特殊工种)考试及建筑电工(建筑特殊工种)试题及答案
  3. swoole一键携程化mysql_【SWOOLE系列】浅淡SWOOLE协程(二) 一键协程化
  4. folly 开源库 ConcurrentHashMap 的简单使用
  5. AcWing 95. 费解的开关
  6. 软件工程项目方案(二) page to mail By 沈升
  7. java 队列方法详解
  8. 【python自动化办公】好用的在线网站推荐解决pdf格式转化、文字提取、图片质量增强、抠图等
  9. 水利水电安全员考试多选练习题库(5)
  10. ajax请求报错415,Ajax请求(415 Unsupported Media Type)