hyperledger fabric nodejs SDK开发(五)------SDK其他功能

java fabric_【干货干货】hyperledger fabric 之TLS (Fabric-java-sdk) 我在很多fabric的技术群中,很多使用javasdk连接fabric的同友,初始的时候很多都没有成功的使用TLS进行区块链交易;是sdk不支持,还是我们没有找到解决方案?其实不然,我这里使用的是fabric-sdk1.2的版本,是可以的;而且sdk的源码的测试用例也都是使用tls的;那么他肯定是可以完成TLS交易的;我这里使用的环境是单机的fabric1.4.0版本;java-sdk使用是1.2... 阅读详情

SDK其他功能

Class:Channel

1, new Channel(name, clientContext)创建一个通道实例

 Name 通道名  licentContext客户端实例

2, addOrderer(orderer, replace)添加排序节点  节点名 是否覆盖之前同名的节点(boolean)

3,addPeer(peer, mspid, mspid, roles, replace) 添加对等节点

名字 自己的MSPID  正在使用的MSPID 角色  是否覆盖

4,getChannelConfig(target)为通道当前块请求对等节点

5,getChannelConfigFromOrderer()向排序节点获取通道的最新块

6,getChannelPeer(name)通过节点名称获取通道节点

7,getChannelPeers()获取通道所有对等节点 返回一个对等节点list

8,getDiscoveryResults()返回发现结果

9,getGenesisBlock(request)获得创世块承诺

                  Request{ txID:交易Id  ;  orderer:排序节点}

10,getMSPManager()获取通道MSP管理器

11,getName() string获取通道名字

12,getOrderer(name) Orderer获取排序节点的名字或url

13,getOrderers()Array.<Orderer>获取通道的所有排序节点

14,getOrganizations()从MSP获取组织标示符

15,getPeer(name)获取对等节点

16,getPeers()获取所有的对等节点

17,getPeersForOrg(mspid)返回该MSPID的节点列表

18,initialize(request)初始化通道

19,joinChannel(request, timeout)加入通道 request{target:节点对象或节点名称数组,block:创世块的字节码,txId:事务ID}

20,newChannelEventHub(peer)节点创建事件中心

21,queryBlock(blockNumber, target, useAdmin, skipDecode)查询number块上的账本

22,queryBlockByHash(block, target, useAdmin, skipDecode)通过块的hash查询块

23,queryBlockByTxID(tx_id, target, useAdmin, skipDecode)通过事件ID查询块信息

24,queryByChaincode(request)通过链码查询区块链上信息

25,queryInfo(target, useAdmin)查询当前区块的信息(高度等等)26,queryInstantiatedChaincodes(target, useAdmin)查询目标对等点上的实例化链表的分类帐

27,queryTransaction(tx_id, target, useAdmin, skipDecode)通过ID查询目标对等体上的分类帐

28,refresh(request)刷新通道配置

29,removeOrderer(orderer)移除通道url地址的第一个的排序对象30,removePeer(peer)移除对等节点

31,sendInstantiateProposal(request, timeout)向一个或多个节点发送实例化链码

32,sendTransaction(request, timeout) 将包含交易建议背书的建议响应发送到订购者以进一步处理。这是在结构中的事务生命周期的第二个阶段。订购者将在此通道上下文中全局订购事务,并将结果块传递给提交对等方,以便根据chaincode的签约策略进行验证。当提交对等点成功验证事务时,它将在块内将事务标记为有效。在一个块中的所有事务都经过验证并被标记为有效或无效(带有原因代码)之后,该块将被附加(提交)到对等方的通道分类账中。

33,sendTransactionProposal(request, timeout)向一个或多个对等节点发送事务

34,sendUpgradeProposal(request, timeout)向节点发送链码升级

35,setMSPManager(msp_manager)设置MSP管理器

36,toString()

37,verifyProposalResponse(proposal_response)验证单个建议响应的实用方法

Module: api

api. KeyValueStore

new KeyValueStore() 密钥值存储的抽象类

getValue(name) 如果值不存在返回null

setValue(name, value)

api. Key  加密密钥

new Key() 创建一个key对象

getPublicKey() 如果非对称的私钥返回相应的公钥,如果密钥已经公开返回密钥本身

getSKI()返回该密钥的标示符

isPrivate()判断key是否是私有的

isSymmetric()判断是否是对称密钥

toBytes()

