Fabric 搭建测试网络并部署智能合约

hyperledger fabric 2.0(一)环境搭建以及测试网络部署 一、基础环境整理(可参照:https://blog.youkuaiyun.com/tianshuhao521/article/details/83892178 https://blog.youkuaiyun.com/tianshuhao521/article/details/83894142) 1、安装curl: # yum install curl 安装成功后查看版本: # curl --version ... 阅读详情
1.搭建网络: 详见博客
2.对Test Network的创建和关闭
cd ${HOME}/fabric-samples/test-network
创建网络:
./network.sh up

关闭网络:
./network.sh down

创建通道:
./network.sh createChannel  -c xxx :创建名为xxx的通道
3.Starting a chaincode on the channel:

智能合约(Smart Contract): 包含管理区块链账本上assets的逻辑。在Fabric上智能合约就是链码的形式存在. 当网络运行后,链码会被部署到网络中节点和通道上.

应用(Application): 由区块链系统的成员执行,通过应用来触发智能合约,然后实现链上的操作,比如对账本的增删改查.

./network.sh deployCC -ccn basic -ccp ../asset-transfer-basic/chaincode-go -ccl go

Explanation:将asset-transfer(basic)链码安装在 peer0.org1.example.com andpeer0.org2.example.com 两个节点上

Note: -ccn:链码命名 -ccp:链码路径 -ccl:如果第一次部署链码,需要安装链码的依赖即语言类型,此处选择的是Go .下面将会解释如何手动部署自己写的智能合约(链码),即5. 在测试网络上部署自己的智能合约其实是在解释./network.sh 脚本中deployCC函数执行的步骤
因此如果在测试环境中部署自己的智能合约,只要指定-ccn:链码名;-ccp:链码路径 -ccl:链码编写语言即可用./network.sh deployCC来完成“链码打包、链码安装、链码批准、链码提交以及触发链码这些步骤”自动部署

4. Interacting with the network:

当测试网络开启后,我们可以用peer CLI和你的测试网络交互.即用peer CLI充当客户端
peer CLI作用: 通过peer CLI可以调用已经部署的智能合约、更新通道或安装与部署新的智能合约
requirement:

  1. 先设置环境变量PATH
export PATH=${HOME}/fabric-samples/bin:$PATH
  1. 设置变量FABRIC_CFG_PATH
export FABRIC_CFG_PATH=${HOME}/fabric-samples/config
  1. 先进入test-network文件夹中,然后按照下面的命令行设置环境变量(目的: operate the peer CLI as the Org1 and Org2 admin user)
# Environment variables for Org1

export CORE_PEER_TLS_ENABLED=true
export CORE_PEER_LOCALMSPID="Org1MSP"
export CORE_PEER_TLS_ROOTCERT_FILE=${PWD}/organizations/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt
export CORE_PEER_MSPCONFIGPATH=${PWD}/organizations/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp
export CORE_PEER_ADDRESS=localhost:7051

# Environment variables for Org2

export CORE_PEER_TLS_ENABLED=true
export CORE_PEER_LOCALMSPID="Org2MSP"
export CORE_PEER_TLS_ROOTCERT_FILE=${PWD}/organizations/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt
export CORE_PEER_MSPCONFIGPATH=${PWD}/organizations/peerOrganizations/org2.example.com/users/Admin@org2.example.com/msp
export CORE_PEER_ADDRESS=localhost:9051

CORE_PEER_TLS_ROOTCERT_FILE 和 CORE_PEER_MSPCONFIGPATH这两个环境变量都是指向/test-network/organizations文件夹的Org1的加密材料

Peer CLI的使用:
1.调用初始化账本的链码

peer chaincode invoke -o localhost:7050 --ordererTLSHostnameOverride orderer.example.com --tls --cafile "${PWD}/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem" -C mychannel -n basic --peerAddresses localhost:7051 --tlsRootCertFiles "${PWD}/organizations/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt" --peerAddresses localhost:9051 --tlsRootCertFiles "${PWD}/organizations/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt" -c '{"function":"InitLedger","Args":[]}'

在这里插入图片描述
2.实现的是查询链上的所有资产信息

peer chaincode query -C mychannel -n basic -c '{"Args":["GetAllAssets"]}'

Explanation:-C:通道名 -n:链码名 -c:用json格式写参数
3. 调用转移asset6资产的链码

peer chaincode invoke -o localhost:7050 --ordererTLSHostnameOverride orderer.example.com --tls --cafile "${PWD}/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem" -C mychannel -n basic --peerAddresses localhost:7051 --tlsRootCertFiles "${PWD}/organizations/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt" --peerAddresses localhost:9051 --tlsRootCertFiles "${PWD}/organizations/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt" -c '{"function":"TransferAsset","Args":["asset6","Christopher"]}'

Explanation:本测试网络中背书策略是需要both peer0.org1.example.com and peer0.org2.example.com背书,因此需要用 两个**–peerAddresses分别指定Org1和Org2的背书节点的IP地址和端口号**

-C:通道名 -n:链码名 --peerAddress:指明背书节点的IP地址和端口号, --tlsRootCertFiles:由于本测试网络中开启了TLS(Transport Layer Security)安全传输层协议 因此需要用–tlsRootCertFiles标签为每个peer指定TLS的证书位置. -c :为链码参数的json格式

5. 在测试网络上部署自己的智能合约

require: 创建网络并创建通道

Optional: 日志输出(Logsout)功能:This step is not required but is extremely useful for troubleshooting chaincode.作用:检测智能合约的日志,管理员可以看到多个节点容器集成的日志输出(by logspout tool.).
安装步骤:

cd fabric-samples/test-network
# 把安装Logsout tool的脚本复制到当前目录下
cp ../commercial-paper/organization/digibank/configuration/cli/monitordocker.sh .

运行步骤:

./monitordocker.sh fabric_test

接下来就进入正题

5.1.Package the smart contract: 将链码安装到各个节点上前需要对我们的合约进行打包

智能合约可以用Go、JavaScript和TypeScript三种语言写,下面介绍Go的智能合约部署

  1. 写完智能合约(Go 的Fabric智能合约API文档后,对Go采用Go module包管理器(go mod init),然后在module目录下执行命名(go mod vendor),下载依赖至module的目录下其中Module和Vendor部分我写在Go Module一篇就够

  2. 需要用Peer CLI与测试网络进行交互所以

cd ${HOME}/fabric-samples/test-network
#然后设置环境变量,
export PATH=${PWD}/../bin:$PATH
export FABRIC_CFG_PATH=$PWD/../config/
  1. 利用Peer CLI创建Go package
peer lifecycle chaincode package basic.tar.gz --path ../asset-transfer-basic/chaincode-go/ --lang golang --label basic_1.0

–path路径下的智能合约源码打包成名为basic.tar.gz的包,指定语言(–lang) golang,并将这个智能合约记为(–label)basic_1.0

5.2. Install the chaincode package

After we package the asset-transfer (basic) smart contract, we can install the chaincode on our peers.

本测试网络中有两个组织Org1和Org2,因此需要分别对这两个组织部署链码,现在以Org1为例

  1. 设置环境变量
# 设置环境变量,使得以Org1 admin user的身份操作Peer CLI
export CORE_PEER_TLS_ENABLED=true
export CORE_PEER_LOCALMSPID="Org1MSP"
export CORE_PEER_TLS_ROOTCERT_FILE=${PWD}/organizations/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt
export CORE_PEER_MSPCONFIGPATH=${PWD}/organizations/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp
export CORE_PEER_ADDRESS=localhost:7051

# 设置环境变量,使得以Org2 admin user的身份操作Peer CLI
export CORE_PEER_LOCALMSPID="Org2MSP"
export CORE_PEER_TLS_ROOTCERT_FILE=${PWD}/organizations/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt
export CORE_PEER_MSPCONFIGPATH=${PWD}/organizations/peerOrganizations/org2.example.com/users/Admin@org2.example.com/msp
export CORE_PEER_ADDRESS=localhost:9051
  1. 在Org1上安装链码
peer lifecycle chaincode install basic.tar.gz

basic.tar.gz是已经打包后的链码名

对于Org2的安装重复以上两个步骤.

5.3. Approve a chaincode definition

定义了链码治理的重要参数,比如名字、版本以及链码的背书策略.链码在一个通道中使用之前要求足够的通道成员批准链码. Because we have only two organizations on the channel, and a majority of 2 is 2, we need approve a chaincode definition of asset-transfer (basic) as Org1 and Org2.

具体过程:

  1. 查询链码的包ID(Package ID):由链码label和二进制标识组成

    peer lifecycle chaincode queryinstalled
    

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zMSg2jQj-1667647607627)(C:\Users\panhengyu\AppData\Roaming\Typora\typora-user-images\image-20221105181853134.png)]

  1. 把package id存放在环境变量中(注意:下面的命令中package ID需要自行修改)
 export CC_PACKAGE_ID=basic_1.0:69de748301770f6ef64b42aa6bb6cb291df20aa39542c3ef94008615704007f3
  1. 批准链码
  peer lifecycle chaincode approveformyorg -o localhost:7050 --ordererTLSHostnameOverride orderer.example.com --channelID mychannel --name basic --version 1.0 --package-id $CC_PACKAGE_ID --sequence 1 --tls --cafile "${PWD}/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem"

