最近在学习Hyperledger Fabric,它是由 Linux 基金会发起创建的开源区块链分布式账本。 ?...Hyperledger Fabric是一个开源区块链实现,开发环境建立在 VirtualBox 虚拟机上,部署环境可以自建网络,也可以直接部署在 BlueMix 上,部署方式可传统可 Docker 化,...2.3 网络测试 上面的工作完成后,当前目录多了一个fabric-samples文件夹,我们进去该目录下的test-network目录测试下搭建的环境是否成功: cd fabric-samples/...cd test-network/ 然后启动我们的测试网络: sudo ....03 Fabcar测试 fabcar是一个小demo,我们这里运行它测试下看看。我们回到fabric-samples目录下,然后进入/fabcar目录中,先把网络给清理一下,然后启动: sudo .
、链码调用等,适合快速上手fabric java sdk。...java sdk访问链码 这篇文章的重点在于链码的调用,因此比较详细地步骤讲解了使用fabric java sdk查询链码状态 或提交链码交易的代码,使用的是官方的fabcar链码案例。...6、使用fabric java sdk进行TLS通信 这篇文章的重点是介绍如何使用fabric java sdk访问启用了tls通信的超级账本fabric区块链 网络。...使用fabric java sdk创建和部署网络 这篇文章介绍如何使用fabric java sdk来创建并部署一个fabric区块链网络。...Hyperledger Fabric Java SDK 构建和部署区块链网络 这篇文章主要介绍如何使用Hyperledger Fabric SDK Java创建,部署和测试区块链网络,以及链码开发、部署与调用
orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem 加入通道 peer channel join -b mychannel.block 链码...---- 安装链码 peer chaincode install -n mycc -v 1.0 -p github.com/hyperledger/fabric/examples/chaincode/.../byfn.sh -m down 参数说明: -o:指定order服务节点地址 --tls:是否开启TLS验证 --cafile:指定TLS_CA证书的所在路径 -C:指定通道名称 -n:指定链码名称...-c:指定调用链码的所需参数 -p:指定安装链码的所在路径 -P:指定背书策略 Node.js SDK和fabcar交互 ---- 进入fabric-samples目录下的fabcar目录中 cd fabric-samples...在fabcar目录中安装客户端 npm install npm install 中1 npm install 中2 启动网络 .
在这个例子中使用的应用程序和智能合约(链码)统称为FabCar。这个例子很好地提供了一个开始用于理解Hyperledger Fabric。...设置区块链网络 注意:下面的部分需要进入你克隆到本地的fabric-samples仓库的first-network子目录。...启动网络 下面的部分需要进入fabric-samples仓库的fabcar子目录。 使用startFabric.sh来启动你的网络。...这个命令将启动一个区块链网络,这个网络由peer节点、排序节点、证书授权服务等组成。同时也将安装和初始化javascript版本的FabCar智能合约,我们的应用程序将通过它来操作账本。...应用程序向区块链网络提交一个交易, 当交易被验证和提交后,应用程序会收到一个交易成功的提醒。
Hyperledger结构,探索重要的结构功能,并学习如何使用Fabric SDK构建与区块链网络交互的应用程序。...cd /opt/fabric-samples-master/chaincode/fabcar/go go env -w GO111MODULE=on go env -w GOPROXY=https:/.../goproxy.cn,direct go mod init go mod vendor 执行完毕后,当前文件夹下多出vendor,这个就是放智能合约依赖包的文件夹 与网络互动 网络启动之后,可以使用peer...cli客户端去操作网络,可以通过cli客户端去调用部署智能合约,更新通道,或者安装和部署新的智能合约。.../chaincode/fabcar/go peer lifecycle chaincode package fabcar.tar.gz --path /opt/fabric-samples-master
本文将介绍如何在链码开发中使用fabric private data。 ?...如果要快速掌握hyperledger fabric区块链的开发,推荐汇智网的在线互动实战教程: Hyperledger Fabric 区块链开发详解 Hyperledger Fabric java...区块链开发详解 fabric private data用例 我们使用Hyperledger Fabric中经典的fabcar案例来展示如何使用私有数据集。...Org2MSP.member')", "requiredPeerCount": 0, "maxPeerCount": 3, "blockToLive":1000000 } ] 修改链码以支持...fabric private data链码最佳实践 当然,我们的数据中有一部分是Hyperledger Fabric网络中的任何人都看得到的。
一、我的环境: 图片.png 我使用的是Hyperledger fabric1.4.4版本 参照官方文档:https://hyperledger-fabric.readthedocs.io/en/release...-1.4/write_first_app.html 二、实验前准备 如果此前运行了其他的fabric测试程序,在试验前首先关闭其他的容器和网络 docker rm -f $(docker ps -aq)...docker rmi -f $(docker images | grep fabcar | awk '{print $3}') 图片.png 检查正在运行的docker容器,可以看到已经没有正在运行的容器...图片.png ---- 三、实验过程 进入~/go/src/github.com/hyperledger/fabric/scripts/fabric-samples/fabcar/目录 图片.png...启动网络 ./startFabric.sh 图片.png进入javascript目录 2. 进入javascript目录 cd javascript 3.
一、出现问题的环境: ubuntu 16.04 Hyperledger Fabric 1.4.4 nodejs 8.x 当时具体是8点几的版本忘记了 npm版本是安装nodejs时附带安装的,具体版本号忘记了...---- 二、报错内容: 我在运行官方提供的范例fabcar时,遇到以下问题 运行~/go/src/github.com/hyperledger/fabric/scripts/fabric-samples.../startFabric.sh,启动网络后。...根据官方文档的说明进入go/src/github.com/hyperledger/fabric/scripts/fabric-samples/fabcar/javascript目录中 安装js脚本运行所需的脚本...运行~/go/src/github.com/hyperledger/fabric/scripts/fabric-samples/fabcar/javascript目录下的enrollAdmin.js等js
本文将介绍如何在链码开发中使用fabric private data。 ?...但是官方并不孤立为了实现数据的隐私保护而在大型网络中创建大量通道,因为这会带来额外的开销,例如管理策略、链码版本以及成员服务提供(MSP)等。在一个通道中,所有的数据要么是公开的,要么是私有的。...在上图中,第一个集合,Channel Read-Write Sets”是没有引入fabric private data时的架构,每一个交易都记录其状态和历史。...fabric private data用例 我们使用Hyperledger Fabric中经典的fabcar案例来展示如何使用私有数据集。initLedger函数将在我们的数据集中创建10个新车。...fabric private data链码最佳实践 当然,我们的数据中有一部分是Hyperledger Fabric网络中的任何人都看得到的。
2.1 couchdb集群搭建 Fabric用到的couchdb镜像是自己打包的, 1.4对应的是hyperledger/fabric-couchdb:0.4.14, 不过很悲催, 笔者测试官方这个版本是有不少问题的...:0.4.14用的是2.2版本的couchdb, 2.3.0已测试过, 无法启动。...peer chaincode query -C mychannel -n fabcar -c '{"Args":["queryAllCars"]}' 一些链码更新操作的同步测试这里就跳过了。...使用网络存储 每个peer节点对应一个couchdb, couchdb使用网络存储NFS, NAS等扩容, fabric原本也是分布式记账本, 怕一个peer节点挂, 就多建两个peer冗余就好。...现在有不少区块链分片的实现, 闪电网络,侧链,迅雷的同构多链出现,实际上也是各玩各的,没有一个标准,fabric的路还长。
www.javatree.cn/news/b25c5e3b9d4640e4a0da2039981c7a03 1. byfn.sh up down会清理所有容器镜像,生成的配置文件和证书,现实场景应该可以停止或恢复区块链网络...byfn.sh down会调用networkdDown去销毁整个网络和已生成的配置。byfn.sh restart则不会清理。...我们也可以参考例子fabric-samples/fabcar, 它会重用fabric-samples/basic-network中的start.sh, stop.sh允许停止和重启。...2. byfn.sh还是fabcar两个例子即使重启区块链网络,通道需要创新创建,节点需要重新加入通道,链码也要全要重新安装,如果节点多维护起来就麻烦且费时,重启的时候能让通道,节点,链码,State...CORE_LEDGER_STATE_COUCHDBCONFIG_PASSWORD= depends_on: - couchdb0 peer主要设置连接的couchdb地址和账号, couchdb主要是配置对应端口号,couchDB还支持一些字段的索引,在学习链码的时候我们再深入
前面的文章都是在讲解Fabric网络的搭建和ChainCode的开发,那么在ChainCode开发完毕后,我们就需要使用Fabric SDK做应用程序的开发了。...由于我们想基于官方Example的e2e_cli里面的Fabric网络来写程序,关于Fabric网络的搭建我就不多说,大家可以参考我之前的博客。...总之结果就是我们现在已经成功运行了e2e_cli这个网络,也就是说Example02这个ChainCode已经安装部署,并且测试通过了,我们接下来只是换用Node SDK的方式进行查询和调用。...因为我们跑e2e_cli的Fabric网络时,系统会自动安装Example02的ChainCode,然后自动跑查询,转账等操作。.../fabcar 这只是简单的测试Node SDK是否可用,如果我们要做项目,那么就会复杂很多,可以参考官方的两个项目: https://github.com/hyperledger/fabric-samples
---title: fabric区块链(一)—搭建环境date: 2023/5/10tags: fabric区块链categories: 区块链---hyperledger Fabric是一款适用于企业级应用的区块链平台.../network.sh up这个命令将启动一个包含两个组织和四个Peer节点的测试网络。如果一切顺利,可以使用以下命令检查网络是否启动成功:图片..../network.sh createChannel -c mychannel图片到这里channel也创建好了部署和测试链码如果通道创建成功,可以使用joinChannel.sh脚本将peer节点加入到该通道中.../asset-transfer-basic/chaincode-javascript/ -ccl javascript这个命令还将部署‘assert-transfer-basic'链码,部署成功就可以在通道上执行交易和查询了...可以使用以下命令在测试网络上部署和测试一个示例链码:# 安装链码./network.sh deployCC# 测试链码./scripts/testCC.sh
在Fabric中,智能合约作为链码以软件包的形式部署在网络上。链码安装在组织的对等节点上,然后部署到某个通道,然后可以在该通道中用于认可交易和区块链账本交互。...在将链码部署到通道前,该频道的成员需要就链码定义达成共识,建立链码治理。何时达到要求数量的组织同意后,链码定义可以提交给通道,并且可以使用链码了。....example.com 和 peer0.org2.example.com 上安装 asset-transfer-basic 链码,如果第一次部署链码,脚本将安装链码的依赖项。...与网络交互 在启用测试网络后,可以使用 peer cli 客户端与网络进行交互,通过 peer cli 客户端可以调用已部署的智能合约,更新通道,或安装和部署新的智能合约。...使用完测试网络后,可执行以下命令关闭网络: .
/network.sh up 这个命令将启动一个包含两个组织和四个Peer节点的测试网络。如果一切顺利,可以使用以下命令检查网络是否启动成功: ..../network.sh createChannel -c mychannel 到这里channel也创建好了 部署和测试链码 如果通道创建成功,可以使用joinChannel.sh脚本将peer节点加入到该通道中.../asset-transfer-basic/chaincode-javascript/ -ccl javascript 这个命令还将部署‘assert-transfer-basic’链码,部署成功就可以在通道上执行交易和查询了...中,链码是一个智能合约,用于在区块链上执行业务逻辑。...可以使用以下命令在测试网络上部署和测试一个示例链码: # 安装链码 ./network.sh deployCC # 测试链码 ./scripts/testCC.sh
使用区块链网络,我们可以将这些合约转换为可执行程序(业内称为智能合约),从而实现了各种各样的新可能性。这是因为智能合约可以为任何类型的业务对象实现治理规则,以便在执行智能合约时自动执行这些规则。...图片一个智能合约定义在一个链码中。而多个智能合约也可以定义在同一个链码中。当一个链码部署完毕,该链码中的所有智能合约都可供应用程序使用。 ...从上图中我们可以看到,vehicle链码包含了以下三个智能合约:cars、boats和trucks;而insurance链码包含了以下四个智能合约:policy、liability、syndication...开发 智能合约是应用程序开发的重点,正如我们所看到的,一个链码中可定义一个或多个智能合约。将链码部署到网络中以后,网络上的组织就都可以使用该链码中的所有智能合约。...这意味着只有管理员才需要考虑链码;其他人都只用考虑智能合约。 智能合约的核心是一组交易定义。
---title: fabric区块链(二)—调用示例合约date: 2023/5/11tags: fabric区块链categories: 区块链top_img: ..../network.sh up这个命令将启动一个包含两个组织和四个Peer节点的测试网络。如果一切顺利,可以使用以下命令检查网络是否启动成功:图片..../network.sh createChannel -c mychannel图片到这里channel也创建好了2.部署和测试示例智能合约如果通道创建成功,可以使用joinChannel.sh脚本将peer...asset-transfer-basic/chaincode-javascript/ -ccl javascriptdeployCC:deployCC 是 network.sh 脚本中的一个子命令,用于部署链码...这个命令还将部署‘assert-transfer-basic'链码,部署成功就可以在通道上执行交易和查询了。我再执行这个命令的时候报错jq command not found...
1.启动Hyperledger Fabric网络 使用以下命令进入解压后的Hyperledger Fabric目录: cd fabric-samples/test-network 然后使用以下命令启动网络.../network.sh up 这个命令将启动一个包含两个组织和四个Peer节点的测试网络。如果一切顺利,可以使用以下命令检查网络是否启动成功: ..../network.sh createChannel -c mychannel 到这里channel也创建好了 2.部署和测试示例智能合约 如果通道创建成功,可以使用joinChannel.sh脚本将peer...asset-transfer-basic/chaincode-javascript/ -ccl javascript deployCC:deployCC 是 network.sh 脚本中的一个子命令,用于部署链码...这个命令还将部署‘assert-transfer-basic’链码,部署成功就可以在通道上执行交易和查询了。
作为 Endorsing Peer 背书节点时,必须安装链码,在交易时需进行签名背书。...而这,就是为了后面可以部署智能合约(节点部署链码其实就是启动一个链码容器)。...部署链码 我们将刚刚编写的智能合约也就是链码安装到区块链网络中,同样是借助 cli 服务,我们在 Taobao 组织的 peer0 节点和 JD 组织的 peer0 节点上都安装上链码: $ docker...现在,我们的智能合约就成功部署到区块链网络的通道中了。...其中挂载的 crypto-config 文件夹就是之前搭建区块链网络时生成的。
链码的背书策略 链码实例化时可指定背书策略,当确认节点接收到交易时,节点获知相关链码信息,然后检查该链码的背书策略,判断交易是否满足背书策略,若满足则标注交易为合法。...main函数中调用shim.Start()方法用于链码的部署。...Fabric网络,使用官方提供的例子可以快速构建测试网络,从而简化链码的开发流程。...这里介绍搭建测试网络的步骤: 1)安装示例代码库。 2)进入 fabric-samples 目录。...开发链码时可以通过上述过程进行测试,但需避免使用相同的链码 ID 以免链码实例化失败。
领取专属 10元无门槛券
手把手带您无忧上云