api. Hash

new Hash() 生成一个哈希对象

 

 

api. EndorsementHandler

new EndorsementHandler()

<static> create()由生成一个处理程序的实例

endorse(params) (统计?)背书

initialize()初始化通道

api. CryptoSuite

new CryptoSuite()

decrypt(key, cipherText, opts) 使用密钥解密密文

key  密钥   cipher 要解密的密文  解密选项

deriveKey(key, opts)从源公钥派生新的私钥   key源密钥 

encrypt(key, plainText, opts)加密明文

key加密密钥(公钥)  plainText 明文   加密选项

generateEphemeralKey()

generateEphemeralKey()生成一个短暂的密钥

generateKey(opts)生成密钥 

getKey(ski)通过密钥标示符返回与之关联的密钥

api. CommitHandler

new CommitHandler()

<static> create()创建一个处理程序的实例

commit(params)承诺参数

initialize()初始化通道

Class: BaseClient

Client 的基类

Class: BasePackager

findMetadataDescriptors(filePath)查找元数据描述符 (只有。Json的结果才会返回)

findSource(filepath)寻找路劲下的链码资源

generateTarGz(descriptors, dest) 根据提供的描述符条目创建一个.t.gz流

isMetadata(filePath)判断是否为元数据描述符文件

isSource(filePath)判断是否为有效的源代码

package(chaincodePath, metadataPath) request.chaincodePath下的所有文件都会被包含到一个存档文件中 

packEntry(pack, desc) 给定{fqp,name}元组,生成一个tar条目,该条目包含从文件系统读取的可读头和填充内容。

Class: BasicCommitHandler

是CommitHandlerAPI的一个实现   提交事务给一个排序节点(一次向一个)

new BasicCommitHandler(channel)绑定通道

<static> create(channel) 工厂方法来创建提交器处理程序的实例。

commit(params)向一个或多个对等节点发送已认可的事物

initialize()通道初始化函数执行时这个函数会被调用

 

Class: BlockDecoder

实用程序类   用于把块的信息的protobuf编码字节数组转化为纯JavaScript对象

new BlockDecoder()

<static> decode(block_bytes) 构造一个json对象存块的字节码信息

<static> decodeBlock(block_data) 构造一个对象,该对象包含来自原始Bufff编码的“块”对象的所有解码值。

<static> decodeTransaction(processed_transaction_bytes)构造一个Transaction解码值对象

Class: ChannelEventHub

有三种方法  对快 ,信道 ,事件

new ChannelEventHub(channel, peer)

registerBlockEvent(onEvent, onError, options)注册一个块监听器

registerChaincodeEvent(ccid, eventname, onEvent, onError, options)注册一个信道监听器

registerTxEvent(txid, onEvent, onError, options)注册一个事件监听

注销:

unregisterBlockEvent(block_registration_number, throwError)

unregisterChaincodeEvent(listener_handle, throwError)

unregisterTxEvent(txid, throwError)

 

Class: Client

<static> loadFromConfig(config) 加载网络配置对象或加载JSON文件并返回客户端对象

createChannel(request)调用Orderer生成新通道

newEventHub()返回一个eventHub对象

Class: CouchDBKeyValueStore

new CouchDBKeyValueStore(options)

options:url形式为http(s)://:@host:port    name名字

getValue(name)取值

setValue(name, value)存值

Class: CryptoSuite_ECDSA_AES

Ecdsa的实现

new CryptoSuite_ECDSA_AES(keySize, hash)

keysize  256-384    hash Optional. Hash algorithm, supported values are "SHA2" and "SHA3"

decrypt()解密实现模块

deriveKey()生成私钥

encrypt()加密

generateEphemeralKey()生成一个短暂的钥匙

generateKey(opts)生成密钥

getKey(ski)获取密钥

hash()生成消息的散列

importKey(pem, opts)

<abstract> setCryptoKeyStore(cryptoKeyStore)设置加密仓库

sign(key, digest)签名摘要

verify(key, signature, digest) 根据密钥和摘要验证签名

Class: CryptoSuite_PKCS11

支持硬件安全模块的PKCS#11兼容实现。

Class: DiscoveryEndorsementHandler

EndorsementHandler API的实现

Class: ECDSA_KEY

module:api.Key的实现

Class: EndorsementPolicy

管理要传递到调用中以实例化chaincode的支持策略的构造。

