在Iris框架中,封装了mvc包作为对mvc架构的支持,方便开发者遵循mvc的开发原则进行开发. iris框架支持请求数据.模型.持久数据分层处理,并支持各层级模块代码绑定执行. MVC即:model.view.controller三个部分,分别代表数据层.视图层.控制层.控制器层负责完成页面逻辑.实体层负责完成数据准备与数据操作.视图层负责展现UI效果. 在iris框架中,用一张图表示前端请求.服务端处理请求.服务端返回数据到前端的请求过程图,描述如下: mvc.Application iri…
HealthKit开发快速入门教程之HealthKit框架体系创建健康AppID HealthKit开发准备工作 在开发一款HealthKit应用程序时,首先需要讲解HealthKit中有哪些类,在iOS上的Health即健康应用有哪些功能等.本节将针对这些问题进行讲解. HealthKit框架体系 对于一类应用程序来说,要进行开发,首先需要熟悉它的框架体系,即类.以下我们针对HealthKit中所使用的类进行了总结,如表1-1所示. 1-1  HealthKit框架体系 类 功能 NSObje…
Kail Linux渗透测试教程之Recon-NG框架 信息收集 信息收集是网络攻击最重要的阶段之一.要想进行渗透攻击,就需要收集目标的各类信息.收集到的信息越多,攻击成功的概率也就越大.本章将介绍信息收集的相关工具. Recon-NG框架 Recon-NG是由python编写的一个开源的Web侦查(信息收集)框架.Recon-ng框架是一个强大的工具,使用它可以自动的收集信息和网络侦查.下面将介绍使用Recon-NG侦查工具. 启动Recon-NG框架,执行命令如下所示: root@kali:…
☞ ░ 前往老猿Python博文目录 ░ 一.超级账本(hyperledger) 超级账本(hyperledger)是Linux基金会于2015年发起的推进区块链数字技术和交易验证的开源项目,成员包括金融,银行,物联网,供应链,制造和科技行业的领头羊. hyperledger项目的目标是区块链及分布式记账系统的跨行业发展与协作,并着重发展性能和可靠性(相对于类似的数字货币的设计)使之可以支持主要的技术.金融和供应链公司中的全球商业交易. 项目采用独立的开放协议和标准,通过框架方法和专用模块,如各…
今天主要是学习了区块链在金融和供应链领域的应用,重点体现了区块链多方参与.透明可信.防篡改防抵赖的技术优势 区块链的应用场景最早是在金融行业应用较多,后续逐步扩展到传统行业,如:供应链.政务服务.物联网.新能源.互联网等,同时也出现了一些颠覆性应用场景:CDN.社交.共享经济.云存储.电商等. 案例1:银行间跨境支付/结算 特点:点对点交易.简化操作.易于扩展.高可用 案例2:银行KYC信息共享 特点:KYC(Know-Your-Customer).信息共享.隐私保护.高可用 案例3:供应链金融…
其实很早之前就听过区块链,也看过有关区块链的介绍,那个时候的理解主要还是一句话:分布式记账 然后开始关注比特币,听了有几年了,对于其来历.用途其实一直都是一知半解. 这次的课算是第一次以一个学员的身份去听专家从技术原理角度讲解"区块链",揭开这层神秘的面纱. 老师的讲解也比较通俗易懂,以一个转账的案例,将区块链的几个特性给描述了出来: 1)透明可信 2)防篡改可追溯 3)隐私安全保障 4)系统高可靠 一句话阐述就是:区块链是一种去中心化.去信任化.不可篡改和抵赖的分布式账本技术. 其中…
前面我们介绍了以太坊私有链的搭建以及多节点私有链网络,这次我们介绍如何使用truffle框架来部署编译智能合约到我们之前搭建的私有链网络中. 搭建环境及需使用的工具:ubuntu18.04  Truffle v5.0.18  geth 1.8.27  Node v10.16.0 solc  0.5.8+commit.23d335f2.Linux.g++ 在我们部署一个简单的合约之前,我们先介绍一些相关的知识. 一.geth 启动节点参数介绍 geth 当中有许多指令,因为之后私有链节点启动需要设…
Hyperledger Fabric 手动搭建 前面我们学习了区块链是什么.还有自动搭建学习东西我们就要从简单到深入(入门到放弃),现在自动部署已经跑通了接下来就是手动搭建Fabric 网络可以更好的理解为什么要这么做. 使用cryptogen(密码生成器)和configtxgen(配置交易生成器)手动生成证书/密钥和各种配置构件(等同于执行./byfn.sh generate) 密钥生成器 cryptogen cryptogen 工具为我们的网络实体生成各种加密材料( x509 证书和签名秘钥…
Hyperledger Fabric 学习 什么是区块链 什么是区块链在我们没有接触的时候,只知道它是一个去中心化的存储方式.当我们发生交易,或者动作的时候我们会将记录通知给所有参与者共同维护,达到去中心化的进行存储.并且我们会将记录使用加密技术保证记录一旦添加到了账本中就无法修改(无法修改的账本就可以追溯信息根源)这个也就是区块链有时候被称为证明系统. 区块链使用场景 多方参与 跨机构数据共享需求 能够除本增收 提高工作效率 智能合约 智能合约也就是我们说的链码,我们可以通过智能合约访问我们的…
☞ ░ 前往老猿Python博文目录 ░ 在Hyperledger Fabric区块链中,有背书节点进行背书,Hyperledger Fabric 使用背书策略来定义哪些节点需要执行交易. Hyperledger Fabric在区块链交易方面采取了一个新颖的思路,将智能 合约的执行与账本的更新分开使它可以提高交易吞吐量,支持更细粒度 的隐私控制,实现更灵活强大的智能合约.而这些特性得以实现的一个 关键因素就是在交易加入账本之前进行显式地交易背书. 1.背书 背书"这个词源来自银行票据业务,传统意…
☞ ░ 前往老猿Python博文目录 ░ 一.智能合约的定义 通俗来说,智能合约就是一种在计算机系统上,当一定条件满足的情况下可被自动执行的合约,智能合约体现为一段代码及其运行环境.例如银行信用卡的自动还款就是一种典型的智能合约. 我们来看看智能合约概念的演进历史: 智能合约概念于1994年由Nick Szabo首次提出,百度上关于智能合约的定义:智能合约(英语:Smart contract )是一种旨在以信息化方式传播.验证或执行合约的计算机协议.智能合约允许在没有第三方的情况下进行可信交易,…
一:安装geth客户端 Windows要求必须是64位系统,从官方网站下载编译好的win64客户端,下载解压后只有一个Geth.exe问价,运行安装即可,下载地址如下: https://github.com/ethereum/go-ethereum/releases/ 安装后用cmd命令打开命令行,进入到你安装geth的目录下,输入geth –help 命令,如果输出一大堆关于geth的信息如下图则说明安装成功.当前geth命令只能在geth对应的目录下使用,如果想要在任何目录使用geth命令,…
这是最后一节课了,主要讲华为云在云区块链提供的服务,如何基于华为云BCS来构建应用 先来个简单的比喻: 1.有关BaaS的范围定义 包含物理主机.虚拟主机.容器服务.区块链.智能合约和服务 2.华为云区块链服务BCS 3.华为云BCS特点: 1)易用:一键部署,区块链系统全生命周期管理 2.易用:可视化智能合约生命周期管理,多语言支持 3)高可用:成员动态准入,节点弹性伸缩和快速故障恢复 4)高性能:提供多种安全.高校排序算法,按需选择 构建基于关系模型的区块链,提升易用性和查询性能 问题: 1…
这节课主要是政务领域.版权存证领域.能源领域的应用案例介绍 1.房屋租赁联盟链 特点:真实可信.透明补贴.便于追溯.公共监督 节点:房屋运营节点.房管局节点.社保局节点.财政局节点.教育部门节点(多节点共享账本) 2.税务局和银行联合打造区块链银税通系统 1)分布式账本连接银行和税务,为银税系统由线下搬到线上创造可信基础 2)贷款过程全程透明可视 3)用户授权税务总局监管防止纳税数据泄露 4)区块链使得业务信息公开透明公正,有助于提供数据可信度 5)数据不可篡改的特性,可有效降低风控成本 3.区…
对于区块链的技术发展历史,其实在我的印象中也就对比特币有所了解,也听过什么火币之类的玩意,但是具体是什么.怎么运作的就不清楚了... 这次的内容首先是讲解了区块链的技术演进,一张图一目了然,虽然里面涉及的具体技术细节还是不太清楚,但是至少知道了一些内容: 1.0版本:比特币 2.0版本:以太坊 3.0版本:Hyperledger 其中关键技术的对比,比特币和以太坊都有代币,而Hyperledger没有,比特币和以太坊都用POW作为共识算法,二Hyperledger采用PBFT/pluggable…
☞ ░ 前往老猿Python博文目录 ░ 一.简介 默克尔树(Merkle tree,MT)又翻译为梅克尔树,是一种哈希二叉树,树的根就是Merkle根. 关于Merkle树老猿推荐大家阅读<Merkle树>这篇文章. Merkle树和Merkle根在区块链中用于维护账本校验数据的完整性和不可篡改,并在变动时快速定位变化的交易数据.在区块链中常用的hash算法为SHA256,关于SHA算法请参考<深入理解SHA系列加密算法>. 二.思考 为什么说在比较两组相同数据量的数据时,将其构…
阿里妹导读:区块链技术,随着比特币的兴起而为大家所知.但是具体到技术本身,大家相对熟悉的几个词可能是“数据不可篡改”.“公开链”.“分布式数据”.“共识机制”等. 这篇文章将抛砖引玉,通过深度解读Hyperledger Project旗下的Fabric,介绍区块链适合的应用场景,如何从技术上去解决实际业务中的问题,希望能和大家一起探讨.学习. 前言 Hyperledger Project 由Linux基金会创办于2015年10月,是一个开源的区块链研发孵化项目,致力于提供可协同开发以区块链为底层…
1       ExtJS入门 1.1     支持所有主流浏览器 调试推荐:chrome.Safari.Firefox 1.2     推荐目录结构 - appname (包含所有程序代码,是根目录) - app (包含所有类,按包的规则命名子目录) - namespace - Class1.js - Class2.js - ... - extjs (ExtJS 4 SDK) - resources (CSS图片等资源文件) - css - images - ... - app.js (程序入…
v0.6 的架构相对简单,适合作为实验或学习来使用. 一.环境准备 一台云服务器(笔者使用的是阿里云的1核-2GB内存) Go语言环境 Docker安装 docker-compose安装 二.环境搭建 更新yum 保证我们安装的软件包都是最新版本的:升级所有包同时也升级软件和系统内核 yum -y update 安装GO语言环境 2.2.1 下载tar包,上传到服务器  Go官方网站:https://golang.org/dl/ (国外网站你懂的)  Go中文网:https://studygol…
本章我们从fabric v1.0的e2e_cli示例开始分析整个启动过程以及在过程中的一些配置文件 首先呢,还是确保你的基本环境已经搭建完成,v1.0源码和镜像也都下载完毕 fabric启动过程中的相关脚本文件解析 network_setup.sh脚本文件 在源码目录下的network_setup.sh文件是官方提供的快速部署测试的一个自动化脚本,接下来我们看一下在启动这个文件时都做了什么: 在上图中我们只是截取了启动函数,在这个函数中可以清楚的看出在启动中调用了generateArtifact…
相对与v0.6版本来说,1.0版本改变较大,此处不多说,只是将小白自己搭建1.0环境的过程分享给大家.希望对大家能有所帮助! 这一篇可能对前面的环境搭建会写的有些粗略,如有疑问,可阅读上一篇V0.6版本的环境搭建详细步骤. 一.环境准备 云服务器(CentOS7.2) Go语言环境 docker安装 docker-compose安装 二.环境搭建 更新yum 保证我们安装的软件包都是最新版本的:升级所有包同时也升级软件和系统内核 yum -y update 安装Go语言环境 Go中文网:http…
MySQL 管理 启动及关闭 MySQL 服务器 Windows 系统下 在 Windows 系统下,打开命令窗口(cmd),进入 MySQL 安装目录的 bin 目录. 启动: cd c:/mysql/bin mysqld --console 关闭: cd c:/mysql/bin mysqladmin -uroot shutdown Linux 系统下 首先,我们需要通过以下命令来检查MySQL服务器是否启动: ps -ef | grep mysqld 如果MySql已经启动,以上命令将输出…
C#区块链零基础入门,学习路线图 一.1分钟短视频<区块链100问>了解区块链基本概念 http://tech.sina.com.cn/zt_d/blockchain_100/ 二.C#区块链 智能合约,基于NEO开源区块链学习,NEO小蚁是国内市值排名第一的开源区块链项目,基于.NET Core C#开发,NEO生态圈先发优势,与微软关系密切,2018年2月,微软与NEO在美国联合举办首届区块链开发者技术大会 1)微信公众号搜索"NEL新经济实验室" 快速入门教程,NEL…
概述 对初学者,首先要了解以太坊开发相关的基本概念.   学习以太坊开发的一般前序知识要求,最好对以下技术已经有一些基本了解: 一种面向对象的开发语言,例如:Python,Ruby,Java... 前端开发语言:HTML/CSS/JavaScript Linxu命令行的使用 数据库的基本概念 项目简介 我们构建一个去中心化的(Decentralized)投票应用.利用这个投票应用, 用户可以在不可信(trustless)的分布环境中对特定候选人投票,每次投票都会被记录在区块 链上:   所谓去中…
概述 对初学者,首先要了解以太坊开发相关的基本概念.   学习以太坊开发的一般前序知识要求,最好对以下技术已经有一些基本了解: 一种面向对象的开发语言,例如:Python,Ruby,Java... 前端开发语言:HTML/CSS/JavaScript Linxu命令行的使用 数据库的基本概念 项目简介 我们构建一个去中心化的(Decentralized)投票应用.利用这个投票应用, 用户可以在不可信(trustless)的分布环境中对特定候选人投票,每次投票都会被记录在区块 链上:   所谓去中…
go启动后,可以用telnet登录访问. 注意端口配置写在.env里面. 源码:https://github.com/mycoralhealth/blockchain-tutorial/tree/master/networking 英文原版:https://medium.com/@mycoralhealth/code-your-own-blockchain-in-less-than-200-lines-of-go-e296282bcffc Part 2: Networking — Code yo…
Coral Health · 大约23小时之前 · 220 次点击 · 预计阅读时间 7 分钟 · 不到1分钟之前 开始浏览 区块链是目前最热门的话题,广大读者都听说过比特币,或许还有智能合约,相信大家都非常想了解这一切是如何工作的.这篇文章就是帮助你使用 Go 语言来实现一个简单的区块链,用不到 200 行代码来揭示区块链的原理!高可用架构也会持续推出更多区块链方面文章,欢迎点击上方蓝色『高可用架构』关注. “用不到200行 Go 代码就能实现一个自己的区块链!” 听起来有意思吗?有什么能比开…
MaidSafe.net宣布项目SAFE到社区 1. 介绍 现有的互联网基础设施越来越难以应付超过24亿互联网用户的需求,这个数字在2017年预计将增长到36亿.今天的架构中,中央中介(服务器)存储并提供对数据的访问是昂贵和低效的.数据中心使用世界电力的1.1%到1.5% (每年增长60%),代表着数据中心所有者,供应商和企业的巨大支出,他们都必须付费才能托管用户数据并维护基础架构.在今天的网络中,用户数据的安全已经被证明几乎不可能,几乎每周都有ID和密码盗窃的报道. 为了克服这些挑战,需要采取…
截止上篇博客,以太坊区块链开发的环境和框架基本上搭建完毕.这一篇博客重点梳理一下基本的流程和操作演示. 前奏 基于前面的安装配置,现在重新梳理一遍,以前博客讲到的就在这里一笔带过. (1)创建一个工作空间的目录: (2)进入目录,执行truffle init命令,初始化demo: (3)编译项目truffle compile: (3)便于本地测试,启动testrpc: 以上为之前博客所讲内容,下面记录后续操作. 编译&发布&操作 启动测试 首先启动testrpc,在项目根目录执行: tes…
路由组的使用 在实际开发中,我们通常都是按照模块进行开发,同一模块的不同接口url往往是最后的一级url不同,具有相同的前缀url.因此,我们期望在后台开发中,可以按照模块来进行处理我们的请求,对于这种需求,iris框架也是支持的. usersRouter := app.Party("/admin", userMiddleware) 如上述代码所示,iris框架中使用app.Party方法来对请求进行分组处理,第二个参数是处理路由组的中间件方法,通常情况下我们会在中间件中写contex…