首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Hyperledger Fabric链码开发基础篇

我们也称链码为智能合同, 它定义了业务逻辑。链码主要开发语言是Go和Node.js,而Java也会在不久支持。 链码主要遵循Shim API接口规范。...,同时在链码版本升级的时候也会被调用用于数据迁移,需要小心实现。.../sacc (3) 终端3中使用链码 安装和初始化链码在devmode是有点多余的,后面版本可能会删除。...Hyperledger Composer开发模式 为了简化Fabric的配置和开发,主要是IBM团队维护了一套使用javascript定义asset资源, 参与者participant, 交易transaction...为编程模型的区块链平台,还可以把链码接口很方便的暴露为REST服务,也提供了大量一个web系统playground和工具配置区块链网络,但同时也掩盖了很多Fabric的细节,做一些配置的又得绕回Fabric

1.2K20

Hyperledger Fabric区块链数据隐私保护

链上的数据隐私可以从两个层面考虑,一个是账本数据传播范围,一个是业务数据上链方式。 一、账本层面的数据隐私保护 在账本数据传播范围方面,Fabric通过引入通道和私有数据集来解决数据传播范围。...Fabric通过通道物理的隔离了数据在组织间的流转范围,通过私有数据集又进一步限制了数据明文在通道内组织的流转范围。 在底层数据存储上Fabric创造性地在联盟链中引入了通道的概念。...在同一个通道上,有些场景中,用户的特定数据原文只需要通道内的特定组织访问,其他组织只需要确保数据可信可验证。基于以上的需求,Fabric引入了私有数据集的概念。...这些不在私有数据集可见范围内的组织,分布式账本上存储的数据仅仅原文的Hash。通过私有数据集的引入,Fabric很好地解决了同一个通道上的数据流转范围。...二、业务上链过程中的数据隐私保护 Fabric底层链中数据流转范围的设定,可以让用户方便的设置区块链组织参与方对于数据的访问权限。

