区块链
文章平均质量分 52
余府
热爱汽车,为了改变中国及世界而奉献
展开
-
Hyperledger Fabric 2.x 生产环境的分布式部署、性能测试与应用
安装dockercurl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun加入用户组sudo groupadd dockersudo gpasswd -a ${USER} dockersudo service docker restart退出当前用户重登一下sudo wget -P /usr/local/bin https://github.com/docker/compose/releases/download/1原创 2021-02-02 22:13:21 · 9561 阅读 · 181 评论 -
成功解决0 sub-policies were satisfied, but this policy requires 1 of the ‘Writers‘ sub-policies to be sa
在Fabric网络中创建通道时报错:Error: got unexpected status: FORBIDDEN -- config update for existing channel did not pass initial checks: implicit policy evaluation failed - 0 sub-policies were satisfied, but this policy requires 1 of the 'Writers' sub-policies to be原创 2021-01-07 20:41:47 · 4623 阅读 · 6 评论 -
成功解决error while removing network: network multiple-deployment_default id 214931 has active endpoints
当关闭Fabric网络时报错:error while removing network: network multiple-deployment_default id 2149314b6eaabd09b9aa791accd2ac830b4a2a6e0c74ef1b5e35fcacea657b0c has active endpoints原因是我使用Prometheus+Grafana监控Fabric运行参数,将prometheus容器加入Fabric网络中用到了NetworkMode:multiple原创 2021-01-05 10:48:45 · 8156 阅读 · 4 评论 -
监控Hyperledger Fabric的运行参数详细流程 Prometheus+Grafana方案
docker run -d --name prometheus-server -p 9090:9090 \ --restart always \ -v /home/yujialing/go/src/github.com/hyperledger/prometheus/prometheus.yml:/prometheus.yml \ prom/prometheus \ --config.file=/prometheus.yml原创 2020-12-17 18:35:39 · 2039 阅读 · 12 评论 -
Hyperledger Fabric v2.x 浮点类型数据存储bug
问题描述:智能合约的结构体中使用浮点类型的数据时,存在一个问题,向账本插入数据所调用指令的参数类型为字符串类型,假如浮点数类型参数的小数点后面全为0的情况下,比如1200.0,存入账本的值则为1200,而不是1200.0。数据结构如下所示:问题复现:从感性方面来看,值都是1200。但从计算机的理性方面看,从区块链取的数据和MySQL数据库作校验时,区块链返回的结果是1200,而从MySQL数据库查到的是1200.0,校验时就比较棘手。在Java项目应用中就比较头疼,如下所示:三种解决办法:原创 2020-12-11 22:28:40 · 333 阅读 · 4 评论 -
成功解决:chaincode argument error: json: cannot unmarshal xxx into Go struct field .Args of type string
Fabric在调用链码时候报错:Error: chaincode argument error: json: cannot unmarshal number into Go struct field .Args of type string或Error: chaincode argument error: json: cannot unmarshal bool into Go struct field .Args of type string数据在结构体中有字符串、布尔、浮点和整型,如下所示:调原创 2020-12-07 16:53:35 · 32177 阅读 · 13 评论 -
Hyperledger Fabric 2.x 多机部署/分布式集群部署流程
硬件环境:CentOS7虚拟机一台,Ubuntu虚拟机一台,一共两台主机,有条件的小伙伴可以试一下在3台以上的主机部署。软件环境:名称版本Fabric2.2.0go1.14.4docker19.03.11docker-compose1.12.01.IP与域名映射配置本文通过静态IP的方式实现Hyperledger Fabric多机部署通过修改/etc/hosts文件 添加IP地址与域名的映射修改/etc/hosts文件指令sudo vim /e原创 2020-11-28 12:26:02 · 14469 阅读 · 176 评论 -
成功解决docker build failed: Error returned from build: 1 “go: github.com/golang/pr...connection refused
执行以下指令安装链码时报错peer lifecycle chaincode install basic.tar.gzError: chaincode install failed with status: 500 - failed to invoke backing implementation of 'InstallChaincode': could not build chaincode: docker build failed: docker image build failed: docker原创 2020-11-23 21:46:20 · 4973 阅读 · 19 评论 -
成功解决:Cannot run peer because cannot init crypto, specified path “/opt/gopath...msp: no such file or
多机部署Fabric v2.2.0时,主机2加入网络时报错如下ERRO 001 Cannot run peer because cannot init crypto, specified path "/opt/gopath/src/github.com/hyperledger/fabric/peer/organizations/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp" does not exist or can原创 2020-11-23 17:42:48 · 4756 阅读 · 12 评论 -
成功解决:多机部署Fabric启动Org3时报错Error: can‘t read the block: &{NOT_FOUND}
报错内容:Expect block, but got status: &{NOT_FOUND} Error: can't read the block: &{NOT_FOUND} !!!!!!!!!!!!!!! Fetching config block from orderer has Failed !!!!!!!!!!!!!!!!启动fabric-sample中的test-network网络指令采用的是./network.sh up在另一台主机使用以下指令使Org3加入网络.原创 2020-11-23 11:58:42 · 1340 阅读 · 0 评论 -
成功解决:curl: (35) OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to bit.ly:443
执行以下指令下载Fabric二进制及docker镜像时出现标题所指的报错内容curl -sSL https://bit.ly/2ysbOFE | bash -s -- 2.2.0 1.4.8 -s1.查看docker镜像源docker info|grep Mirrors -A 12.修改docker镜像源vim /etc/docker/daemon.json{"registry-mirrors":["https://registry.docker-cn.com"]}按I插入,插原创 2020-11-21 12:24:28 · 58025 阅读 · 24 评论 -
成功解决 error getting chaincode bytes: failed to calculate dependencies:hyperledger/fabric-chaincode-go
执行以下指令打包链码时报错peer lifecycle chaincode package abac.tar.gz --path github.com/hyperledger/fabric-samples/chaincode/abac/go/ --lang golang --label abac_1Error: error getting chaincode bytes: failed to calculate dependencies: incomplete package: github.com/原创 2020-10-19 17:47:38 · 1889 阅读 · 2 评论 -
Hyperledger Fabric 2.0 官方文档中文版 第9章 升级到最新版本
9.升级到最新版本如果您熟悉Hyperledger Fabric的早期版本,您会意识到将节点和通道升级到Fabric的最新版本在较高层次上是一个四步过程。备份账本和MSP。以滚动方式将排序节点二进制文件升级到最新的Fabric版本。以滚动方式将普通节点二进制文件升级到最新的Fabric版本。将排序节点系统通道和任何应用程序通道更新到最新的功能级别(如果可用)。请注意,有些版本在所有组中都有功能,而其他版本可能几乎没有新功能,甚至根本没有。有关功能的更多信息,请查看通道功能。要了解这些升级过翻译 2020-09-23 10:35:50 · 973 阅读 · 1 评论 -
Hyperledger Fabric 2.0 官方文档中文版 第8章 操作指南
操作指南设置排序节点在本主题中,我们将描述引导排序节点的过程。如果您想了解有关不同排序服务实现及其相对优缺点的更多信息,请查看我们关于排序的概念性文档。大体上,本主题将涉及几个相互关联的步骤:创建排序节点所属的组织(如果尚未创建)配置节点(使用orderer.yaml)为排序者系统通道创建创世区块引导排序程序注意:本主题假设您已经从docker hub中提取了Hyperledger Fabric orderer镜像。创建组织定义与节点一样,所有排序节点必须属于必须在创建排序节点自身之翻译 2020-09-23 10:32:49 · 2486 阅读 · 3 评论 -
Hyperledger Fabric 2.0 官方文档中文版 第6章 教程(上)
5.开发应用程序本主题介绍如何使用Hyperledger Fabric开发客户端应用程序和智能合约来解决业务问题。在一个涉及多个组织的真实商业文件场景中,您将了解实现此目标所需的所有概念和任务。我们假设区块链网络已经可用。本主题面向多个受众:解决方案和应用程序架构师客户端应用程序开发人员智能合约开发者商务专业人士您可以选择按顺序阅读主题,也可以根据需要选择各个部分。每个主题部分都会根据读者的相关性进行标记,所以无论您是在寻找业务信息还是技术信息,当某个主题适合您时,都会一目了然。本主题遵翻译 2020-09-23 10:16:09 · 4069 阅读 · 1 评论 -
Hyperledger Fabric 2.0 官方文档中文版 第5章 开发应用程序
5.开发应用程序本主题介绍如何使用Hyperledger Fabric开发客户端应用程序和智能合约来解决业务问题。在一个涉及多个组织的真实商业文件场景中,您将了解实现此目标所需的所有概念和任务。我们假设区块链网络已经可用。本主题面向多个受众:解决方案和应用程序架构师客户端应用程序开发人员智能合约开发者商务专业人士您可以选择按顺序阅读主题,也可以根据需要选择各个部分。每个主题部分都会根据读者的相关性进行标记,所以无论您是在寻找业务信息还是技术信息,当某个主题适合您时,都会一目了然。本主题遵翻译 2020-09-23 10:09:39 · 1764 阅读 · 1 评论 -
Hyperledger Fabric 2.0 官方文档中文版 第4章 入门
Hyperledger Fabric 2.0 官方文档中文版 第4章 入门总目录4.入门先决条件安装Git安装cURL安装wget安装Docker and Docker ComposeGo编程语言Node.js Runtime和NPMWindows附加功能安装示例、二进制文件和Docker镜像使用Fabric测试网络开始之前启动测试网络创建通道在通道上启动链码与网络交互关闭网络下一步使用证书颁发机构启动网络幕后发生了什么?故障排除Hyperledger Fabric智能合约(链码)APIHyperledge翻译 2020-09-23 10:04:37 · 2683 阅读 · 3 评论 -
Hyperledger Fabric 2.0 官方文档中文版 第3章 关键概念
Hyperledger Fabric 2.0 官方文档中文版 第3章 关键概念总目录3.关键概念引言什么是区块链?区块链为什么有用?什么是Hyperledger Fabric?Hyperledger Fabric模型资产链码账本功能隐私安全和成员服务共识区块链网络什么是区块链网络?样本网络创建网络添加网络管理员定义联盟为联盟创建通道节点和账本应用程序和智能合约链码完成网络搭建简化视觉词汇添加另一个联盟定义添加新频道添加另一个节点将节点连接到多个通道网络完全形成身份什么是身份?一个简单的场景来解释身份的使用什翻译 2020-09-23 10:00:29 · 4690 阅读 · 7 评论 -
Hyperledger Fabric 2.0 官方文档中文版 第2章 Hyperledger Fabric v2.0的新增功能
Hyperledger Fabric 2.0 官方文档中文版 第2章 Hyperledger Fabric v2.0的新增功能总目录2.Hyperledger Fabric v2.0的新增功能智能合约的去中心化管理用于协作和共识的新链码应用模式私有数据增强外部链码发射器提高CouchDB性能的状态数据库缓存基于Alpine的docker镜像样本测试网络升级到Fabric v2.0总目录第1章 引言第2章 Hyperledger Fabric v2.0的新增功能2.Hyperledger Fabric翻译 2020-09-23 09:51:59 · 1953 阅读 · 1 评论 -
Hyperledger Fabric 2.0 官方文档中文版 第1章 引言
Hyperledger Fabric 2.0 官方文档中文版 第1章 引言总目录1.引言Hyperledger Fabric模块化许可区块链与无许可区块链智能合约新途径隐私和保密可插拔共识性能和可扩展性结论致谢总目录第1章 引言1.引言一般来说,区块链是一个不可变的交易账本,在对等节点的分布式网络中维护。这些节点通过应用已通过一致性协议验证的事务来维护账本的副本,这些事务被分组到块中,这些块包括将每个块绑定到前一个块的散列。区块链的第一个也是最广为认可的应用是比特币加密货币,尽管其他人也追随它的脚翻译 2020-09-23 09:42:40 · 4812 阅读 · 1 评论 -
Hyperledger Fabric 2.0 官方文档中文版 第6章 教程(下)
6.教程(下)使用CouchDB本教程将描述使用CouchDB作为带有Hyperledger Fabric的状态数据库所需的步骤。现在,您应该已经熟悉了Fabric的概念,并且已经研究了一些示例和教程。这些说明使用Fabric v2.0版本中引入的新Fabric链码生命周期。如果您希望使用以前的生命周期模型将索引与链码一起使用,请访问Using CouchDB的v1.4版本。要深入了解CouchDB,请将CouchDB作为状态数据库,有关Fabric ledger的更多信息,请参阅ledger主题。翻译 2020-09-23 10:22:24 · 4518 阅读 · 1 评论 -
Hyperledger Fabric 2.0 官方文档中文版 第7章 部署生产网络
7.部署生产网络本部署指南是对设置生产Fabric网络组件的正确顺序的高级概述,此外还有最佳实践和部署时要记住的许多注意事项。请注意,本主题将从单个个体的角度讨论“建立网络”作为一个整体过程。更有可能的是,现实世界中的生产网络不是由一个人建立的,而是由多个个人指导的协作工作(例如,一个银行集合,每个银行都建立自己的组件)。部署Fabric网络的过程很复杂,需要了解公钥基础设施和管理分布式系统。如果您是一个智能合约或应用程序开发人员,那么在部署生产级结构网络时,您不需要这种级别的专业知识。但是,您可能需要翻译 2020-09-23 10:28:23 · 1474 阅读 · 1 评论 -
成功解决:curl: (35) TCP connection reset by peer
curl -sSL https://bit.ly/2ysbOFE | bash -s -- 2.2.0 1.4.8 -s运行以上指令时报错如下curl: (35) TCP connection reset by peer我的解决的方法是再次执行指令curl -sSL https://bit.ly/2ysbOFE | bash -s -- 2.2.0 1.4.8 -s指令执行成功,已在下载状态。欢迎小伙伴讨论,如有错误请在评论区评论或发私聊消息,谢谢你。...原创 2020-10-06 11:01:45 · 39331 阅读 · 14 评论 -
下载Hyperdger Fabric 2.2.0的二进制文件与docker镜像指令
下载fabric-samplegit clone https://github.com/hyperledger/fabric-samples.gitcd fabric-samplesgit checkout 22393b629bcac7f7807cc6998aa44e06ecc77426下载Hyperdger Fabric 2.2.0的二进制文件与docker镜像curl -sSL https://bit.ly/2ysbOFE | bash -s -- 2.2.0 1.4.8 -s下载Hyp原创 2020-10-06 11:17:52 · 1253 阅读 · 11 评论 -
成功解决Chaincode definition approved on peer0.org1 on channel ‘mychannel‘ failed Deploying chaincode
执行以下指令时报错./network.sh deployCCError: proposal failed with status: 500 - channel 'mychannel' not foundChaincode definition approved on peer0.org1 on channel 'mychannel' failedDeploying chaincode failed原因是没有在创建通道的情况下部署链码执行以下指令创建通道./network.sh createC原创 2020-10-14 18:02:02 · 3438 阅读 · 5 评论 -
成功解决Cannot run peer because cannot init crypto, specified path “xxx/fabric-samples/config/msp“
环境:fabric v2.2.0执行账本交互指令的时候报错peer chaincode query -C mychannel -n basic -c '{"Args":["ReadAsset","asset6"]}'报错如下:Cannot run peer because cannot init crypto, specified path "/home/yujialing/go/src/github.com/hyperledger/fabric-samples/config/msp" does原创 2020-10-14 18:16:33 · 5566 阅读 · 10 评论 -
fabric-sample 2.2.0 test-network实战
相比于fabricv2.0.0,2.2.0的指令作出了小更改1.下载fabric-sample及fabric2.2.0二进制文件和镜像cd /home/yujialing/go/src/github.com/hyperledgergit clone https://github.com/hyperledger/fabric-samples.gitcd fabric-samplesgit checkout 22393b629bcac7f7807cc6998aa44e06ecc77426curl -原创 2020-10-14 18:33:31 · 1611 阅读 · 10 评论 -
成功解决:Error: Cannot find module /extension_binary/node-v64-linux-x64-glibc/grpc_node.node‘
报错如下:Error: Cannot find module ‘/home/yujialing/go/src/github.com/hyperledger/caliper-benchmarks/node_modules/fabric-client/node_modules/grpc/src/node/extension_binary/node-v64-linux-x64-glibc/grpc_node.node’Caliper测试网络性能报错用以下指令对网络进行测试时报错npx caliper la原创 2020-09-26 09:57:14 · 1262 阅读 · 1 评论 -
成功解决:problem reading the PEM file Error: ENOENT: no such file xxx /keystore/key.pem
运行以下命令时报错npx caliper launch master --caliper-workspace . --caliper-benchconfig benchmarks/scenario/simple/config.yaml --caliper-networkconfig networks/fabric/fabric-v1.4.1/2org1peergoleveldb/fabric-go.yaml首先是提示拉取镜像失败:Get https://registry-1.d原创 2020-09-26 11:10:39 · 1409 阅读 · 7 评论 -
成功解决 执行config_solo文件夹中./generate.sh脚本报错./bin/cryptogen ./bin/configtxgen: 没有那个文件或目录
报错信息如下:[yujialing@localhost config_solo]$ ./generate.sh curl: (56) Recv failure: Connection reset by peer./generate.sh:行16: ./bin/cryptogen: 没有那个文件或目录./generate.sh:行17: ./bin/configtxgen: 没有那个文件或目录./generate.sh:行18: ./bin/configtxgen: 没有那个文件或目录find:原创 2020-09-28 18:31:30 · 1185 阅读 · 1 评论 -
Caliper测试1.4.1性能报错Error: Invalid endorsement for marbles@v0 in mychannel from peer0.org1.example.com
执行指令npx caliper launch master --caliper-workspace . --caliper-benchconfig benchmarks/scenario/simple/config.yaml --caliper-networkconfig networks/fabric/fabric-v1.4.1/2org1peergoleveldb/fabric-go.yaml报错内容如下:Error while performing "install" step: Error:原创 2020-09-30 21:44:22 · 955 阅读 · 11 评论 -
在现有Fabric网络上设置和运行Caliper性能测试 官方操作文档中文版
这里写目录标题1.概述步骤1-创建Caliper工作区步骤2-构建网络配置文件创建模板网络配置文件填充模板文件1.概述本教程将带您完成在预先存在的Fabric网络上使用Caliper对智能合约进行性能测试。要完成本教程,您需要安装NodeJS。为此,我们建议使用nvm。本教程基于官方Hyperledger Fabric文档中提供的资源。假设一个由两个组织和一个单独排序者组成的网络,具有资产转移javascript智能合约,假定已经建立并准备好进行性能测试。下面的命令列表是一个最简单的快速步骤指南,原创 2020-10-06 10:21:11 · 3710 阅读 · 21 评论 -
成功解决:could not create channel group: error adding policies to channel group: no policies defined
执行config_raft文件夹中./generate.sh脚本报错:Error on outputBlock: could not create bootstrapper: could not create channel group: error adding policies to channel group: no policies defined意思是没有定义通道组的策略从上图中看出没有生成通道交易文件mychannel.tx和创世区块genesis.block我的解决方案是改写conf原创 2020-10-06 16:01:56 · 3119 阅读 · 4 评论 -
在现有Fabric 2.2.0 网络上设置和运行Caliper性能测试 实战
1.下载fabric-sample及fabric2.2.0二进制文件和镜像git clone https://github.com/hyperledger/fabric-samples.gitcd fabric-samplesgit checkout 22393b629bcac7f7807cc6998aa44e06ecc77426curl -sSL https://bit.ly/2ysbOFE | bash -s -- 2.2.0 1.4.8 -s配置环境变量vim ~/.bashrc将以原创 2020-10-06 17:42:31 · 6129 阅读 · 83 评论 -
成功解决Failed to connect to remote gRPC server peer0.org1.example.com url:grpcs://localhost:7051
执行Caliper性能基准测试时报错Error: Failed to connect before the deadline on Endorser- name: peer0.org1.example.com, url:grpcs://localhost:7051, connected:false, connectAttempted:truewaitForReady - Failed to connect to remote gRPC server peer0.org1.example.com url:原创 2020-10-06 18:30:56 · 4006 阅读 · 6 评论 -
Hyperledger Caliper性能测试 Monitors和Observers参数设置 官方文档中文版
Caliper性能测试中监视器和观察者参数设置1.概述2.资源过程监控器Docker监视器Prometheus监视器3.交易日志PrometheusPrometheus Push Gateway4.资源图表过程图表Docker图表Prometheus图表1.概述Caliper监控模块用于在测试执行期间收集资源利用率和交易统计信息,并将输出整理到生成的报告中。Caliper通过以下方式监控资源和交易:资源监视器。在基准测试期间收集资源利用率的统计数据,测试轮之间的监控重置。交易监视器。收集工作进程交原创 2020-10-06 23:04:35 · 1667 阅读 · 0 评论 -
hyperledger / caliper-benchmarks v0.4.0 区块链性能测试项目 介绍
caliper-benchmarks是一个用于测试各区块链平台性能的工具,项目已于昨天更新至v0.4.0版本。项目地址:https://github.com/hyperledger/caliper-benchmarks/tree/v0.4.0主分支目录主分支中包含的benchmarks分为三个目录:benchmarks:包含测试配置和回调文件。测试配置文件描述了benchmarks测试参数,还引用了Caliper客户端在benchmarks测试期间执行的回调文件。benchmarks文件夹包含以原创 2020-10-08 18:31:29 · 1198 阅读 · 4 评论 -
成功解决: \“exec: \\\“chaincode\\\“: executable file not found in $PATH\“: unknown“
OCI runtime create failed: container_linux.go:349: starting container process caused \"exec: \\\"chaincode\\\": executable file not found in $PATH\": unknown" Hyperledger Fabric2.0初始化链码时遇到如上错误尝试了很多办法都未得到解决,最后猜想可能跟依赖有关,之前为了提速使用的是go env -w GOPROXY=https:/原创 2020-07-27 22:59:17 · 13681 阅读 · 5 评论 -
成功解决:ERROR! Fabric Docker image version of 1.4.1 does not match this newer version of BYFN
启动Hyperledger Fabric byfn时报错内容如下:LOCAL_VERSION=2.0.2DOCKER_IMAGE_VERSION=1.4.1=================== WARNING =================== Local fabric binaries and docker images are out of sync. This may cause problems. ===============================原创 2020-09-28 12:22:47 · 1552 阅读 · 1 评论 -
Hyperledger Fabric 2.0 fabcar查询、插入和更改拥有者实践(fabcar.go)
启动网络(前提是已经搭建Fabric2.0网络)首先到first-network中使用指令将网络搭建起来cd ~/go/src/github.com/hyperledger/fabric/fabric-samples/first-network ./byfn.sh up出现下图则搭建完成到fabcar的智能合约文件中并下载依赖cd ~/go/src/github.com/hyperledger/fabric/fabric-samples/chaincode/fabcar/gogo en原创 2020-08-15 10:29:13 · 1630 阅读 · 0 评论