go

Hyperledger Fabric学习(十三)1.4版本的搭建

孤人 提交于 2020-10-06 11:44:23
准备环境 go 1.13或以上版本 docker ce-17.06或以上版本 准备工作 拉取项目 ## 进入$GOPATH/src/github.com/hyperledger cd $GOPATH /src/github.com/hyperledger ## 拉取1.4版本的fabric项目 git clone -b release-1.4 https://github.com/hyperledger/fabric.git ## 拉取1.4版本的fabric-samples项目 git clone -b release-1.4 https://github.com/hyperledger/fabric-samples.git 编译可执行文件 ## 进入$GOPATH/src/github.com/hyperledger/fabric cd $GOPATH /src/github.com/hyperledger/fabric ## 编译可执行文件 make release 拷贝可执行文件到fabric-samples项目中 # 拷贝可执行文件到fabric-samples项目中 cp -r $GOPATH /src/github.com/hyperledger/fabric/release/linux-amd64/bin $GOPATH /src/github.com

Hyperledger Fabric学习(十一)智能合约(链码)第一个链码

穿精又带淫゛_ 提交于 2020-10-06 08:59:31
概述 ​ 链上代码,简称 链码 ,又称 智能合约 。一般是指由开发人员使用Go语言(也支持Java等语言)编写的应用程序代码,提供 分布式账本 的状态处理逻辑。链码被部署在Fabric的网络节点中,能够独立运行在具有安全特性的受保护的 Docker 容器中 ,以 gRPC 协议 与相应的 peer 节点进行通信 ,以操作(初始化或管理)分布式账本中的数据。可以根据不同的需求开发出不同的复杂的应用。 在 Hyperledger Fabric 中,链码一般分为: 系统链码 (略) 用户链码 : 指由开发人员编写的应用代码(即接下来我们需要掌握的部分 链码的生命周期管理 ​ 链码开发编写完成后,并不能立刻使用,而是必须经过一系列的操作之后才能应用在 Hyperledger Fabric 网络中进而处理客户端提交的交易。这一系列的操作是由链码的生命周期来负责管理。主要需要熟悉的三个操作如下: install :将已编写完成的链码安装在网络节点中; instantiate :对已安装的链码进行实例化; upgrade :对已有链码进行升级。链代码可以在安装后根据具体需求的变化进行升级; 链码使用方法 编写自己的第一个链码项目 需要提供 go 1.13或以上版本,以下所有教程均在Mac下运行,如果是使用Windows的用户,请大家注意进行类比操作 命令行创建一个目录,名称为 first_cc

sql 事务管理器已经禁止了它对远程/网络事务的支持

为君一笑 提交于 2020-10-06 08:29:13
问题: “链接服务器 OLE DB 访问接口 "SQLNCLI1" 返回了消息 "该伙伴事务管理器已经禁止了它对远程/网络事务的支持。" 过程: 1、创建链接服务器; 2、服务器上开启如下的服务: 3、打开'控制面板'->'管理工具'->'组件服务',点开'组件服务'->'计算机'->'我的电脑',然后展开“我的电脑”,找到 "Distributed Transaction Coordinator",继续展开,在"本地DTC" 右键,属性。作为数据库的服务器的配置如下: 4、非必要??? 在存储过程中,还需要添加下面一句代码。 SET XACT_ABORT ON 我在百度找到他的用法解释。 SET XACT_ABORT ON分为两种: a、总体作为一个事务,整体提交或整体回滚,格式为: SET XACT_ABORT ON BEGIN TRAN --要执行的语句 COMMIT TRAN GO b、每个语句作为一个事务,事务在错误行终止,错误行回滚,错误行之前的不回滚,格式为: SET XACT_ABORT ON BEGIN --要执行的语句 END GO 来源: oschina 链接: https://my.oschina.net/u/4406332/blog/4484318

2020 深圳 Gopher Meetup 上线啦!

跟風遠走 提交于 2020-10-06 07:59:15
10.17 Gopher Meetup 深圳站 Go 中国社区联合华为云,即将为深圳的 Gopher 们带来一场技术盛宴。本次 Meetup 邀请了来自华为云微服务、华为云边缘计算、腾讯IEG和腾讯云的技术专家们,交流分享使用 Go 语言的开发和应用经验。干货内容,现场交流,不容错过。 时间:2020.10.17 13:30-17:30 地点:广东深圳市南山区科园路1001号深圳市软件产业基地4A栋一层 Tips:性急的 Gopher 可以直接点击文末“阅读原文”进行报名~ No.1 华为云的go语言云原生实践 田晓亮|华为云工程师 负责华为云微服务相关产品的架构设计和落地,开发了国内首个go语言微服务框架和服务网格方案。国内早期云服务从业者,在PaaS,微服务,混合云,Devops,APM方向均有深入的实践经验。 内容简介 华为进军云计算后,就引入了kubernetes,promethues等云原生项目,自然也开始大范围使用go语言自研云服务,几年前go的生态也不完善,所以这时候自然就是要自己从头到尾编写工具库,另外也要落地微服务架构模式,自然有大量基础能力需要编写,go chassis就是在这样的背景下诞生的,我将介绍如何利用编写并在华为云治理大规模go云原生应用。 No.2 服务网格在边缘计算领域的实践与探索 李呈隆|华为云边缘云创新Lab工程师 华为云边缘云创新Lab工程师

至联云讲解《IPFS与Filecoin的发展历程》

喜你入骨 提交于 2020-10-06 07:42:44
随着Filecoin官方关于测试网大矿工奖励计划细则的公布,Filecoin项目越发火热,今天,我们就来给大家梳理一下,IPFS和Filecoin项目的发展历程。 2014年5 月:胡安发起IPFS项目 7月16日: 实验室获得12万美元种子轮孵化资金 2015年1 月:IPFS协议实验室成立,IPFS在全球发布 2016年:IPFS团队创建了libp2p、IPLD、multiformats、Orbit等模块 2017年6月:IPFS已储存了50亿份文件 7月:IPFS团队宣布成立Filecoin项目 8月10日 :Filecoin项目天使轮融资5200万美元 8月11日:Filecoin项目ICO一小时融资2亿美元,成为当年最大ICO 2018年5月:有史以来第一届IPFS大会的召开;Textile带来了可以在移动设备上运行的个人IPFS 2019年2月15日:Filecoin代码开源,go-filecoin上线 4月20日:协议实验室官方团队宣布与以太坊合作 5月10日:IPFS官方举办了首次Filecoin全球矿工视频会议,官方公布了全球Filecoin社区粉丝达到10亿人 7月12日:Filecoin官方团队首次中国行。IPFS原力区协助官方组织上海站Meetup,负责活动的全部流程 10月16日:Filecoin团队开放第一个备用Filecoin网络Lotus上线

Golang channel 快速入门

大兔子大兔子 提交于 2020-10-06 06:52:52
简介 Go 中多个 Goroutine 间的通信和同步一般使用 channel 来完成。channel 是有类型的管道,可以用 channel 操作符 <- 对其发送或者接收值。 ch <- v // 将 v 送入 channel ch v := <-ch // 从 ch 接收,并且赋值给 v 操作符 <- 形似箭头,其指向就是数据流的方向。 和 map 与 slice 一样,channel 使用前必须创建: ch := make(chan int) 默认情况下,在另一端准备好之前,发送和接收都会阻塞。这使得 goroutine 可以在没有明确的锁或竞态变量的情况下进行同步。 缓冲 channel channel 有两种形式的,一种是无缓冲的,一个 Go 程向这个 channel 发送了消息后,会阻塞当前Go 程,直到其他 Go 程接收了这个 channel 中的消息。 channel 可以是带缓冲的,创建 channel 时可以指定缓冲的消息数量,当消息数量小于指定值时,不会出现阻塞,超过之后才会阻塞。为 make 提供第二个参数作为缓冲大小来初始化一个缓冲 channel: ch := make(chan int, 100) 向缓冲 channel 发送数据的时候,只有在缓冲区满的时候才会阻塞。当缓冲区为空的时候接收会阻塞。 package main import "fmt"

电子信息工程专业的就业方向是怎样的?

纵然是瞬间 提交于 2020-10-06 06:41:04
01 在我大一刚入学的第一天晚上,班助把我们几个宿舍的男生叫到一起,大概说了些军训的注意事项以及班助是什么。说完以后班助说你们有什么想问的问题,现在可以问了。当时有个人问了一个大家最想问的问题:我们这电子信息专业以后是干嘛的? 转眼之间四年匆匆过去,当我大四要走的时候,坐上载满我行李的出租车,我心里想到,我这马上就该踏上工作岗位了,还不知道我们这专业以后要干嘛,当年刚上大三的班助是怎么忽悠我们的?可惜我已经记不清他当时说啥了,依稀记得说不是爬电线杆子的,也不是负责充话费的之类。 现如今又是一年6月,我也工作满3年了,从一个什么都不懂的只会说“这个问题书上没有啊”的实习生,到现在开始带实习生并告诉他们“大部分问题都是书上没有的”。所做的工作也从应用层到驱动层走到了内核层,涵盖了单片机、linux系统、FPGA设计到GPU并行计算、python/go后端开发等等各方各面。现在面对这个问题,我似乎有了一些发言权。 02 开头写完后,我拿给我的死党看。怎么样,有没有点《百年孤独》开头那个跨时空叙事的感觉?死党从床上的帘子里探出头来瞄了一眼,随即报给我一个“你很自恋”的微笑。 又到6月了,我总是会想起毕业分别的时候室友们相互拥抱的场景,和忍住的或没忍住的眼泪。毕业是伤感的,也是迷茫的。迷茫到,我直到毕业的时候还是不知道,我们这个专业以后到底是干嘛的? 很多个粉丝朋友都问了我这个问题

Golang interface{} 转换为某个结构体

烂漫一生 提交于 2020-10-06 01:27:44
ps:开发中实际遇到的场景,在 go 语言中 interface{} 可以接收任何类型,但是我们实际使用不光需要接收,我们接收之后更是要操作这些值 简单的类型转换 var num1 int32 = 10 fmt . Printf ( "Type: %T, Value: %d\n" , num1 , num1 ) num2 := uint32 ( num1 ) fmt . Printf ( "Type: %T, Value: %d\n" , num2 , num2 ) output Type: int32, Value: 10 Type: uint32, Value: 10 简单的类型转换直接使用 Type(x) 转换即可。 interface{} 类型转换 直接利用反射的原理,使用断言来实现。 x . ( T ) 使用断言会存在两种可能。 第一种,如果断言的类型 T 是一个具体类型,然后类型断言检查 x 的动态类型是否和 T 相同。如果这个检查成功了,类型断言的结果是 x 的动态值,它的类型是 T 。 换句话说, 具体类型的类型断言从它的操作对象中获得具体的值 。如果检查失败,接下来这个操作会抛出 panic 。 第二种,如果相反地断言的类型 T 是一个接口类型,然后类型断言检查是否 x 的动态类型满足 T 。如果这个检查成功了,动态值没有获取到

索尼推出全球首款AI图像传感器,1200万像素,支持4K60FPS

自作多情 提交于 2020-10-06 00:30:35
   索尼近日宣布即将推出两款 AI 图像传感器,代号 IMX500 和 IMX501,号称具备智能视觉的 “全球首款 AI 图像传感器”。 其中 IMX500 是无封装版,IMX501 是封装版,没有其他性能差异。   AI 图像传感器兼具运算能力和内存,能够在没有额外硬件辅助的情况下执行机器学习驱动的计算机视觉任务,使得 很多依赖机器学习算法的图像处理技术能够在本地运行,衍生出更简化、高效和安全的解决方案 。   索尼业务与创新副总裁马克·汉森(Mark Hanson)认为, 相比将数据发送到云端的解决方案,IMX500 的应用潜力巨大,成本效益更高,尤其是在未来的边缘计算领域。 它支持 1200 万像素图像,以每秒 60 帧的速度捕获 4K 视频,或者不捕获任何图像,仅提供所见内容的元数据。    官方预计首批搭载该传感器的产品最早将于 2021 第一季度上市 ,目前已有早期商业客户拿到了测试样品,IMX500 售价约 93 美元,IMX501 售价约 186 美元。      图|IMX500(小)和 IMX501(大)(来源:索尼)   不过, 第一代 AI 图像传感器可能不会出现在智能手机或平板电脑等消费者产品中。 索尼的首批目标是零售商和工业客户,比如亚马逊 Go 无人商店,其他应用场景包括访客统计、交通状况和人流量热图绘制等。   以亚马逊无人商店为例