注意的是我们需要对Org1和Org2分别批准链码,切换至Org1的命令行如下:

export CORE_PEER_LOCALMSPID="Org1MSP"
export CORE_PEER_MSPCONFIGPATH=${PWD}/organizations/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp
export CORE_PEER_TLS_ROOTCERT_FILE=${PWD}/organizations/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt
export CORE_PEER_ADDRESS=localhost:7051

peer lifecycle chaincode approveformyorg -o localhost:7050 --ordererTLSHostnameOverride orderer.example.com --channelID mychannel --name basic --version 1.0 --package-id $CC_PACKAGE_ID --sequence 1 --tls --cafile "${PWD}/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem"
5.4. Committing the chaincode definition to the channel

当链码被网络中的绝大多数组织认可批准后,只需要其中一个组织提交链码定义至通道上即可.(one organization can commit the chaincode definition to the channel.)

如何查看组织对某链码的批准情况呢? 利用peer lifecycle chaincode checkcommitreadiness

peer lifecycle chaincode checkcommitreadiness  --channelID mychannel --name basic --version 1.0 --sequence 1 --tls --cafile "${PWD}/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem" --output json

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jQ0UjiaE-1667647607628)(C:\Users\panhengyu\AppData\Roaming\Typora\typora-user-images\image-20221105183939669.png)]

