fabric

低功耗设计基础:Power Gating详解

非 Y 不嫁゛ 提交于 2021-02-20 12:36:05
本文原创首发于知乎专栏【数字IC后端工程师修炼之路】 在低功耗设计领域,最有效的降低功耗的手段莫过于电源关断了。 其原因在于不论多低的电压,多小的电流,多慢的速度抑或多小的leakage,都不如将电源完全关闭来的彻底。 尽管如此,在实际设计中,由于power gating设计方法会极大地增加design的复杂度,从设计到验证,从后端实现到signoff methodology都有很多不同于一般design的特点。 今天主要从逻辑构成和后端实现的角度介绍一下power gating的特点和原理。一个典型的带有power gating的设计,应该包含以下的主要module: power gating controller: 控制芯片中关断模块的电源何时关闭并给特殊的cell如retention register输出必要的使能信号; power switching fabric: 也称power switch, 实现电源关闭的逻辑单元,一般由后端实现阶段加入并按照一定设计规则摆放; always-on module: 电源一直保持打开的模块; isolation cells: 简称ISO,一般在关断模块输入到电源always-on模块方向的信号需要加入此类cell,具体作用将在后面解释; retention DFFs: 特殊的寄存器能够在主电源关断的情况下保持数据不丢失

Windows下fabric sdk连接Linux上fabric网络的调试过程

不打扰是莪最后的温柔 提交于 2021-02-18 20:59:36
上个月刚入职一家公司从事区块链研发工作,选型采用Hyperledger Fabric作为开发平台。团队的小组成员全部采用的是在VirtualBox上面安装桌面版的Ubuntu 16.04虚拟机,开发工具JetBrains GoLand也就直接在桌面版的虚拟机里面安装。而我因为之前比较习惯使用Vagrant + VirtualBox的方式快速加载我定制版的Ubuntu镜像从而创建Linux开发环境,这样一来的弊端就是我只能通过命令行来进行一切操作而没有桌面可操作,所以我的整个开发IDE就在本机的windows上进行。 我们的Fabric网络是采用的Docker方式启动,作为自己本地的测试环境自然就将网络搭建在Ubuntu虚拟机里面,前期由其它小组成员负责针对Go语言版本的SDK(Hyperledger子项目fabric-sdk-go)进行封装调用并利用Beego作为服务器将相应的API暴露出来,而我负责的便是将他们暴露出来的API进一步封装为标准Go版的SDK,所谓的标准就是对调用者而言无感是调用的区块链。这个时候问题就出现了,在我写SDK的过程中用单元测试对他们的API发起Http请求调用时一脸懵逼,观察Beego服务器打印的日志信息少的可怜几乎没有

fabric的fabric-sample调试

谁说胖子不能爱 提交于 2021-02-18 20:35:57
1.准备工作:window环境,本地安装好docker,(dockerhub,docker toolbox(注意关闭Hyper-V)) 2.下载fabric-sample,命令:git clone -b master https://github.com/hyperledger/fabric-samples.git 3.需要fabric后端,chaincode服务端,chaincode调用端 a.fabric后端: 进入dos: cd fabric-sample/chaincode-docker-devmode 启动(启动前需要安装好docker machine,命令:docker-machine start default) docker machine安装完 docker-compose -f docker-compose-simple.yaml up -d 如果提示错误,可能是fns问题,执行下面可解决: //解决方法: cd fabric-sample/first-network ./byfn.sh -m down b.启动链码的后端: docker ps 可查看运行的docker镜像,docker ps -a可查看所有的docker 镜像 docker exec -it chaincode bash 进入到sacc cd sacc go build CORE_PEER

ignite入门

