Fabric源码分析之Peer链码安装
1、在完成安装命令之后需要组织进行同意命令如下:上述参数 $4 就是上文中生成的package identifier。在完成组织审批之后,需要执行链码向orderer节点进行提交执行如下命令:上述命令成功执行完输出如下表明链码安装成功。
2、在这篇文章中,首先介绍了 Fabric 整体的网络架构,通过对 Fabric 交易流程的分析,讨论了 peer 节点在交易中的作用,然后详细分析了 peer 节点所维护的账本和智能合约,并分析了 peer 节点维护账本以及 peer 节点执行智能合约的流程。
3、在调用queryBlockByNumber()方法时,向peer发送一个proposal,调用fabric的系统链码qscc,从下面的错误描述看出,由于链码执行出现错误,因此报了代码为500的错。
golang面试题2之判断字符串中字符是否全都不同
1、第二种解法是通过构建一个布尔值的数组,索引 index 表示ASCII码中值为 index的字符。将初值置为 False ,如果某个元素第二次出现,则表示这个字符串出现了重复的字符,函数直接返回。
2、实现一个算法,确定一个字符串的所有字符是否全都不同。假设不允许使用额外的数据结构。解题:首先我们假设这个字符串中全都是ASCII字符(如果不是需要另外讨论了)。
3、golang中的字符串底层实现是通过byte数组的,中文字符在unicode下占2个字节,在utf-8编码下占3个字节,而golang默认编码正好是utf-8。byte等同于int8,常用来处理ascii字符。rune等同于int32,常用来处理unicode或utf-8字符。
4、实现一个算法,确定一个字符串 s 的所有字符是否全都不同。
5、可以使用EXACT函数比较两个文本字符串,如果完全相同,则返回 TRUE,否则返回 FALSE。 函数 EXACT 区分大小写,但忽略格式上的差异。 使用 EXACT 可以检验在文档中输入的文本。
coredns源码分析
codedns.go 首先导入了包github.com/coredns/coredns/core/plugin,此包内只有一个文件zplugin.go,此文件为自动生成的,主要导入了所有的插件,执行每个插件的init函数。
在coredns中,默认有fallthrough的配置 coredns默认配置会将反向地址解析传到配置外部DNS,默认外部DNS为8,会导致反向地址解析要经过超时才有返回。当而有组件会自动进行反向地址解析,会导致访问超时。
gRPC入坑记
1、或者下载源码(http://pecl.php.net/package/grpc)安装:grpc/grpc代码库里也有PHP扩展的C源码,在grpc/src/php/ext/grpc目录,进去也可以直接编译。编译完成后在php.ini里添加,使用php --ri grpc可以查看信息。
2、为了实现流式传输,gRPC引入Length-Prefixed Message同一个gRPC请求的不同消息共用HTTP头信息,只能给每个消息单独加一个五字节的前缀来表示压缩和长度信息。
3、有许多 GUI 客户端可以使用 gRPC Server,例如Postman、Kreya、bloomrpc、grpcox等。为了简单起见,我们将使用命令行工具grpc_cli。
gRPC服务开发和接口测试初探「Go」
1、之前写过了Grpc服务开发和接口测试初探【Java】,中间耽搁了一些时间,Go版本的gRPC测试开发实践才有时间学习使用。其中也是由于自己Go语言不够熟悉导致的。
2、gRPC 客户端和服务端可以在多种环境中运行和交互 - 从 google 内部的服务器到你自己的笔记本,并且可以用任何 gRPC 支持的语言来编写。
3、Go是从2007年末由Robert Griesemer, Rob Pike, Ken Thompson主持开发,后来还加入了Ian Lance Taylor, Russ Cox等人,并最终于2009年11月开源,在2012年早些时候发布了Go 1稳定版本。
4、client 调用 流的函数, 就会 返回一个 流对象,只要 不断地 对它进行读取或者写入,对应方就能收到。grpc 的 stream 和 go的协程 配合 简直完美。通过流 我们 可以更加 灵活的 实现自己的业务。
5、最近在使用http接口访问一个GRPC的服务时遇到一个数据类型转换的问题。一个时间戳字段在PB中定义的字段类型为uint64,返回到本地之后却是一个string类型,在我用uint64去接收这个字段时报了错。
6、HTTP/1也是支持复用TCP连接的,但这种复用有一个明显的缺陷,所有请求必须排队,先到先服务。HTTP/2引入了stream的概念,解决了TCP链接复用的问题,可以在一条TCP连接上并行收发HTTP消息,而无需等待。
GRPC的HTTP返回值int64被转为string类型
1、为什么GRPC要把int64转为string类型呢,他们的回答是遵循proto3的序列化规则,proto3的json-mapping中规定了int64/uint64/fixed64类型映射的json类型为string。
2、根据proto文件或者类文件,可以看到可以调用的方法和返回值。我们只需要关心请求的地址和端口,并保证所传参数符合格式限制即可。我所用的除了一个Int64,其他都是string,所以格式并没有问题。
3、long - System.Int64 // 说明,以后所编的代码都是写在private void Form1_Load(object sender, EventArgs e)中的 Value Type间的转换。
4、Go gob,如果要做RPC服务,gob并不是一个很好的选择,首先就跟python的pickle不通用,然后为了做不同系统的数据传入,任何包都必须带上类型的详细信息,size太大。go里面现在还没一套官方的RPC方案,gRPC貌似有上位的可能。
5、无法将类型为System.Int32的对象,强制转换为类型System.String,是设置错误造成的,解决方法如下:首先在电脑中进入控制面板,点击进入“管理工具”。在管理工具页面。点击进入“Internet 信息服务(IIS)管理器”。
tArgs e)中的 Value Type间的转换。4、Go gob,如果要做RPC服务,gob并不是一个很好的选择,首先就跟python的pickle不通用,然后为了做不同系统的数据传入,任何包都必须带上