上面的都是True,因此可以Committing the chaincode defination to the channel

peer lifecycle chaincode commit -o localhost:7050 --ordererTLSHostnameOverride orderer.example.com --channelID mychannel --name basic --version 1.0 --sequence 1 --tls --cafile "${PWD}/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem" --peerAddresses localhost:7051 --tlsRootCertFiles "${PWD}/organizations/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt" --peerAddresses localhost:9051 --tlsRootCertFiles "${PWD}/organizations/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt"

以上这笔Transaction使用了--peerAddressed flag即发向peer0.org1.example.com from Org1和peer0.org2.example.comfrom Org2.

查询链码提交情况?

peer lifecycle chaincode querycommitted --channelID mychannel --name basic --cafile "${PWD}/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem"

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7SsUtRcX-1667647607629)(C:\Users\panhengyu\AppData\Roaming\Typora\typora-user-images\image-20221105185744685.png)]

提交成功!

5.Invoking the chaincode

The asset-transfer (basic) chaincode is now ready to be invoked by client applications

peer chaincode invoke -o localhost:7050 --ordererTLSHostnameOverride orderer.example.com --tls --cafile "${PWD}/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem" -C mychannel -n basic --peerAddresses localhost:7051 --tlsRootCertFiles "${PWD}/organizations/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt" --peerAddresses localhost:9051 --tlsRootCertFiles "${PWD}/organizations/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt" -c '{"function":"InitLedger","Args":[]}'
6. Upgrading a smart contract
7.Clean Up