<static> buildPolicy(msps, policy) 构建一个背书策略信封。如果不存在可选的“policy”对象,则返回默认策略“来自与成员服务提供者数组相对应的任何组织的任何成员的签名”。

Class: TransactionID

生成一个事件ID

Hyperledger Fabric java sdk 链码访问快速上手【无痛】 在超级账本Fabric区块链中,应用通过节点的RPC协议接口访问链码。Java应用可以使用官方提供的Fabric-sdk-java开发包来实现对链码的访问,开发包封装了Fabric区块链的GRPC链码访问协议,有利于开发人员聚焦于业务逻辑。不过Fabric-sdk-java的文档质量保持了Hyperledger Fabric产品一贯的不知所云,看起来实在是... 阅读详情

相关推荐

超级账本HyperLedger:Fabric nodejs SDK的使用(附视频讲解)

作者: 李佶澳   转载请保留:原文地址   发布时间:2018/04/25 11:11:00 说明 准备合适的node版本 用npm管理依赖包 Example 参考 说明 这是“网易云课堂IT技术快速入门学院”使用的素材。 操作、配置文件和代码讲解视频在网易云课堂《HyperLeger Fabric进阶实战课》第五章中。 当前(2018-04-25 11:16:23)fabric...

IT技术快速入门学院的博客 2181

transfer balance 解析及深度追踪(二)创建通道