拈花ヽ惹草 提交于 2021-02-13 09:16:35
基本概念 1.1.Ignite是什么 Ignite是: 一个以内存为中心的分布式数据库、缓存和处理平台,可以在PB级数据中,以内存级的速度进行事务性、分析性以及流式负载的处理。 1.1.1.固化内存 可以按需将持久化打开或者关闭。如果持久化关闭,那么Ignite就可以作为一个分布式的内存数据库或者内存数据网格。 1.1.2.Ignite持久化 Ignite的原生持久化是一个分布式的、支持ACID以及兼容SQL的磁盘存储。 1.1.3.ACID兼容 存储在Ignite中的数据,在内存和磁盘上是同时支持ACID的,使Ignite成为一个强一致的系统,Ignite可以在整个网络的多台服务器上保持事务。 1.1.4.完整的SQL支持 Ignite提供了完整的SQL、DDL和DML的支持,可以使用纯SQL而不用写代码与Ignite进行交互,这意味着只使用SQL就可以创建表和索引,以及插入、更新和查询数据。有这个完整的SQL支持,Ignite就可以作为一种分布式SQL数据库。 1.2 特性 1.2.1 Advanced Clustering 通过心跳服务自动发现。从而: (1)加节点无需重启(支持CacheRebalanceMode); (2)获取度量指标(如CPU负载、使用内存等); (3)自修复(自动重连,慢客户端会被自动踢出); (4)容错性

In Fabric how can I create a glob list from a remote path

依然范特西╮ 提交于 2021-02-11 07:20:27
问题 With Python's Fabric I want to transfer files to and from a remote server. The list of files to transfer I need to generate from a glob expression like * or *.txt (and then apply some addional exclusions afterwards). For the case of transferring to the remote it is easy to glob the list of source files, because the source is local: [ f for f in Path(local_dir).glob(<my glob expression>)] But how do I do this on the remote server? I have a connection to the remote established via with fabric

基于 DTLS 协议的反射攻击深度分析

和自甴很熟 提交于 2021-02-06 10:25:20
作者:百度安全实验室 原文链接: https://mp.weixin.qq.com/s/Ye_AuMDLQotv3M5rv9OmOA 0x00概述 德国软件公司Anaxco GmbH的Marco Hofmann首次发现黑客利用Citrix ADC网关上的DTLS服务(UDP:443)作为反射源实施DDoS放大攻击,之后国内多个安全团队针对此类攻击进行过解读。 百度智云盾团队在2021年1月也捕获到此类攻击,经过深入分析,我们确认了这次攻击是黑客利用DTLS协议未启用HelloVerifyRequest安全认证机制的漏洞发起的反射放大攻击。 0x01 事件回顾 2020年12月19日,德国软件公司Anaxco GmbH的Marco Hofmann在公司的监控系统上发现异常流量告警,在公司防火墙上进行抓包分析,发现流量中有同一客户端IP的大量请求和海量响应,随后跟踪到流量来源为Citrix ADC设备上的DTLS服务(UDP 443)。由于异常流量已经影响到了公司网络,他决定阻断针对UDP 443端口的请求,从而缓解了这次攻击对公司网络的影响。之后他将这次攻击信息发布到社交网站,不久有其他安全研究人员在EUC社区及社交网站上发帖表示也遭受到了这种攻击。 Citrix ADC是Citrix(思杰)公司的一系列网络产品的统称,ADC的中文名为应用程序交付控制器,也被人称为NetScaler

Microsoft C++ Build tool required to install fabric - Python

风流意气都作罢 提交于 2021-01-29 19:43:25
问题 I'm trying to install fabric via pip install fabric in order to deploy a flask app on a server. I have the following error : ERROR: Command errored out with exit status 1: command: 'c:\users\alex\appdata\local\programs\python\python38-32\python.exe' 'c:\users\alex\appdata\local\programs\python\python38-32\lib\site-packages\pip\_vendor\pep517\_in_proces s.py' build_wheel 'C:\Users\Alex\AppData\Local\Temp\tmp5bslt539' cwd: C:\Users\Alex\AppData\Local\Temp\pip-install-yyi3arer\bcrypt [...]

Hyperledger Fabric 环境搭建(2)