1.3K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Hyperledger Fabric之模型

    链码(Chaincode) 链码用于定义资产,或定义修改资产的交易逻辑,链码定义了读取或修改资产键值对的规则。...Hyperledger Fabric当前主要使用Go语言和Nodejs开发链码, 使用Go兼容好些快些, 在BYFN官方例子中安装Nodejs链码时间较长,时不时timeout(不排除环境配置差异或有误...另外一种开发模式是使用Hyperledger Composer类似javascript的语法定义资源和交易, 后面我们学习。 3....隐私 Hyperledger Fabric以通道为基础提供了不可篡改的记账本和用于修改资产状态的链码。...“Private Data Collection”私有数据集合是Hyperledger Fabric 1.2引入的, Hyperledger Fabric作为联盟链,企业对行业内竞争对手分享数据是不可能的

    1.1K20

    fabric区块链(一)—搭建环境

    ---title: fabric区块链(一)—搭建环境date: 2023/5/10tags: fabric区块链categories: 区块链---hyperledger Fabric是一款适用于企业级应用的区块链平台...Fabric可以从Hyperledger Fabric的官方网站下载Hyperledger Fabric 2.4.9的二进制文件。.../asset-transfer-basic/chaincode-javascript/ -ccl javascript这个命令还将部署‘assert-transfer-basic'链码,部署成功就可以在通道上执行交易和查询了...,这是一个用于处理JSON数据的命令行工具,用下面的命令安装sudo apt-get updatesudo apt-get install jq图片在Hyperledger Fabric中,链码是一个智能合约...可以使用以下命令在测试网络上部署和测试一个示例链码:# 安装链码./network.sh deployCC# 测试链码./scripts/testCC.sh

    1.2K40

    Hyperledger Fabric 2.x 环境搭建

    智能合约包含管理区块链账本上资产的业务逻辑,由成员运行的应用程序网络可以在账本上调用智能合约创建,更改和转让这些资产,应用程序还通过智能合约查询,以在分类账上读取数据。...在Fabric中,智能合约作为链码以软件包的形式部署在网络上。链码安装在组织的对等节点上,然后部署到某个通道,然后可以在该通道中用于认可交易和区块链账本交互。...在将链码部署到通道前,该频道的成员需要就链码定义达成共识,建立链码治理。何时达到要求数量的组织同意后,链码定义可以提交给通道,并且可以使用链码了。...默认情况下,脚本安装Go版本的 asset-transfer-basic 链码,可以通过参数 -ccl 来安装 Java 或 javascript 版本的链码。 5.3..../network.sh down 该命令将停止并删除节点和链码容器,删除组织加密材料,并从Docker Registry移除链码镜像,另外还会删除之前运行的通道项目: 七、使用认证机构创建网络 Hyperledger

    1.7K10

    Hyperledger fabric链码数据模型的探讨(1)之转账和交易

    编写过一些链码的人可能会觉得是在操作一个简单的key-value数据库, 就是GetState和PutState去操作键值对,而对复杂些的一对多,多对多等实体关系和数据模型不知怎么设计。...简单转账例子 /fabric-samples/chaincode/chaincode_example02/go/chaincode_example02.go 假设链码调用peer chaincode invoke...是个弹珠游戏, 模拟多个用户可创建和转移弹珠, 具体可以参考说明 https://github.com/IBM-Blockchain/marbles/blob/master/README-cn.md 链码位置...fabric-samples/chaincode/marbles02/go/marbles_chaincode.go 弹珠数据结构, name作为key值,拥有颜色,大小和拥有者等属性。...High-through高吞吐交易例子 参考fabric-samples/high-throughput/chaincode/high-throughput.go (1)update使用一个组合key聚合

    1.1K30

    使用Hyperledger Fabric和Composer实现区块链应用程序

    这可用于实现Go,Java或Node.js等语言中的规则,这些规则定义读取权限或资产修改。执行链代码功能可以读取和返回资产和/或创建和修改资产并将它们存储在本地分类帐数据库中。...这为网络中的每个现有信道创建了区块链数据结构。与区块链一样,交易存储在块中,这些块在单个连接列表中成为加密链。 但是,为了向客户端应用程序提供分类帐数据的单独视图,甚至可以执行针对网络的复杂读取请求。...MSP服务、权限策略、信道配置与启动、链码通信接口等核心概念,也包含Fabric网络设计、nodejs链码与应用开发的操作实践,是Nodejs工程师学习Fabric区块链开发的最佳选择。...Hyperledger Fabric java 区块链开发详解,课程面向初学者,内容即包含Hyperledger Fabric的身份证书与MSP服务、权限策略、信道配置与启动、链码通信接口等核心概念,也包含...Fabric网络设计、java链码与应用开发的操作实践,是java工程师学习Fabric区块链开发的最佳选择。

    2.1K20

    Fabric区块链kafka共识入门 原

    在Hyperledger Fabric区块链中可以有多个Kafka节点,使用zookeeper进行同步管理。...如果希望快速掌握Fabric区块链的链码及应用开发,建议访问汇智网的在线互动课程: Fabric区块链Java开发详解 Fabric区块链NodeJs开发详解 一、Kafka工作原理 Kafka本质上是一个消息处理系统...当主题的数据规模变得越来越大时,可以拆分为多个分区,Kafka保障在一个分区内的消息是按顺序排列的。 Kafka并不跟踪消费者读取了哪些消息,也不会自动删除已经读取的消息。...在zookeeper中存储的元数据包括: 消费者分组在每个分区的读取偏移量 访问控制清单,用于访问授权与限制 生产者及消费者配额,每秒最多消息数量 分区领导者及健康信息 二、Hyperledger Fabric...在Hyperledger Fabric中的Kafka实际运行逻辑如下: 对于每一条链,都有一个对应的分区 每个链对应一个单一的分区主题 排序节点负责将来自特定链的交易(通过广播RPC接收)中继到对应的分区

    2.1K20

    深入解析fabric的peer命令(一)

    title: 深入解析fabric的peer命令(一) date: 2023/5/30 10:24 tags: fabric区块链 categories: 区块链 深入解析fabric的peer命令(一...在 Hyperledger Fabric 中,chaincode.Cmd 函数用于创建与链码相关的命令。它接受两个参数:chaincodeID 和 cryptoProvider。...chaincodeID 参数是一个表示链码标识的字符串。在这里,传递的是 nil,表示没有指定特定的链码标识,即执行与链码相关的命令时不需要指定特定的链码。...因此,mainCmd.AddCommand(chaincode.Cmd(nil, cryptoProvider)) 的作用是将与链码相关的命令添加到 mainCmd 中,其中使用了默认的加密提供程序,并且不指定特定的链码标识...通过添加这个命令,可以在运行程序时使用 peer chaincode 命令执行与链码相关的操作,例如安装、实例化、升级、查询等。

    584150

    Linux基金会超级记账本开发框架和工具

    Fabric应该当今商用度,成熟度最高的区块链解决方案之一,国内很多公司都是基于Fabric定制自己的区块链业务平台,更多信息可关注笔者公众号。...Iroha是C++实现的区块链平台,实现Yet Anothe BFT共识算法,和排序服务。 权限设计基于角色或授权权限,区块使用文件存储,状态使用PostgreSQL数据库保存。...2.2 Hyperledger Cello ? 孵化中,定位于Fabric区块链网络的自动化运维平台,例如创建,编辑,删除主机,区块链网络,部署链码,查询调用链码等功能。...孵化中,链码开发基础提到过的另外一种开发模式,IBM主导,推荐Mac和Ubuntu运行,类似solidity, 用javascript语法,定义资源,参与者,交易,把链码逻辑可暴露为REST服务, Fabric...2.4 Hyperledger Explorer ? 孵化中,Web系统,用于浏览,调用,部署或查询区块链网络的数据,交易,网络,节点等信息。 2.5 Hyperledger Quilt ?

    1.3K10

    Hyperledger Fabric1.0运行Fabcar以及常见问题解决(持续更新)

    如果后续补充更新不及时,请移步看简书或知乎专栏:洞链,或下面文章 https://www.jianshu.com/p/b097e489dd99 Hyperledger Fabric基础环境搭建 ----...加入通道 peer channel join -b mychannel.block 链码 ---- 安装链码 peer chaincode install -n mycc -v 1.0 -p github.com.../hyperledger/fabric/examples/chaincode/go/chaincode_example02 实例化链码 peer chaincode instantiate \ -o orderer.example.com.../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

    2.1K00

    区块链技术面试常被问到的Hyberledger Fabric关键概念

    Chaincode(链码/智能合约) - Chaincode分区执行,根据交易顺序、所需信任级别的限制、验证跨节点类型、优化网络规模和性能 Ledger Features (账本) - 不可更改、共享帐本记录了每个...###Fabric 功能 Hyperledger Fabric 是分布式帐本(DLT)的一个独特实现,采用模块化区块链架构,其提供了企业所需的网络安全、可扩展性、保密性和性能。...其主要的区块链网络功能包括: Identity management 身份管理 Hyperledger Fabric 提供用户识别服务来管理用户的ID和参与者在网络内的授权。...可以很方便在客户端javascript定义资产,在你的Fabric应用中使用,通过Fabric Composer工具。 Fabric支持资产的交换,通过未使用交易输出作为后续交易的输入。...chaincode执行读取和修改键值对和其它状态数据库信息的规则。chaincode 函数基于帐本当前状态数据库执行,通过交易提案初始化。

    1.8K10

    深入解析fabric的peer命令(一)

    /hyperledger/fabric/internal/peer/channel" "github.com/hyperledger/fabric/internal/peer/common...在 Hyperledger Fabric 中,chaincode.Cmd 函数用于创建与链码相关的命令。它接受两个参数:chaincodeID 和 cryptoProvider。...chaincodeID 参数是一个表示链码标识的字符串。在这里,传递的是 nil,表示没有指定特定的链码标识,即执行与链码相关的命令时不需要指定特定的链码。...因此,mainCmd.AddCommand(chaincode.Cmd(nil, cryptoProvider)) 的作用是将与链码相关的命令添加到 mainCmd 中,其中使用了默认的加密提供程序,并且不指定特定的链码标识...通过添加这个命令,可以在运行程序时使用 peer chaincode 命令执行与链码相关的操作,例如安装、实例化、升级、查询等。

    32720

    深入解析fabric的peer命令(一)

    /hyperledger/fabric/internal/peer/channel" "github.com/hyperledger/fabric/internal/peer/common...在 Hyperledger Fabric 中,chaincode.Cmd 函数用于创建与链码相关的命令。它接受两个参数:chaincodeID 和 cryptoProvider。...chaincodeID 参数是一个表示链码标识的字符串。在这里,传递的是 nil,表示没有指定特定的链码标识,即执行与链码相关的命令时不需要指定特定的链码。...因此,mainCmd.AddCommand(chaincode.Cmd(nil, cryptoProvider)) 的作用是将与链码相关的命令添加到 mainCmd 中,其中使用了默认的加密提供程序,并且不指定特定的链码标识...通过添加这个命令,可以在运行程序时使用 peer chaincode 命令执行与链码相关的操作,例如安装、实例化、升级、查询等。

    38740

    fabric区块链(三)—发布智能合约

    在Fabric上发布智能合约: TODO 编写智能合约代码 您需要使用支持的编程语言(如Go、Java、JavaScript等)编写智能合约代码。...您可以使用Hyperledger Fabric提供的示例智能合约作为参考,了解智能合约的结构和编写方式。示例智能合约可在Hyperledger Fabric的官方文档中找到。...以下是针对 Hyperledger Fabric 的智能合约示例: Go package main import ( "fmt" "github.com/hyperledger/fabric-contract-api-go...mycc.tar.gz --path /path/to/chaincode --lang node --label mycc_1.0 这个命令将使用/path/to/chaincode目录中的Node.js链码代码创建一个名为...3b3f3d55f08c7d8e00fcb6f10ef6da24d158d371fe123bf54291be7cf32d1703 --sequence 1 --tls true --cafile /path/to/orderer/ca.crt 这个命令将批准mychannel通道上的mycc链码的

    89030
    领券