如果完成了网络的相关操作,需要停止logspout tool和关闭网络

docker stop logsout
docker rm logsout

# 进入test-network文件夹然后关闭网络
cd ${HOME}/fabric-samples/test-network
./network.sh down
Ubuntu中fabric2.1测试网络部署 1、fabric测试网络 1.1.启动测试网络 首先回到clone好项目的目录,执行如下命令进入测试网络所在文件夹 启动前先运行,这一步,否则必出错误(虽然我也不知道为什么这样做就不错误,但是我试了两遍,都没错) systemctl start docker cd fabric-samples/test-network 在这里可以看到一个network.sh文件,执行./network.sh -h可以看到它的使用说明 下面这条命令会移除先前所有运行中的容器 sudo ./network.sh down 阅读详情

相关推荐

java调用fabric智能合约-Fabric Gateway

java调用fabric智能合约最新的资料不多,小编我摸索了一段时间,成功实现调用。

qq_55206467的博客 1929

Hyperledger-fabric_智能合约的部署、调用

hyperledger-fabric.智能合约的安装部署

weixin_43993064的博客 636

Hyperledger Fabric二进制文件一键部署指南

Hyperledger Fabric 是由 Linux 基金会主导的开源区块链项目之一,专为企业级应用场景设计。其最显著的特点是模块化架构与可插拔设计,允许开发者根据业务需求灵活配置共识机制、智能合约、身份认证等核心模块。Fabric 支持多通道(multi-channel)通信机制,确保数据隔离与隐私保护,适用于金融、供应链、医疗等对安全性要求较高的行业。在多组织网络中,多个组织可以共享一个通道。中通过Profiles定义多个组织加入同一通道。

weixin_35749440的博客 968

Hyperledger Fabric教程--部署Fabric智能合约

在HyperledgerFabric中,智能合约部署在称为链码的包中。想要验证交易或查询分类账的组织需要在其peer节点上安装链码。在加入通道的peer节点上安装链码后,通道成员可以将链码部署到通道,并使用链码中的智能合约在通道分类账上创建或更新资产。链码使用一个称为Fabric chaincode lifecycle的过程部署到通道。Fabric链码生命周期允许多个组织在链码可用之前就其操作方式达成一致。本教程学习如何使用peer lifecycle chaincode命令将链码部署到测试网络。

专注 AI、大数据、Python、爬虫、数据分析可视化、机器学习、推荐算法、知识图谱、大模型应用与全栈系统开发,长期沉淀真实项目案例、源码解析、系统设计、部署经验与工程化实践,分享可运行、可复用、可落地的技术方案。 5531

淘宝电商产品价格官方防爬取采集设计机制,如何破?|淘宝电商API数据采集看完你也会!

然而,随着电子商务的蓬勃发展,涌现出大量的第三方工具和应用,试图通过采集淘宝电商产品价格等信息来进行数据分析和竞争优势的获取。为了维护市场秩序和保护商家权益,淘宝采取了一系列的防爬取设计机制,以阻止非授权的数据采集行为。为了确保数据的准确性和及时性,淘宝采取了多层次的防爬取机制,以限制未经授权的数据采集。其它的情况,比如淘宝首页、淘宝关键词商品搜索结果页面、商品详情页面,都是正常展示,未实现加密;也可以使用【tesseract ocr识别】指令,这个是免费无限使用的;【淘宝商品搜索结果页面-本地截图】

TinagirlAPI的博客 1385

