首页
学习
活动
专区
圈层
工具
发布

Hyperledger Fabric链码开发基础篇

我们也称链码为智能合同, 它定义了业务逻辑。链码主要开发语言是Go和Node.js,而Java也会在不久支持。 链码主要遵循Shim API接口规范。...,同时在链码版本升级的时候也会被调用用于数据迁移,需要小心实现。.../sacc (3) 终端3中使用链码 安装和初始化链码在devmode是有点多余的,后面版本可能会删除。...不过一般情况下,链码API也不多,逻辑一般不会太复杂,也可以适当的把复杂的逻辑移到客户应用端。 4....为编程模型的区块链平台,还可以把链码接口很方便的暴露为REST服务,也提供了大量一个web系统playground和工具配置区块链网络,但同时也掩盖了很多Fabric的细节,做一些配置的又得绕回Fabric

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

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

    在以太坊或其他公共区块链平台的背景下,可以将链码与智能合约进行比较。 ? 通道用于实现隐私领域。在最简单的场景中,整个链代码部署在所有参与者加入的单个通道上。...从开发人员的角度来看,单元测试代码看起来仍然非常臃肿。很快就会出现库,通过它可以更容易地实现通常的测试模式。我们迫切希望看到Hyperledger等项目将如何继续推动业务中分布式账本技术的适应性。...MSP服务、权限策略、信道配置与启动、链码通信接口等核心概念,也包含Fabric网络设计、nodejs链码与应用开发的操作实践,是Nodejs工程师学习Fabric区块链开发的最佳选择。...Hyperledger Fabric java 区块链开发详解,课程面向初学者,内容即包含Hyperledger Fabric的身份证书与MSP服务、权限策略、信道配置与启动、链码通信接口等核心概念,也包含...Fabric网络设计、java链码与应用开发的操作实践,是java工程师学习Fabric区块链开发的最佳选择。

    3K20

    Hyperledger Fabric之模型

    资产(Assets) 和面向对象编程有点类似,资产是可以是有形的(不动产,硬件等),也可以是无形的(合同等), 区块链网络上,资产定义可交换带有货币价值的的任何对象,通过chaincode链码(智能合同...链码(Chaincode) 链码用于定义资产,或定义修改资产的交易逻辑,链码定义了读取或修改资产键值对的规则。...我们常说的智能合同是通过链码是实现的,链码定义了资源和交易的业务逻辑,编写链码是开发者很重要的任务。...Hyperledger Fabric当前主要使用Go语言和Nodejs开发链码, 使用Go兼容好些快些, 在BYFN官方例子中安装Nodejs链码时间较长,时不时timeout(不排除环境配置差异或有误...隐私 Hyperledger Fabric以通道为基础提供了不可篡改的记账本和用于修改资产状态的链码。

    1.5K20

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

    1.区块链开发框架 1.1 Hyperledger Burrow 状态 Github Star 开发语言 活跃度 文档 孵化中 520 Go 较高 一般 ?...Indy是分布式记账本,应该是Sovrin基金会捐献,旨在提供去中心化的身份凭证服务,使用区块链技术加密和交换身份凭证,保障安全。...2.2 Hyperledger Cello ? 孵化中,定位于Fabric区块链网络的自动化运维平台,例如创建,编辑,删除主机,区块链网络,部署链码,查询调用链码等功能。...孵化中,链码开发基础提到过的另外一种开发模式,IBM主导,推荐Mac和Ubuntu运行,类似solidity, 用javascript语法,定义资源,参与者,交易,把链码逻辑可暴露为REST服务, Fabric...2.4 Hyperledger Explorer ? 孵化中,Web系统,用于浏览,调用,部署或查询区块链网络的数据,交易,网络,节点等信息。 2.5 Hyperledger Quilt ?

    1.8K10

    Hyperledger Fabric 系统架构详解

    最近在上 HKU 的课程,教授对Hyperledger Fabric的工作原理、网络搭建及链码相关的知识做了很详细的讲解...链码 Fabric也有类似以太坊的智能合约,称为 Chaincode 链码,智能合约使外部的应用程序可以和Fabric网络中的账本进行交互。...链码主要分成系统链码和用户链码两种,系统链码嵌入在系统内,提供对系统进行配置、管理的支持;而用户链码则是运行在单独的 Docker 容器中,提供对上层应用的支持,用户通过链码相关的 API 编写用户链码...链码经过安装和实例化操作后即可被调用,在安装的时候需要指定具体安装到哪个 Peer 节点(有的节点可以没有链码),实例化时还需要指定通道及背书策略。...Gossip协议主要是用于网络中多个节点之间的数据交换,比较容易实现且容错率很高,原理就是数据发送一方从网络中随机选取若干个节点发送过去,等几个节点接收到这些数据后再随机发送给除了发送方外的若干节点,不断重复

    3.9K10

    一文了解超级账本DLT、库、开发工具有哪些, Hyperledger家族成员你认识几个?

    随着Besu新公告的发布,我认为这可能是在Hyperledger架构下运行各种技术的有趣时机。 从本质上来说,Hyperledger可以分为三类:分布式账本技术(基本上就是区块链)、库以及工具。...其目标是为不同的去中心化系统提供点对点交互、加密管理、可验证的信息交换和安全消息传递服务。 它和Hyperledger Indy项目以及Ursa项目都有联系。...通过提供甚至支持非区块链系统的原子交换,该库被用于在账本系统间进行价值传递。 看看Git,该项目似乎正在被积极的研究,对于需要这项功能的人来说可是件好事。...据Git显示,它在很多Hyperledger项目中都是十分有效的。 Cello将按需的“即服务”的部署模型引入了区块链,从而使创建、管理和停止区块链都变得更加容易。...Explorer是一个用户友好的Web应用程序,它可以查看、调用、部署或查询区块、交易和相关数据、网络信息、链码和交易族(transaction families)以及储存在分类账本中的其他相关信息。

    1.5K10

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

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

    816150

    Fabric-sdk-java最新教程 原

    链接:https://sdkjavadocs.github.io/ 2、Fabric-sdk-java链码访问快速上手教程 非常简洁的fabric java sdk中文起步教程,hello-world级别...SDK的简明教程,通过使用fabric-sdk-java 创建一个简单的Java客户端,来快速了解Fabric Java SDK的使用方法,例如 连接配置文件编写、Fabric-CA使用、交易执行流程、链码调用等...、超级账本fabric-sdk-java基础教程 这也是一个适合快速上手Fabric java sdk的教程,内容主要包括CA用户登记、 初始化HFClient、初始化通道对象、调用链码等fabric...java sdk访问链码 这篇文章的重点在于链码的调用,因此比较详细地步骤讲解了使用fabric java sdk查询链码状态 或提交链码交易的代码,使用的是官方的fabcar链码案例。...Fabric Java SDK 构建和部署区块链网络 这篇文章主要介绍如何使用Hyperledger Fabric SDK Java创建,部署和测试区块链网络,以及链码开发、部署与调用。

    3.7K30

    Hyperledger Fabric 2.0 Alpha发布了!

    Fabric chaincode lifecycle Fabric 2.0 Alpha介绍了分布式治理链码的特性,包括在你的节点上安装链码以及在一个通道中启动链码的新流程。...新的Fabric生命周期允许多组织对链码的参数达成共识,例如链码在开始和账本进行交互前的背书策略。...更安全的链码升级过程:在之前的链码生命周期中,升级链码可以由单个组织进行发布,从而尚未安装新链码的通道成员将可能产生风险。新的模型要求只有足够数量的组织批准后才能允许升级链码。...可检查的链码包:Fabric生命周期将链码以易于阅读的tar文件的形式打包。这样可以更加轻松地检查链码代码包并协调跨多个组织安装。...使用同一个安装包启动多个链码:在之前的生命周期管理中一个通道上的链码可以使用名字和版本来指定一个安装的链码。

    1.6K30

    Hyperledger Fabric基础知识

    Hyperledger孵化并支持一系列区块链业务技术,框架,库和应用程序。Hyperledger项目托管了多个区块链框架,包括Hyperledger Fabric。...链码可以用Golang或Node.js编写。 Peer nodes。Peer是网络的基本元素,因为它们托管共享账本和智能合约。Peer执行链码,访问共享账本数据,认可交易并与应用程序对接。...每个链码都可以指定背书策略,该政策定义了有效交易背书的必要条件和充分条件。 Channel。通道是由peers集合形成的逻辑结构。此功能允许一组peers创建单独的交易共享账本。...SDK提供了一种执行用户链码,在网络中执行事务,监视事件等的方法。 要编写区块链应用程序,您需要: 用受支持的编程语言(例如Go)编写chaincode。...在Hyperledger Fabric网络上部署链码。 使用SDK开发客户端应用程序。

    2.9K10

    Hyperledger Fabric 2.x 环境搭建

    在Fabric中,智能合约作为链码以软件包的形式部署在网络上。链码安装在组织的对等节点上,然后部署到某个通道,然后可以在该通道中用于认可交易和区块链账本交互。...在将链码部署到通道前,该频道的成员需要就链码定义达成共识,建立链码治理。何时达到要求数量的组织同意后,链码定义可以提交给通道,并且可以使用链码了。....example.com 和 peer0.org2.example.com 上安装 asset-transfer-basic 链码,如果第一次部署链码,脚本将安装链码的依赖项。...默认情况下,脚本安装Go版本的 asset-transfer-basic 链码,可以通过参数 -ccl 来安装 Java 或 javascript 版本的链码。 5.3..../network.sh down 该命令将停止并删除节点和链码容器,删除组织加密材料,并从Docker Registry移除链码镜像,另外还会删除之前运行的通道项目: 七、使用认证机构创建网络 Hyperledger

    2.4K10

    Hyperledger Fabric 2.0 Alpha发布了!

    Fabric chaincode lifecycle Fabric 2.0 Alpha介绍了分布式治理链码的特性,包括在你的节点上安装链码以及在一个通道中启动链码的新流程。...新的Fabric生命周期允许多组织对链码的参数达成共识,例如链码在开始和账本进行交互前的背书策略。...更安全的链码升级过程:在之前的链码生命周期中,升级链码可以由单个组织进行发布,从而尚未安装新链码的通道成员将可能产生风险。新的模型要求只有足够数量的组织批准后才能允许升级链码。...可检查的链码包:Fabric生命周期将链码以易于阅读的tar文件的形式打包。这样可以更加轻松地检查链码代码包并协调跨多个组织安装。...使用同一个安装包启动多个链码:在之前的生命周期管理中一个通道上的链码可以使用名字和版本来指定一个安装的链码。

    1.2K20

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

    ---title: fabric区块链(一)—搭建环境date: 2023/5/10tags: fabric区块链categories: 区块链---hyperledger Fabric是一款适用于企业级应用的区块链平台.../network.sh createChannel -c mychannel图片到这里channel也创建好了部署和测试链码如果通道创建成功,可以使用joinChannel.sh脚本将peer节点加入到该通道中.../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

    2.2K40

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

    Fabric 做为一个全面、可定制、企业级区块链解决方案关键设计需求: Assets (资产) - 资产定义了可以交换的几乎所有东西,其能通过网络用钱计价,从食物、到古董车、到未来的货币。...Chaincode(链码/智能合约) - Chaincode分区执行,根据交易顺序、所需信任级别的限制、验证跨节点类型、优化网络规模和性能 Ledger Features (账本) - 不可更改、共享帐本记录了每个...###Fabric 功能 Hyperledger Fabric 是分布式帐本(DLT)的一个独特实现,采用模块化区块链架构,其提供了企业所需的网络安全、可扩展性、保密性和性能。...其主要的区块链网络功能包括: Identity management 身份管理 Hyperledger Fabric 提供用户识别服务来管理用户的ID和参与者在网络内的授权。...这样分工同样降低了授权和认证的处理需求;所有peer节点不需要信任全部 ordering 节点,反之亦然,因此处理能被独立与对方认可外运行 Chaincode functionality 链码/智能合约功能

    2.2K10

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

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

    48720
    领券