天大地大妈咪最大 提交于 2021-01-25 05:00:32
上一篇 https://www.cnblogs.com/xdyixia/p/11738096.html 介绍了Hyperledger Fabric环境中各种软件安装和源码编译,这一篇介绍快速运行一个简单的Fabric网络。 方法一:利用源码中的脚本运行docker镜像 在Fabric的源码中提供了一个基于docker-compose运行上篇文章中的Docker镜像文件的例子。 在$GOPATH/src/github.com/hyperledger/fabric/examples/ e2e_cli目录里运行脚本 ./network_setup.sh up 下面是运行该脚本启动Fabric的结果 View Code 这个做了以下操作: 1)编译生成Fabric公私钥、证书的程序,程序在目录:fabric/release/linux-amd64/ bin 2)基于configtx.yaml生成创世区块和通道相关信息,并保存在channel- artifacts文件夹。 3)基于crypto-config.yaml生成公私钥和证书信息,并保存在crypto- config文件夹中。 4)基于docker-compose-cli.yaml启动1Orderer+4Peer+ 1CLI的Fabric容器。 5)在CLI启动的时候,会运行scripts/script.sh文件

Hyperledger Fabric环境搭建

好久不见. 提交于 2021-01-25 02:13:46
最近在准备开始学习区块链的超级账本编程,但是在搭建Hyperledger Fabric的时候就出现了很多问题,查阅网上的其他人写的博客,但是很少能够完整或者正确的将完整的安装过程表达清楚,因此将自己的环境搭建过程以及出现的问题写下来,希望能对其他人起到一些帮助。 其中在搭建过程参考了其他人的部分东西: 感谢博客:https://blog.csdn.net/qq_43681877/article/details/107399250 官方文档参考 https://hyperledger-fabric.readthedocs.io/en/latest/test_network.html 首先说明一下自己的系统环境吧: 采用虚拟机做的操作系统。 内存分配了3g 硬盘分配了30g Ubuntu16.04.6 如何通过虚拟机安装ubuntu操作系统就不说了,请自行查找资料。 接下来就是正式开始搭建环境了。我这里安装的是2.2.0版本。 1、按照 Hyperledger Fabric官方提供的文档 来说,首先在你的系统中应该安装着最新版本的git。对于ubuntu来说,可以按照以下方式来安装: apt-get install git 对于Ubuntu,此PPA提供最新的稳定上游Git版本 add-apt-repository ppa:git-core/ppa apt update ; apt

Replix:让有状态的应用程序轻松跨云

我与影子孤独终老i 提交于 2021-01-24 15:00:15
在多云世界中,跨云管理有状态的应用程序很困难,特别是调用大量数据集的应用程序。而这是以色列初创公司Replix正在解决的问题。 它提供了一个名为Replix Global Data Fabric的多云存储平台,使用户可以在不设置专用硬件或网络配置的情况下,跨区域和云提供商动态创建同步数据副本。 据该公司介绍,这是一项按量付费的托管服务,能够在10分钟内建立多云副本,目的是在云中重现高端on-prem存储解决方案的体验。 Replix产品负责人Michael Greenberg表示:“我们的目标是解决数据移动性方面的问题,能够在不同地点之间自由移动数据,无论是云提供商,还是你在内部的位置。基本上,如果你能移动数据,那么你就能移动应用程序。” 该服务与Kubernetes集成,提供了跨区域和云在集群之间切换工作负载的能力。除了灾难恢复之外,它还提供了根据业务需要移动应用程序的自由。 “这个挑战是业界难题——如何让应用程序更接近数据。我们看到了机会,可以稍微改变一下模式,为用户提供另一个自由度,在那里他们可以运行自己的应用程序,而无需耗时六个月进行迁移。” 通过使用存储卷,托管Replix Global Data Fabric采用了一个网格的数据中继网络,在云之间实时传输数据。用户不必在不同的云之间设置网络、配置甚至身份策略。 这家总部位于特拉维夫的公司成立于2017年