R链式中介:如何一次性生成4个变量所有可能的链式中介结果?(含结果解读与粗略作图)#bruceR#ggplot2

一次性生成4个变量所能生成的24种链式中介并作图

weixin_64183017的博客 3236

ETH智能合约开发手把手入门教程|猿创征文

ETH智能合约开发手把手入门教程|猿创征文,带你进入ETH的世界

分享技术干货和灵感、推荐新书和好玩的项目、分享Java面试题 6513

HITS算法详解及代码实现

占坑

蓁蓁尔的博客 7461

三:将智能合约部署到ganache测试网

将我们编译好的solidity代码用ether.js发布到ganache

qq_43917601的博客 3408

视觉Transformer实战 | Data-efficient image Transformer(DeiT)详解与实现

在计算机视觉领域,Vision Transformer (ViT) 已经证明了纯 Transformer 架构在图像分类任务上的强大能力。然而,ViT 通常需要在大规模数据集上预训练才能达到最佳性能,DeiT (Data-efficient image Transformer) 通过引入一系列训练策略和优化,使得 Transformer 模型能够在相对较小的数据集上取得优异表现。本节将详细介绍 DeiT 的技术原理,并使用 PyTorch 从零开始实现 DeiT 模型。

盼小辉丶的博客 1341

AI智能体丨使用Coze一键生成中式养生视频,39 条作品涨粉 37.9 万!(附保姆级教程)

本文介绍如何利用扣子(Coze)AI智能体工作流高效制作中式养生短视频。该方案通过AI自动生成养生文案、古风插画素材、语音合成和视频剪辑,将传统制作流程从2-3小时缩短至1-2分钟。工作流包含文案创作、音频生成、图片素材制作和视频合成四大模块,采用大模型处理各环节内容,最终输出可直接导入剪映的草稿文件。特别适合希望快速批量制作文化氛围感强、兼具干货与视觉效果的养生内容创作者,效率提升近百倍。

李同学Lino的博客 3027

区块链:搭建简单Fabric网络并调用智能合约

搭建基础区块链:使用docker搭建一个fabric网络的详细教程,实现构建多节点的简单联盟链,并编写、调用智能合约实现投票业务。

m0_74343871的博客 1528

CANbus收发器ADM3053BRWZ-REEL7应用原理图设计

ADM3053 在 CAN 协议控制器与物理层总线之间创建一个 完全隔离的接口。该器件具有限流和热关断特性,可防止输出短路。额定温 度范围为工业温度范围,提供 20 引脚、宽体 SOIC 封装。该器件采用 5 V 单电源供电, 提供完全隔离的 CAN 解决方案。ADM3053 是一款隔离式控制器区域网络 (CAN) 物理层收 发器,集成隔离 DC/DC 转换器,符合 ISO 11898 标准。该器件采用 ADI 公司的。Coupler® 技术,将双通道隔离器、 CAN 收发器和 ADI 公司的。

zhusl6688的博客 1238

k8s部署fabric 2.4

k8s部署fabric 2.4

cbmljs的博客 1288

第三章-python基础语法

有C语言基础应该这样学 Python。

qq_46187594的博客 1176

使用Qt和MX Component插件实现与菱PLC的通信

在本文中,我们介绍了如何使用Qt和MX Component插件实现与菱PLC的通信。我们首先安装和配置了MX Component插件,并在Qt项目中初始化和使用MX Component来连接、读取和写入PLC的数据。安装完成后,您需要在Qt项目中配置MX Component的路径,以便Qt可以找到所需的库文件。在本文中,我们将探讨如何使用Qt和MX Component插件来实现与菱PLC的通信。在主函数中,我们将初始化MX Component,并创建一个与PLC通信的示例。在上面的代码中,我们使用了。

TlScratch的博客 996

2.6 运行第一个测试网络总结

