Fabric的@runs_once的理解】的更多相关文章

1:runs_once的用法,一直没理解,我看网上都是说:“函数修饰符,标识的函数只会执行一次,不受多台主机影响”     实在没理解,然后看了一下官方文档,这样解释     举个例子: #!/usr/bin/python from fabric.api import * env.user="lile" env.hosts=['10.0.0.145','10.0.0.147'] env.password=" #@runs_once def local_task(): loca…
本章我们从fabric v1.0的e2e_cli示例开始分析整个启动过程以及在过程中的一些配置文件 首先呢,还是确保你的基本环境已经搭建完成,v1.0源码和镜像也都下载完毕 fabric启动过程中的相关脚本文件解析 network_setup.sh脚本文件 在源码目录下的network_setup.sh文件是官方提供的快速部署测试的一个自动化脚本,接下来我们看一下在启动这个文件时都做了什么: 在上图中我们只是截取了启动函数,在这个函数中可以清楚的看出在启动中调用了generateArtifact…
博主之前的文章都是教大家怎么快速的搭建一个Fabric的环境,但是其中大量的工作都隐藏到了官方的脚本中,并不方便大家深入理解其中的过程,所以博主这里就将其中的过程一步步分解,方便大家! 前面的准备工作我就不用多说了,也就是各种软件和开发环境的安装,安装好以后,我们git clone下来最新的代码,并切换到v1.0.0,并且下载好我们需要使用的docker镜像,也就是到步骤6,接下来我们要解析的是之后的步骤,也就是真正的搭建Fabric的过程. 1.生成公私钥和证书 Fabric中有两种类型的公私…
前面的准备工作我就不用多说了,也就是各种软件和开发环境的安装,安装好以后,我们git clone下来最新的代码,并切换到v1.0.0,并且下载好我们需要使用的docker镜像,也就是到步骤6,接下来我们要解析的是之后的步骤,也就是真正的搭建Fabric的过程. 1.生成公私钥和证书 Fabric中有两种类型的公私钥和证书,一种是给节点之前通讯安全而准备的TLS证书,另一种是用户登录和权限控制的用户证书.这些证书本来应该是由CA来颁发,但是我们这里是测试环境,并没有启用CA节点,所以Fabric帮…
为了不被无缘无故甩锅锅,这个我要好好理解下.…
简介 fabric是一个Python的库,同时它也是一个命令行工具.使用fabric提供的命令行工具,可以很方便地执行应用部署和系统管理等操作. fabric依赖于paramiko进行ssh交互,fabric的设计思路是通过几个API接口来完成所有的部署,因此fabric对系统管理操作进行了简单的封装,比如执行命令,上传文件,并行操作和异常处理等. #安装 # fabric3支持python3 pip3 install fabric3 由于fabric比较特殊它还是一个命令行工具,可以通过hel…
前面介绍了paramiko,pexpect模块,今天来说比较适合大型应用自动化部署的模块,或者执行系统命令的模块Fabric. Fabric 是一个 Python 的库,同时它也是一个命令行工具.它提供了丰富的同 SSH 交互的接口,可以用来在本地或远程机器上自动化.流水化地执行 Shell 命令.使用 fabric 提供的命令行工具,可以很方便地执行应用部署和系统管理等操作.因此它非常适合用来做应用的远程部署及系统维护.其上手也极其简单,你需要的只是懂得基本的 Shell 命令. fabric…
背景: 关于Fabric的介绍,可以看官网说明.简单来说主要功能就是一个基于Python的服务器批量管理库/工具,Fabric 使用 ssh(通过 paramiko 库)在多个服务器上批量执行任务.上传.下载.在使用Fabric之前,都用Python的paramiko模块来实现需求,相比之后发现Fabric比paramiko模块强大很多.具体的使用方法和说明可以看官方文档介绍.下面写类一个用paramiko封装的远程操作类的模板: #!/usr/bin/python # -*- encoding…
学习 Neutron 系列文章: (1)Neutron 所实现的虚拟化网络 (2)Neutron OpenvSwitch + VLAN 虚拟网络 (3)Neutron OpenvSwitch + GRE/VxLAN 虚拟网络 (4)Neutron OVS OpenFlow 流表 和 L2 Population (5)Neutron DHCP Agent (6)Neutron L3 Agent (7)Neutron LBaas (8)Neutron Security Group (9)Neutro…
执行模式 执行模式可以让你在多个主机上执行多个任务. 执行策略: 默认fabric是单个有序地执行方法,其行为如下: 1. 创建一系列任务,通过fab任务执行要执行的任务: 2. 根据主机列表定义,去执行每一个任务: 3. 没有主机定义的任务,将在本地执行一次. 如: from fabric.api import run, env env.hosts = ['host1', 'host2'] def taskA(): run('ls') def taskB(): run('whoami') #…
Fabric是基于Python实现的SSH命令行工具,简化了SSH的应用程序部署及系统管理任务,它提供了系统基础的操作组件,可以实现本地或远程shell命令,包括:命令执行.文件上传.下载及完整执行日志输出等功能.Fabric在Paramiko的基础上做了更高一层的封装,操作起来会更加简单. 命令说明 命令格式: fab [options] <command>[:arg1,arg2=val2,host=foo,hosts='h1;h2',...] ... 常用参数: -l #显示定义好的任务函…
区块链Fabric技术在托管业务中的运用初探 什么是Fabric技术 HyperLedger是IBM.Intel等多家公司正开展的一个区块链项目,包含了Fabric.Iroha等多项技术,其中最为活跃的是Fabric. 在"开源中国"网站,对Fabric的介绍如下: HyperLedger Fabirc是一个开源的区块链实现,以企业级的安全机制和membership机制为特色,简单来说,Fabric之于区块链,很可能正如Hadoop之于大数据. 开源项目可以直接从代码来进一步理解,代码…
p { margin-bottom: 0.25cm; line-height: 120% } a:link { } p { margin-bottom: 0.25cm; line-height: 120% } a:link { } Fabric是基于Python实现的SSH命令行工具.可以采用命令行的方式来执行SSH.可以认为是在paramiko的基础上做了更高一层的封装.来看下如何使用. 我们直接使用fab -H 192.168.0.9的时候提示错误,找不到任何的fabfiles root@z…
超级账本组成模型 本文主要讲述Hyperledger Fabric的关键设计特性,并细述如何实现了一个全面的.可定制的企业级区块链解决方案: 资产定义--资产这里理解为任何具有货币价值的东西,它们都可以通过网络进行交易,无论是超市商品到古董车再到货币期货都属于资产. 智能合约--链码(chaincode)即Fabric的智能合约,分为系统链码和用户链码.链码的执行由事务排序划分,限制了节点类型间的信任和验证级别,并优化了网络的可伸缩性和性能. 账本特征--账本不可变的.共享的并且为每个通道(ch…
使用CouchDB作为状态数据库 状态数据库选项 状态数据库包括LevelDB和CouchDB.LevelDB是嵌入在peer进程中的默认键/值状态数据库,CouchDB是一个可选的外部状态数据库.与LevelDB键/值存储一样,CouchDB可以存储任何以chaincode建模的二进制数据(CouchDB附件函数在内部用于非json二进制数据).但是,当chaincode值(例如,资产)被建模为JSON数据时,作为JSON文档存储,CouchDB支持对chaincode数据进行丰富的查询. L…
参考文章:http://zmrenwu.com/post/21/ Fabric是一个Python的库,它提供了丰富的同SSH交互的接口,可以用来在本地或远程机器上自动化.流水化地执行Shell命令.因此它非常适合用来做应用的远程部署及系统维护.其上手也极其简单,你需要的只是懂得基本的Shell命令. 安装Fabric pip install fabric 第一个例子 我们创建一个"fabfile.py"文件,然后写个hello函数: def hello(): print "H…
面向 Java 开发人员的链代码简介 您或许听说过区块链,但可能不确定它对 Java™ 开发人员有何用.本教程将帮助大家解惑.我将分步展示如何使用 Hyperledger Fabric v0.6 来构建.运行和执行使用 Java 语言编写的智能合约或链代码.您将安装一些工具,定义本地区块链网络,构建并运行一个链代码智能合约. 有关区块链的概述,请参阅 developerWorks 博客中的 "区块链是什么?分布式账本技术入门". 前提条件 本教程假设您满足以下前提条件: 听说过区块链或…
编写第一个 Java 链代码程序 在上一节中,您已经熟悉了如何构建.运行.部署和调用链代码,但尚未编写任何 Java 代码. 在本节中,将会使用 Eclipse IDE.一个用于 Eclipse 的 Gradle 插件,以及一个名为 ChaincodeTutorial 的 Java 链代码框架项目,编写第一个 Java 链代码程序.您将从我为此教程创建的 GitHub 存储库中获取框架代码,将该代码导入 Eclipse 中,添加代码来让链代码智慧合同按要求生效,然后在 Eclipse IDE 内…
 Hyperledger Fabric . Corda 和以太坊的对比 三种不同的框架 我们从 Hyperledger Fabric.R3 Corda和以太坊的白皮书中可以看到,三种框架在可能的应用领域上分别具有完全不同的想法. Fabric[1] 和 Corda[2] 的开发是受具体用例驱动的.其中,Corda 的用例来自于金融服务行业,这也是 Corda 可见的主要应用领域.Fabric 设计提供一种模块化.可扩展的架构,可用于从银行.医疗保健到供应链等各个行业. 以太坊表现出完全独立于任何…
最近一直在看fabric系统中的核心模块之一——peer模块.在看peer的配置文件core.yaml的信息时,对其中的gossip配置选项很感兴趣.看了一上午,还是不能明白这个选项到底什么意思呢?表面意思很容易理解:“gossip”——“闲话”.但是在配置选项中为什么要起这么个名字呢? 后来查阅了一些资料,才知道开发者用意何为? gossip——可最终达到一致的算法: gossip本意是绯闻,流言蜚语,闲谈聊天的意思.而在这里,gossip代表了一种可最终达到一致的算法.其灵感来源于办公室八卦…
题记:鉴于社区对Service Fabric有诸多误解,希望借本文能让大家正确了解Service Fabric是一个什么东西,算是给其正名. 术语与分类 Service Fabric不仅仅是容器编排器 Service Fabric 是一种开源的跨平台的分布式应用平台,通过它可轻松开发.打包.部署和管理可缩放且可靠的微服务(或者非微服务).所以Service Fabric不仅仅是一个容器编排器或者微服务平台,而是一个分布式平台,也意味着你要开发一个分布式应用,那么藉由SF,可以更容易的解决所遇到的…
摘要:当需要同时管理许多服务器时,如果我们一台一台登陆上去操作会显得费时又费力.此时我们可以用fabric这个包提供的API来编写python脚本完成服务器集群的统一管理. 核心原理:fabric为主动ssh至主机执行指定操作,而不是在主机上装agent接收指令. 1.安装 pip install fabric3  ====>可以把fabric看做是一个软件,安装后提供操作系统级命令“fab”,然后这个软件开放一些API,可以通过python去调用 2.fab常用参数(操作系统级命令“fab”的…
前面的文章都是在讲解Fabric网络的搭建和ChainCode的开发,那么在ChainCode开发完毕后,我们就需要使用Fabric SDK做应用程序的开发了.官方虽然提供了Node.JS,Java,Go,Python等多种语言的SDK,但是由于整个Fabric太新了,很多SDK还不成熟和完善,所以我采用Node JS的SDK,毕竟这个是功能毕竟齐全,而且也是官方示例的时候使用的SDK.由于我从来没有接触过Node.JS的开发,对这个语言理解不深,所以讲的比较肤浅,希望大家见谅. 1.环境准备…
深蓝前几篇博客讲了Fabric的环境搭建,在环境搭建好后,我们就可以进行Fabric的开发工作了.Fabric的开发主要分成2部分,ChainCode链上代码开发和基于SDK的Application开发.我们这里先讲ChainCode的开发.Fabric的链上代码支持Java或者Go语言进行开发,因为Fabric本身是Go开发的,所以深蓝建议还是用Go进行ChainCode的开发. ChainCode的Go代码需要定义一个SimpleChaincode这样一个struct,然后在该struct上…
https://blog.csdn.net/weixin_42117918/article/details/85230754 1.整体架构 2.交易流程 流程步骤: 应用程序通过SDK发送请求到Peer节点(一个或多个) 即发起交易客户A发起交易请求:合约设置的背书策略规定所有交易需要经过两个Peer节点的签名背书,因此请求需要被同时发往Peer A和Peer B.客户端应用程序利用任意SDK(nodeJS,java,go)构造交易提案.该提案是一个调用智能合约功能函数的请求,用来确认哪些数据可…
Building you first network 网络结构: 2个Orgnizations(每个Org包含2个peer节点)+1个solo ordering service 打开fabric-sample下的示例first-network 其中byfn.sh为启动这个网络的启动脚本,启动脚本中除建立一个包含4个节点和1个Order service的网络外,还会启动一个容器用来执行脚本在channel中加入节点,部署和初始化chaincode,以及在部署的chaincode上执行交易. 启动脚…
区块链的数据结构 State数据结构 由peer维护,key/value store Ledger  记录了所有成功和不成功的状态更新交易.Ledger被ordering service构造,是一个全排序的交易区块(有效的和无效的)哈希链. Ledger存储在peer节点和orderer的一个子集里.存储在peer上的Ledger和存储在Orderer上的Ledger不同地方在于peer上的Ledger在本地维护一个位掩码(比特位)用来区分有效交易和无效交易. PeerLedger在v1后续版本…
This section outlines the key design features woven into Hyperledger Fabric that fulfill its promise of a comprehensive, yet customizable, enterprise blockchain solution: Assets - Asset definitions enable the exchange of almost anything with monetary…
安装 pip3 install fabric3 创建软连接 find / -type f -name "fab" /usr/local/python3/bin/fab ln -s /usr/local/python3/bin/fab /usr/bin/fab 如果文件名为fabfile.py ,就不需要使用-f 指定文件名 入门示例 #fabfile.py from fabric.api import run def host_type(): run('uname -s') 启动 ly…
1. fabric的安装 在windows下的python3中安装fabric: 在python安装根目录下使用pip install fabric 安装 如图: fabric只支持python2不支持python3 在windows下的python2中安装fabric: 问题: 如何在已经安装了python3的windows操作系统中安装python2 已知 python2的安装路径为D:\python2      python3的安装路径为D:\python3 将D:\python2,  D…