首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    在Fabric ChainCode中导入第三方包(以状态机为例)

    我们在Fabric ChainCode的开发过程中,也很可能涉及到状态机,这里我们就举一个例子,用FSM实现一个二级审批的状态转移。...这是一个很常见的审批例子。 我们使用Go来开发ChainCode,那么可以采用https://github.com/looplab/fsm 这个FSM库。这个库也是Fabric官方采用的状态机库。...5.总结 总的来说,在Fabric的ChainCode开发中,引入第三方的库可以方便我们编写更强大的链上代码。...而这个FSM虽然简单,但是也可以很好的将状态流转的逻辑进行集中,避免了在状态流转时编写大量的Ugly的代码,让我们在每个函数中更专注于业务逻辑,而不是麻烦的状态转移。...最后直接粘贴出我的完整ChainCode 源码,方便大家直接使用。

    26710

    你知道在springboot中如何使用WebSocket吗

    一、背景   我们都知道 http 协议只能浏览器单方面向服务器发起请求获得响应,服务器不能主动向浏览器推送消息。...想要实现浏览器的主动推送有两种主流实现方式: 轮询:缺点很多,但是实现简单 websocket:在浏览器和服务器之间建立 tcp 连接,实现全双工通信   springboot 使用 websocket...这一篇实现简单的 websocket,STOMP 下一篇在讲。...注意:如下都是针对使用 springboot 内置容器 二、实现 1、依赖引入   要使用 websocket 关键是@ServerEndpoint这个注解,该注解是 javaee 标准中的注解,tomcat7...serverEndpointExporter(){ return new ServerEndpointExporter(); } } 3、申明 endpoint   建立MyWebSocket.java类,在该类中处理

    2.8K40

    Fabric MVCC 简介

    什么是 MVCC 在Hyperledger Fabric中,MVCC(Multi-Version Concurrency Control,多版本并发控制)是一个重要的机制,用于管理区块链上的数据版本。...以下是有关Fabric中MVCC问题的详细介绍: 多版本数据存储:Fabric使用MVCC来处理世界状态(World State)数据的版本控制。...MVCC 冲突 MVCC冲突(Multi-Version Concurrency Control)在Hyperledger Fabric或其他使用MVCC机制的区块链系统中,通常在以下情况下会发生: 并发事务修改相同数据项...当节点之间的通信出现问题或者由于网络延迟,导致事务在某些节点上的执行时间差异较大时,可能会出现冲突。 合约逻辑引发的冲突:智能合约中的业务逻辑可能引发MVCC冲突。...源码分析 在Hyperledger Fabric中,出块前背书节点会对接收到的交易进行验证,最新(2023年12月2日)代码的实现位于core/ledger/kvledger/txmgmt/validation

    36620

    Java Chaincode学习交易系统中Hyperledger Fabric帐户钱包模型

    如果你不知道如何启动BYFN网络,我也会提供步骤,不用担心。...但是如果你想了解BYFN是如何工作的,你可以参考: 1.Hyperledger Fabric官方BYFN教程 2.我之前关于BYFN的文章 基于帐户的钱包模型 基于帐户的钱包模型是交易系统的实现之一,一般而言系统中存在一些钱包...[可选] Hyperledger Fabric中有两个数据库选项用于保存超级账本的world state:LevelDB和CouchDB,在本教程中,为了简单起见,我将使用LevelDB。...[可选]在我的负载测试和一些关于Hyperledger Fabric性能的论文中,LevelDB的性能优于CouchDB。...第5步——在BYFN中运行Chaincode 5.1 安装相关项目 我们在本教程中使用Hyperledger Fabric v1.4。

    2.1K20

    3个基于Java的Blockchain库

    在本文中,作者介绍了三个使用区块链的Java项目,以及每个项目适用的场合,供开发者根据自己的需求进行选择。...以下为译文: 大家应该都听说过比特币、以太币或其他加密货币,这些名字在新闻中经常出现,但是作为Java开发人员,你们知道如何轻松地与Blockchain技术进行交互吗?...如果你想知道如何创建一个比特币钱包,并且管理节点之间的事务,那么你应该尝试一下BitcoinJ。这个项目有一个不断扩大的社区,里面包含非常好的文档资料,这对每个开发人员都是非常有利的。...HyperLedger Fabric HyperLedger Fabric是企业会用到的。Linux基金会的框架是区块链解决方案的主干。...主要特点是: 管理共享机密信息的渠道 支持政策事务 一致地向网络中的对等节点交付事务 如果你在软件区块链堆栈中包括了HyperLedger Fabric,那么我的建议是熟悉其他的HyperLedger

    77660

    Ubuntu Server搭建Hyperledger Fabric 2.1学习环境

    最近在学习Hyperledger Fabric,它是由 Linux 基金会发起创建的开源区块链分布式账本。 ?...Hyperledger Fabric是一个开源区块链实现,开发环境建立在 VirtualBox 虚拟机上,部署环境可以自建网络,也可以直接部署在 BlueMix 上,部署方式可传统可 Docker 化,...不知道为啥我这gitee也好慢啊。。。 将 fabric 切换至 2.1 版本: cd fabric/ git branch -a git checkout release-2.1 ? ?...根据网上解决sudo环境变量问题的方法,在自己的shell配置文件中如下设置 vim ~/.bashrc 添加如下 alias sudo='sudo env PATH=$PATH LD_LIBRARY_PATH...进入fabcar中的javascript目录中,这里得切换到root用户,我也不知道sudo为什么还存在权限问题,执行: cd javascript/ su npm install ?

    1.6K20

    Fabric区块链kafka共识入门 原

    在Hyperledger Fabric区块链中可以有多个Kafka节点,使用zookeeper进行同步管理。...本文将介绍Kfaka的基本工作原理,以及在Hyperledger Fabric中使用Kafka和zookeeper实现共识的原理,并通过一个实例剖析Hyperledger Farbic中Kafka共识的达成过程...这就是代理如何确定应当使用哪个分区领导者的原因。zookeeper有超强的故障容错能力,因此Kafka的运行严重依赖于它。...在zookeeper中存储的元数据包括: 消费者分组在每个分区的读取偏移量 访问控制清单,用于访问授权与限制 生产者及消费者配额,每秒最多消息数量 分区领导者及健康信息 二、Hyperledger Fabric...中的Kafka 要理解在超级账本Hyperledger Fabric中的Kafka是如何工作的,首先需要理解几个重要的术语: Chain - 指的是一组客户端(通道/channel)可以访问的日志 Channel

    2.1K20

    “Hyperledger Fabric 是假区块链!”

    【声明:文章仅代表个人观点,其内容与观点不代表区块链大本营立场】 Hyperledger Fabric 性能指标 具有误导性 2016年我在摩根大通工作时,我领导了一个专攻前沿技术的团队,来研究区块链在银行业中的潜在应用以及对区块链的战略投资...从这几个细节入手分析,我认为 IBM 的 Hyperledger Fabric 从根本上缺乏区块链的必要元素,其性能指标充满了误导性,在长期业务上的可行性也不禁让人打一个大大的问号。...相反,Hyperledger Fabric 推荐使用一个名为 Kafka 的“订购服务”。...与之形成鲜明对比的是,Hyperledger Fabric 中唯一一个重要的签名就是验证者的签名,而用户的签名则消失在通过区块链网络复制的任意数据库中。...注:从理论上讲,Hyperledger Fabric 可以使用真正意义上的区块链共识,但这样做区块链会变得很慢,而在生产环境中慢是致命的,因此没有人会在生产环境中使用它。 为什么说智能合约很重要?

    2K20

    Java为Hyperledger Fabric(超级账本)开发区块链链代码智能合约之环境部署

    我将分步展示如何使用 Hyperledger Fabric v0.6 来构建、运行和执行使用 Java 语言编写的智能合约或链代码。...在本教程中,我将使用 Docker 作为网络容器环境,而另一个选择是带 VirtualBox 的 Vagrant。如果从未使用过 Vagrant,您至少应该尝试一下。...完成本节后,您就可以运行一个 Hyperledger Java 链代码示例了,在该示例中,您将在真实链代码上部署和调用交易。然后,我将展示如何(几乎)从头编写一个新链代码程序。...我在介绍中已经提到过,另一个选择(您可能在 Hyperledger 文档中看到过)是使用 Vagrant 和 VirtualBox。...在本教程中,我将使用 ~/home/mychaincode(或 Windows 上的 C:\home\chaincode)。 接下来,将 GOPATH 环境变量设置为此路径。

    3.1K20

    深入理解Fabric环境搭建的详细过程

    前面的准备工作我就不用多说了,也就是各种软件和开发环境的安装,安装好以后,我们git clone下来最新的代码,并切换到v1.0.0,并且下载好我们需要使用的docker镜像,也就是到步骤6,接下来我们要解析的是之后的步骤...3.3配置CLI CLI在整个Fabric网络中扮演客户端的角色,我们在开发测试的时候可以用CLI来代替SDK,执行各种SDK能执行的操作。CLI会和Peer相连,把指令发送给对应的Peer执行。...CLI的配置在docker-compose-cli.yaml中,我们看看其中的内容: cli: container_name: cli image: hyperledger/fabric-tools...【注意:请注释掉cli中command这一行,我们不需要CLI启动的时候自动执行脚本,我们在步骤4,5要一步步的手动执行!】...,经过我的测试,即使没有设置锚节点的情况下,整个Fabric网络仍然是能正常运行的。

    2K10

    私有区块链Hyperledger Fabric和公共区块链ARK.io如何通过solidity智能合约结合

    我想展示如何将公共区块链(如ARK.io)的功能与私有区块链(如Hyperledger)结合起来。...特别是,我们将看到ARK.io上的交易如何触发在Hyperledger Fabric + Burrow中部署的Solidity Smart Contract的执行。...,你可以在evmcc中查询合约的运行时字节码: root@3e4b9a88b2b6:/opt/gopath/src/github.com/hyperledger/fabric/peer# peer chaincode...使用Web3 设置Fab代理 我们已经在我们的.profile中定义了这些: export FABPROXY_CONFIG=$GOPATH/src/github.com/hyperledger/fabric-chaincode-evm...确保fab代理正在Hyperledger实例上运行,它正在侦听端口5000: ? 通过桌面钱包提交Ark交易: ? 观察Ark replay日志中的输出以及新应用的交易的详细信息: ?

    1.3K20

    如何在本地测试Fabric Code

    前一篇博客讲到了如何编译本地的Fabric Code成镜像文件,那么如果我们想改Fabric源代码,实现一些Fabric官方并没有提供的功能,该怎么办呢?...在Fabric的源代码中,我们看到的所有*_test.go这些就是单元测试的代码。这些代码在正式编译的时候是会被自动忽略的,只有在go test命令的时候才会去运行。...go test -v -timeout 30s github.com\hyperledger\fabric\bccsp 这里我加了2个参数,这两个参数都是在go test的时候很常用的,-v是输出详细信息...执行完毕后,我们可以使用以下命令将cover.out转换为html在浏览器中查看: go tool cover -html=C:\Temp\cover.out 在浏览器中,用绿色表示覆盖,而执行次数,是需要把鼠标放上去才会显示...这是我浏览器显示的覆盖率结果: 二、行为测试 我这里翻译成行为测试可能不一定很可取,英文是BDDTests,BDD是敏捷开发中的一个概念,英文是Behavior Driven Development,

    85220

    Hyperledger Fabric基础知识

    IBM开发的Hyperledger Fabric肯定是最佳选择,尤其在今天这个公链应用不明朗的情况下,使用Fabric开发联盟链应该是最常见也最实用的框架了。...本文概述了什么是Hyperledger Fabric,如何使用它来构建解决方案以及如何在Hyperledger Fabric中执行事务。 什么是Hyperledger Fabric?...MSP是证书颁发机构,以管理用于认证成员身份和角色的证书。在Hyperledger Fabric网络中,所有的节点必须要有认证过的身份才能进行交易。...在Hyperledger Fabric网络上部署链码。 使用SDK开发客户端应用程序。...Hyperledger交易如何执行 Hyperledger Fabric网络中事务的请求流如下所示: 客户端使用Node.js或Java™SDK连接到Hyperledger Fabric网络。

    2.1K10

    超级账本-如何贡献

    所以前阵子顺手翻译了一下Fabric如何贡献相关的官方文档。这篇文章讲解,其中的整体流程和所需用到的工具。...项目管理 正如我们的章程中描述的那样,Hyperledger Fabric是在一个开放治理的模型下管理的。项目和子项目由一系列维护者主导。...您还可以在Hyperledger Chat中将问题发布到相关的相关的Hyperledger Fabric的频道中。...因为没有这些,我们无法知道你的代码是否真的正确地工作。 单元测试需要没有额外的依赖。你应该使用 go test 或者等价的语言的测试方式来运行单元测试。...相关的主题 - 维护者 - 使用Jira来了解当前的工作流项 - 设置开发环境 - 构建Hyperledger Fabric - 配置 - 申请一个Linux Foundation账号 - 使用Gerrit

    1.1K20

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

    在Hyperledger中,不仅开发了单个区块链框架(或平台)。相反,重点是并行采用多种方法,创造协同效应,可重复使用的组件和灵活性。...其他方法更多用于在有限的环境中实施特殊情况。 Hyperledger Fabric ——灵活的区块链应用平台 使用Fabric作为平台,可以开发完全独立的分布式分类帐解决方案。...这为连接到Fabric网络的客户端提供了灵活的数据访问。 使用Composer添加更简单的概念 Hyperledger-Composer是Hyperledger生态系统中的工具之一。...我们不直接使用Fabric概念开发链代码,权限或任何模型,因为Composer提供了更多优势。 实施功能 现在我们在我们选择的目录中创建我们的BND项目。...总结和展望 我们已经了解了Hyperledger项目的重要部分。具体来说,我们现在知道Fabric作为具有基本概念的区块链平台。

    2.1K20
    领券