通过前面几节内容,我们已经能正常启动一个网络,并且完成智能合约部署与交互。测试结果后可以通过下面命令 ./network.sh down 关闭网络,该命令会自动删除之前创建的docker容器,peer节点, orderer服务,通道,智能合约等。 流程总结 先在本地启动网络 为peer和orderer创建证书和密钥 创建系统通道并且生成创世块 启动peer和orderer节点 然后创建应用通道 创建应用通道 把两个peer节点加入通道 把orderer节点加入通道 接着部署智能合约

水上铁的专栏 579

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

测试Fabricv2.3.0的test-network

test-network在Fabric 2.0版本中引入,将作为“first-network”的长期替代品。本文是在Ubuntu18.04下进行测试。 下载Hyperledger Fabric Docker映像和示例之后,可以使用Fabric -samples存储库中提供的脚本部署测试网络。通过运行本地机器上的节点,可以提供测试网络来学习Fabric。开发人员可以使用这个网络来测试他们的智能合约和应用程序。该网络的目的只是作为教育和测试的工具,而不是如何建立一个网络的模型。通常,不鼓励对脚本进行修改,这可能

Famidlistimo的博客 1244

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

区块链 test-network 测试网络(参考官方文档)

区块链测试案例网络(test-network)参考官方文档一步步进行

Bov021的博客 2124

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Hyperledger Fabric 联盟链部署:网络搭建与链码开发

部署 Hyperledger Fabric 联盟链需先搭建安全网络(证书、通道、节点),再开发链码实现业务逻辑。网络搭建:确保所有组件协同工作,使用工具自动化配置。链码开发:编写高效、安全的合约,并集成测试。建议参考官方文档(如 Hyperledger Fabric Docs)进行详细实践。部署成功后,可扩展为多组织联盟,支持隐私通道等高级特性。如有具体问题,欢迎进一步咨询!

grgredssd的博客 776

【Fabric】Fabric2.2版本 安装测试

Fabric2.2安装并测试示例

loehuang的专栏 1万+

Ubuntu20.04搭建Hyperledger Fabric 2.2.2

Ubuntu20.04搭建Hyperledger Fabric 2.2.2 基本工具 vim,curl,wget go语言环境 版本1.16.3 由于apt-get命令安装golang在国内网络环境受限制,推荐手动安装(增加动手能力)。 前往go语言中文网https://studygolang.com/dl 下载 go1.16.3.linux-amd64.tar.gz 进入下载的压缩包文件所在目录 将压缩包解压至/usr/local/ 目录下 $ sudo tar zxvf go1.16.3.linux-

qq_41348927的博客 738

Clawdbot区块链应用:Hyperledger Fabric智能合约

本文介绍了如何在星图GPU平台上自动化部署Clawdbot整合qwen3:32b代理网关与管理平台镜像,实现Hyperledger Fabric智能合约开发。该解决方案结合区块链的安全性与大语言模型的自然语言处理能力,适用于金融合规审查、医疗数据共享等需要审计追踪的场景。

weixin_34725745的博客 424

hyperledger fabric 2.X 官方文档演示

1

smallone233的博客 815

万字解析——区块链hyperledger fabric2.2部署实战教程

本文为官方文档解析,包含了network测试网络和两个实战示例。

专攻毕设大企鹅的博客 3万+

Hyperledger Fabric Chaincode智能合约

前言 之前Hyperledger Fabric 1.1区块链的环境搭建完成了,接下来要为项目开发智能合约。那么先编写一份简单的智能合约吧。 什么是chaincode chaincode代码通常处理由网络成员同意的业务逻辑,因此它相当于“智能合约”。可以调用chaincode代码来更新或查询提案交易中的分类帐。考虑到适当的许可,chaincode代码可以调用另一个chaincode代码,无论是...

卿酒酒丶的博客 5867
上一篇: 快速入门pytorch,建立自己的深度学习模型
下一篇: Ethereum 源码分析之EVM
Blockchain410
博客等级 码龄5年 3230粉丝 36原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Blockchain410

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值