1.智能合约执行环境:以太坊虚拟智能合约执行环境EVM,fabric执行环境是docker链码是应用层和区块链底层的中间点每一个链码执行环境是一个独立的docker使用GRPC协议与背书节点通信,只有背书节点才能运行智能合约链码的生命周期打包:智能合约的编写和编译安装:将打包好的文件,上传到背书节点实例化:实际安装,执行Init方法,只执行一次,构造函数升级:升级和修复链码交互:自己定义的方法的调
声明:本文的分析是基于fabric 1.4.0版本,其它版本实现类似,具体可以参考本文。N久前,在一次误操作后,链码调用失败,返回信息如下:Error: endorsement failure during invoke. response: status:500 message:"failed to execute transaction a8025cd90781b2d907749adcc558
看了看客户端安装链码的部分,感觉还是比较简单的,所以在这里记录一下。 还是先给出安装链码所使用的命令好了,这里就使用官方的安装链码的一个例子:#-n 指定mycc是由用户定义的链码名字,-v 指定1.0是链码的版本,-p ...是指定链码的路径
peer
目录1.Gateway2.环境准备3.创建基础工程4.创建connectionProfile4.1 配置文件结构说明4.1.1 client4.1.2 channels4.1.3 organizations4.1.4 orderers4.1.5 peer4.1.6 certificateAuthorities5. JAVA工程目录说明6. 实践6.1 创建网关账户6.2 创建网关6.
Fabric v1.4.0安装部署一、前期准备编号工具版本号1cURL最新版(7.63.0)2Docker17.06.2-ce及其以上版本3Docker Compose1.14.0及其以上版本4Go1.11.xcURL最新版安装# 下载最新版的cURL并将其解压到指定目录(此处以/opt目录为例)
wget https://curl.haxx.se/download/curl-7.63.0.tar
链码的编写前言:fabric链码的编写较简单,在熟悉了基本结构和相关API之后就可上手编写,但是要多多练习,提高编写链码的速度和正确度。学习步骤:1.熟悉链码的基本结构2.熟练链码相关API3.练习,练习,练习参考链接:1.链码的基本结构链码的启动必须通过调用shim包中的Start函数,传递一个类型为Chaincode的参数,该参数是一个接口类型,有两个重要的函数Init和Invoke函数,(即
1.链码结构总述这里,链码的开发用的是Go语言,为此需要先简单学习一下Go语言,这是一门轻量级的语言,有意思的是它自带通道,可以并发,就很适合大型分布式系统的开发。 启动链码必须调用shim包中的Start函数,这个函数的参数是一个Chaincode接口类型,Chaincode这个接口类型中有两个方法分别是Init和Invoke,这是链码开发中极为重要的两个方法:Init:在链码实例化或者升级的时
作为区块链应用开发人员,智能合约的开发是必不可少的,在Hyperledger Fabric中,智能合约又称为链玛(chiancode)。 链码的概念链码又称之为链上代码,一般由开发人员使用Golang(java或nodejs)编写,提供分布式账本的状态处理逻辑。链码被部署在Hyperledger Fabric的网络节点上,能够独立运行在安全且受保护的Docker容器中,以gRPC协议与相
尝试使用fabric-sdk-java来连接fabric区块链。fabric的安装可参考 环境准备: JDK1.8、IDEA(带有maven,支持jdk1.8的就可以)IDEA插件安装: 需要安装Protobuf Support插件 &nbs
转载
2023-09-01 13:16:58
390阅读
# Fabric Java SDK安装Java链码
## 引言
[Hyperledger Fabric](
Java作为一种流行的编程语言,在Fabric中也有很好的支持。Fabric Java SDK是一个Java语言的客户端库,提供了一组API,用于与Fabric网络进行交互。本文将介绍如何安装Java链码,并提供一些代码示例,帮助读者更好地理解和使用Fabric Java SDK。
原创
2023-09-01 13:16:53
138阅读
在Hyperledger Fabric中,链码分为两种类型:系统链码和普通链码。其中系统链码是系统内置的链码,用来完成一些系统功能等;普通链码是实现应用业务逻辑的链码。系统链码vs普通链码 系统链码和普通链码的几个不同点,如下表所示:对比项系统链码普通链码链码源码无main函数有main函数运行空间背书节点进程Docker调用方式网络+进程内部网络启动参数内置动态输入通信方式Golang的通
转载
2023-12-14 20:35:14
18阅读
在Fabric的Peer节点添加定制的系统链码Peer节点的默认系统链码调用默认的系统链码添加定制的系统链码创建自定义系统链码的目录及源代码在Peer节点的源码中添加对上述系统链的引用修改core.yaml编译Peer节点并测试编译Peer节点源码测试 Peer节点的默认系统链码Fabric的Peer节点的启动命令一般是peer node start,见下图所示。 这个命令启动Peer节点时,日
一 前言Fabric Chaincode是智能合约在Fabric上的实现方式,是与Fabric区块链交互的唯一渠道,也是生成Transaction的唯一来源。 开发语言:go、java 本文中选用go Fabric节点运行模式有两种:一般模式 Chaincode运行在docker容器里,这种方式开发调试过程非常繁杂:部署—调试—修改—创建docker镜像—部署—···开发模式 相对容易:
HyperLeger Fabric开发(六)——HyperLeger Fabric智能合约(ChainCode)一、链码(Chaincode)简介1、链码简介在Fabric中,智能合约也称为链码(chaincode),分为用户链码和系统链码。系统链码用来实现系统层面的功能,包括系统的配置,用户链码的部署、升级,用户交易的签名和验证策略等;用户链码用于实现用户的应用功能,开发者编写链码应用程序并将其
想写点东西记录一下最近看的一些Fabric源码,本文使用的是fabric1.4的版本,所以对于其他版本的fabric,内容可能会有所不同。
本文想针对Fabric中链码容器的启动过程进行源码的解析。这里的链码指的是用户链码不是系统链码,顺便回顾一下系统链码:lscc(Life Cycle System ChainCode)生命周期系统链码cscc(Configuration System Chai
转载
2023-10-20 21:58:49
103阅读
什么是系统链码fabric 自 1.0 版本开始,将链码分为系统链码和普通链码两种。普通链码(智能合约)用于实现业务逻辑,而系统链码则是用于系统管理,例如 lscc、qscc等。 与普通链码需要独立沙盒环境运行不同,系统链码在 peer 服务启动时随 peer 节点注册,同 peer 节点一起运行。 在 fabric 1.0 版本时,系统链码为固定的 5 个:lscc、qscc、cscc、vscc
转载
2023-11-02 20:27:02
71阅读
Ⅰ 使用 Visual Studio Code 扩展来开发智能合同 原本已经搭建好Fabric V2.0的环境,并希望使用Java语言进行链码、SDK以及web应用的开发。但后来发现V2.0处于Beta(β)测试阶段,链码及SDK部分没有相应版本的示例作为参考,自己曾尝试编写java版本链码向first-network网络中进行部署,也尝试了samples目录下的其他示例中的java链
转载
2023-12-05 08:41:01
26阅读
Fabric 1.0源代码笔记 之 Chaincode(链码)1、Chaincode概述Chaincode,即链码或智能合约,代码分布在protos/peer目录、core/chaincode和core/common/ccprovider目录,目录结构如下:protos/peer目录: chaincode.pb.go,ChaincodeDeploymentSpec、ChaincodeInvocat
转载
2023-12-19 15:31:19
16阅读
HyperLedger/Fabric JAVA-SDK with 1.1 该项目可直接在github上访问。 该项目介绍如何使用fabric-sdk-java框架,基于fabric-sdk-java v1.1正式版开发,可向下兼容1.0版本。 该项目没有对原JAVA-SDK做修改,主要是结合HyperLedger Fabric与fabric-sdk-java中的交互方
# Fabric Java 链码下载教程
在区块链技术中,Hyperledger Fabric 是一个重要的开源项目,它允许开发者构建复杂的分布式账本应用。在 Fabric 中,链码(Chaincode)是指在网络中运行的智能合约,负责处理业务逻辑。如果你想使用 Java 开发链码并下载它,这篇文章将为你提供一个基本的指导。
## 什么是链码?
> 链码是指在 Hyperledger Fab