一 代码解析 var createChannel = function(channelName, channelConfigPath, username, orgName) { logger.debug(’\n====== Creating Channel ‘’ + channelName + ‘’ ======\n’); var client = helper.getClientForOrg(o...

weixin_39548421的博客 844

编写你的第一个hyperledger fabric network程序

Writing Your First Application 编写你的第一个程序。 本文档的目标是使阅读本文档的人能基于HyperLedger Fabric Network编写自己的第一个程序。 在这个程序里,我们提供最基本的功能: 用户能在账本中查询一条数据或者用户更新账本中的一条数据。 我们的程序是使用JAVASCRIPT编写,运行在NODEJS平台上。 此文档将会指导你通过三步去

ShareBoy 4548

fabric java_Fabric Java SDK最新教程

Fabric Java SDK是Fabric区块链官方提供的用于Java应用开发的SDK,全称为Fabric-sdk-java,网上可用资料不多,本文列出了精心整理的针对Fabric Java SDK的最新精选教程。如果希望快速掌握Fabric Java SDK的使用方法,建议访问汇智网的在线互动教程:1、官方文档使用Fabric Java SDK开发必备的手册,从Java SDK源代码注释生成的...

weixin_33042659的博客 1097

Hyperledge Fabric——SDK简介

Farbric的Peer节点和Orderer节点都提供了基于gRPC协议的接口,用于和Peer节点与Orderer节点进行命令/数据交互。为了简化开发,为开发人员开发应用程序提供操作Fabric区块链网络的API,Fabric官方提供了多种语言版本的SDK。 Fabric提供了三种语言版本的SDK,分别如下: A、Fabric Nodejs SDK B、Fabric Java SDK C、Fabric Go SDK Fabric区块链应用可以通过SDK访问Fabric区块链网络中的多种资源,包括账本、交易、

区块链领域填坑的java程序猿 914

45. Fabric2.2 事件监听机制应用

本节全面讲述Fabric事件监听机制,并用实际客户端代码演示事件监听的特点、特性。

菜鸟的博客 2768

fabric-sdk-java+springboot实现invoke,query,enroll等示例(3)

一,简介 这里介绍一下fabric-sdk-java的使用,网络环境是基于fabric1.4.0的。当然在低版本的fabric网络中也是适用的。只是在第二部分,启动 修改fabric网络为不启用TLS 部分,启动网络环境的方式不太相同。高版本(1.4.3及以后)的需要修改一些东西, 例如将后面配置文件中的admincerts改成signcerts,为了保证顺利启动,建议还是直接启动1.4.0网...

让代码飞 1万+

5分钟看懂LTE注网全流程:从PLMN选择到小区驻留的log分析技巧

本文深入解析了LTE终端从开机到成功驻留小区的完整流程,重点分享了基于QXDM和QCAT工具的log分析实战技巧。文章详细拆解了PLMN选择、System/Band扫频、小区搜索与同步、系统消息解析及驻留等关键步骤,并提供了高频问题场景的排查思路,帮助网络优化工程师快速定位终端侧、射频环境或网络配置问题。

app77的博客 432

Hyperledger Fabric 实战(1) fabric-sdk-node

Hyperledger Fabric 实战(1) fabric-sdk-node 关于Fabric SDK安装环境建node服务器invoke方法内容如下:query方法内容如下:注意 关于Fabric SDK 目前Fabric官方提供了四种语言版本的SDK,分别如下: 1 Fabric Nodejs SDK 2 Fabric Java SDK 3 Fabric Go SDK 4 Fabric P...

SoySauce_lm的博客 8211

Transformer是什么?看完这篇你就醍醐灌顶

前言 由谷歌团队提出的预训练语言模型BERT近年来正在各大自然语言处理任务中屠榜(话说学者们也挺有意思的,模型名都强行凑个芝麻街的人物名,哈哈哈)。 BERT算法的最重要的部分便是Transformer的概念,它本质上是Transformer的编码器部分。 而Transformer是什么呢?transformer是永远的神,自从transformer使用了抛弃rnncnn的纯attention机制之后,各种基于transformer结构的预训练模型都如雨后春笋般雄起,而transformer中最重要就是使用

fs1341825137的博客 6万+

量化交易 米筐 因子分组打分(成长因子)

分组动手练习 在米筐上因子数据没有处理,提供的很多因子没有默认分类,存在一些因子没有的情况,我们就选择一些常见的因子。 价值因子 质量因子 成长因子(历史名称) pe_ratio return_on_invested_capital in_revenue pcf_ratio du_return_on_equity inc_eps pb_ratio return_on_asset_net_profit inc_total_asset market_cap return_on_equ

廷益_飞鸟的博客 932

hyperledger fabric nodejs SDK开发(一)------SDK管理员注册机制

SDK开发 在确定了开发的智能合约,我们必须为合约开发搭建合适的API,实现应用调用API,实现区块链服务的成功调用。我曾经尝试使用Composer 进行开发搭建。Composer 目前支持的fabric版本在1.2,而组织demo支持运行的1.0版本。简单的说 , hyperledger composer 是一个集成工具,他能更快的开发区块链应用。它能定义资产,参与者,事务方法(智能合约),权...

Rcvisual的博客 1740

手把手教你学Simulink——基于Simulink的模糊自适应PI调节FOC电流环

本文提出基于模糊自适应PI控制的FOC电流环优化方案,针对传统PI控制参数固化、抗扰性差等问题,通过模糊逻辑在线调整PI参数。方案采用双输入(电流误差及变化率)和三输出(ΔKp/ΔKi/PI调节)结构,实现动态响应时间<30μs(提升38%)、超调<5%(降低71%)、参数摄动下误差<±0.4A(精度提升73%)。详细介绍了Simulink建模步骤,包括模糊规则设计(7语言变量、49条规则)、隶属度函数配置及自适应PI实现逻辑,并提供实机部署建议。仿真结果表明,该方法显著提升系统鲁棒性,特

MHD0815的博客 79

Hyperledger Fabric PHP SDK

Hyperledger Fabric PHP SDK是社区提供的用于Hyperledger Fabric区块链应用开发的软件包,其目的在于为PHP应用提供访问Hyperledger Farbic区块链的能力,例如:创建通道、安装链码、访问链码等等。 如果希望快速掌握Fabric区块链的链码及应用开发,建议访问汇智网的在线互动课程: Fabric区块链Java开发详解 Fabric区块链Node...

mongo_node的专栏 464

mbedtls | 01 - 移植mbedtls库到STM32的两种方法

一、mbedtls 开源库 1. mbedtls是什么 Mbed TLS是一个开源、可移植、易于使用、代码可读性高的SSL库。可实现加密原语,X.509证书操作以及SSL / TLS和 DTLS 协议,它的代码占用空间小,非常适合用于嵌入式系统。 mbedtls遵循 Apache 2.0 开源许可协议,目前由 TrustedFirmware 维护(Linaro主持的一个治理开放社区项目),在Github上已收获 2.6k star,目前Github上发布的最新版本为 2.24.0 版本,开源仓库地址为:

Mculover666的博客(嵌入式) 1万+

Oracle EBS GL日记账批“选定以过账”状态数据修复

日记账来源:应收账款。用户操作过账以后,自动提交请求“过账:单一分类账”一直运行中,该请求执行5,6个小时甚至10多个小时无法完成,导致“标准管理器”阻塞大量请求待定,“冲突解决管理器”的待定数量不断增加。系统管理员不得不把该请求强制取消,此时,日记账批的状态处于“选定以过账”(GL_JE_BATCHES.STATUS为S),如下图 检查此日记账批有3千多条日记账题头,由于日记账比较多,日记账的科目余额计算需要大量服务器资源和执行时间比较长。

陈显平的专栏-Oracle EBS 3244

ES8388音频Codec寄存器配置实战:从录音到播放的完整指南

音频Codec是嵌入式系统中连接数字音频处理器与模拟声音世界的桥梁,而寄存器配置则是掌控Codec行为的核心手段。在Linux音频驱动开发中,理解I2C/I2S总线上数据传输与寄存器映射关系,是定位无声、杂音、爆音等问题的关键。ES8388作为电视盒子、智能音箱等领域广泛应用的音频Codec,其寄存器布局规整,覆盖电源管理、时钟分频、ADC/DAC通路、混音输出等完整链路。通过掌握从软复位到电源时序、从接口格式到增益调节的配置顺序,工程师可以系统化地完成录音与播放通路的初始化。本文结合真实项目经验,详解ES

weixin_34348174的博客 409

YoloV8优化:感受野注意力卷积运算(RFAConv),效果秒杀CBAM和CA等 | 即插即用系列

感受野注意力卷积运算(RFAConv),解决卷积块注意力模块(CBAM)和协调注意力模块(CA)只关注空间特征,不能完全解决卷积核参数共享的问题

①答疑群聊服务;②YOLO大模型知识问答系统;③计算机视觉论文生成智能体; 4263

hyperledger fabric nodejs SDK开发(二)------SDK用户注册机制

SDK用户注册机制 'use strict'; /* * Register and Enroll a user //注册用户 */ var Fabric_Client = require('fabric-client'); var Fabric_CA_Client = require('fabric-ca-client'); var path = require('pat...

Rcvisual的博客 1433

一文搞懂数据标注

数据标注即通过分类、画框、标注、注释等,对图片、语音、文本等数据进行处理,标记对象的特征,以作为机器学习基础素材的过程。简言之,就是需要给数据做好标注,这样机器就能知道学习哪些内容。

女王の专属领地 9933

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

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

Fabric 019 NodeJs-SDK

简介 此篇文章重点介绍Nodejs-SDK中部分常用的方法,为了便于理解方法的使用,故按照不同功能划分并释义;其中可能在一个功能中涉及到了很多个类方法的使用。 创建、更新Channel通道 client.extractChannelConfig(config_envelope) 从configtxgen工具生成的ConfigEnvelope对象中提取protobuf结构的ConfigUp...

水野与小太郎的博客 912

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Hyperledger Fabric Rest API服务开发教程【含源码】

Hyperledger Fabric Rest API服务开发教程【含源码】 Hyperledger Fabric 提供了软件开发包/SDK以帮助开发者访问fabric网络 和部署在网络上的链码,但是Hyperledger Fabric官方没有提供简单易用的REST API访问接口,在这个教程里我们将学习如何利用Hyperledger Fabric的SDK 来开发REST API服务器。 ...

周红伟讲AI 8769

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Hyperledger Fabric SDK

多个版本的SDK目前有5个版本的SDK 由官方在维护,其中node版本的SDK是最稳定,最全面的。官方关于SDK的实例就是使用的node版本的SDK,我们后面介绍的也是这个。 fabric-sdk-node fabric-sdk-java fabric-sdk-go fabric-sdk-py fabric-sdk-rest Fabric SDK for Node.js它提供了一个功能强大的API来

BigManing的博客 4878

hyperledger Fabric node sdk 1.4 简明教程

hyperledger fabric的node sdk最新版本为1.4,本文将介绍如何使用最新版本的fabric node sdk开发node.js应用,以实现与fabric区块链的交互,例如查询链码状态,或者提交链码交易。 本文分五个部分来介绍node.js开发人员如何快速上手fabric node sdk: 工作原理:介绍fabric node sdk的工作机制与实现原理 身份标识:介绍在f...

mongo_node的专栏 616
上一篇: hyperledger fabric nodejs SDK开发(四)------SDK修改账本机制
下一篇: 关于区块链数字身份认证应用思考
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值