自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 收藏
  • 关注

原创 Go基础篇:RWMutex实现原理

i++ { //10个Reader go func() { for { counter.Count() //计数器读操作 time.Sleep(time.Microsecond) } }() } for { //一个writer counter.Incr() //计数器写操作 time.Sleep(time.Second) } }在 Lock 方法中,先获取内部的互斥锁接着修改其他字段,但在 Unlock 中,却是先修改其他字段接着才会释放内部的互斥锁,这样才能保证字段的修改的同时会受到互斥锁的保护。

2024-02-12 00:43:43 964 1

原创 Gtihub不绑定手机号不用GooglePlay如何最快完成二次验证!

对github有代码贡献的帐号要求进行2FA验证, 否则过期不能提交代码。但是github手机短信验证不支持中国号码,剩下两种方式为: - totp应用 - 浏览器扩展因为本人手机无法使用google Play安装totp应用,这里介绍我正在使用的方式-浏览器扩展。

2024-01-31 15:00:05 417

原创 什么是区块链的层级结构

近期年底,逐渐开始总结区块链相关内容区块链技术发展迅速,了解其分层架构至关重要。本文将总结第 1 层、第 2 层和第 3 层区块链的主要区别和功能。从虚拟货币到供应链管理,各行各业都将区块链技术视为一种革命性力量。然而,随着技术的逐渐成熟,它也变的越发复杂,其发展的速度之快对可扩展性的需求成倍增加。要实现这种复杂性和可扩展性,核心要点就是在区块链中解耦分层。在本文中,我们将重点介绍这些分层(第一层、第二层、第三层)的主要区别、功能及用例。第 1 层区块链是验证和最终完成交易的基础区块链。

2024-01-30 22:00:54 1987

原创 存证溯源案例5.0溯源方法介绍与应用案例

我们通常基于指定Key,来查询相对应记录的键值对,通过该方法查询某记录(键值对)的历史信息,包含创建、修改、删除的所有状态信息。Next()方法返回一个具体的记录结果我们通过调用Value方法获取相应值内容,其中TxID则为该记录的交易ID,timestamp为执行该交易的具体时间,isDelete则表示该记录是否是删除操作。下文为具体使用方法。

2024-01-29 22:44:49 381

原创 存证溯源案例4.0 富查询使用方法

开发fabric智能合约实战案例-存证溯源案例,本篇主要介绍链码中富查询使用方法及案例应用。富查询无需使用索引,但使用索引的查询会更有效率。其中前者用于单记录查询,后者用于范围查询。

2024-01-29 20:33:52 243

原创 数字人民币可编程如何重塑商业信任

综上所述,数字人民币智能合约可以解决目前所存在的资金监管问题,如房地产资金监管、政府资金转款专用,也可以解决转款专用的问题,通过数字人民币优惠券化,既从发行方进行了约束,无法随意挪用,也从接收方进行了约束,只能用于特定场景,而不能随意使用。

2024-01-27 22:04:58 1791

原创 Hyperledger fabric智能合约实战--存证溯源案例3.0索引使用方法

数据库的索引和我们书籍目录相似,有了索引,我们不需要翻阅整本书,只需要查看目录就知道我们要的内容在哪儿,并且直接定位到,这种方式能大大提高我们的查找效率。作为链码数据库的LevelDB 也不例外,LevelDB 提供以下两个接口来用于构建索引我们使用来构建索引,其逻辑为:err!= nil {err!= nil {...

2024-01-24 10:00:00 393

原创 Hyperledger fabric智能合约实战--存证溯源案例2.0

本文分享如何使用` Go` 语言和`Fabric 2.0链码`开发fabric智能合约实战案例-存证溯源案例,本篇主要介绍K-V数据库的ID一致性、范围查询的使用方法、K-V数据库范围查询的弊端以及解决方案

2024-01-23 22:25:45 488 1

原创 数字身份是啥?

比如,一个求职者要进入某写字楼面试,写字楼的保安要求登记身份证号码和姓名,但我们的VC中还包含了民族、住址等信息,我们求职者不希望自己的住址暴露给保安,所以他提供给保安的VP中应该只选择性的披露身份证号码和姓名,其他信息选择不披露。传统的PKI系统中数字证书是认证的核心,由权威的CA机构签发的中心结构可能存在性能问题,另一方面,单中心的结构容易使其成为攻击的目标,一旦上级CA机构被攻破,则与之相关联的下级CA也会受牵连。下面的proof是用户对VC的签名数据,表示该VP是这个用户亲自出具的。

2024-01-18 09:00:00 415 1

原创 Hyperledger fabric智能合约实战--存证溯源案例1.0

fabric中的ledger分为两部分内容,一部分是基于文件的存储,基于文件的存储满足区块链不可篡改的特性,此种方式存储基本是采用Merkle Tree,整个存储的方式是只能追加,不能删除和修改。另一部分则是使用数据库进行存储此种方式在fabric中叫做world state,如leveldb、couchdb等K-V数据库(也叫状态数据库,state DB),使用此类数据库的优势是数据库只存储当前的最新值,便于业务的拓展,这样可以很快的查找到当前的值,而无需通过遍历的方式来查找。####1、导入包的不同。

2023-11-15 22:09:58 249

原创 fabric的身份认证组件

区块链网络中的不同参与者分别有 peer(节点)、orderers(排序)、client applications(客户端应用程序),administrators(管理员)等。每个参与者都有一个X.509数字证书中的数字身份。这些身份决定了参与者在区块链网络中对梓源和信息访问的具体权限。此外,数字身份还有一些额外属性,fabric利用这些属性来确定权限,并给身份和相关属性的组合命名为principal。principal同userID或groupID相似,但更加灵活。

2023-11-05 15:00:16 226 1

原创 HyperledgerFabric Gateway SDK最新版1.3.1开发总结

新版gateway中,客户端通过调用client.Connect(),传入带有客户端表示、客户端签名和客户端连接详细信息,来建立与fabric gateway的链接,返回的对象可用于访问fabric中的智能合约或获取fabric区块链上信息。旧版fabric-go-sdk中,Gateway对象是使用Connect()创建,用于使用存储在钱包中的身份连接到网络配置文件中指定的网关peer节点,然后在此网关链接的上下文中调用与智能合约交互。

2023-10-29 22:24:15 604 1

原创 Hyperledger fabric智能合约编写(四)单元测试

在本文中可以学习如何对fabric智能合约中的方法进行单元测试,方便我们在不部署链码的条件下,能够高效的调试代码

2023-10-29 19:51:47 151 1

原创 Hyperledger fabric原理 MSP详解

如果你读过这个文档以及官方关于 身份的文档,你应该对身份和成员在 Hyperledger Fabric 中的作用有了很好的理解。您了解了如何使用 PKI 和 MSP 来识别在区块链网络中协作的参与者。您学习了证书、公钥、私钥和信任根的工作原理,以及 MSP 的物理和逻辑结构。

2023-10-29 08:00:00 362 1

原创 Hyperledger fabric智能合约编写(二)账本操作

Chaincode 是一个用 Go、Node.js 或 Java 编写的程序,它实现了一个规定的接口。Chaincode 在独立于对等程序的进程中运行,通过应用程序提交的交易初始化和管理分类账状态。链码通常处理Channel成员许可后的业务逻辑,因此类似于 “智能合约”。链码可在交易中被调用,用于更新或查询分类账。在获得适当权限的情况下,一个 chaincode 可以调用同一通道或不同通道中的另一个 chaincode 来访问其状态。请注意,如果被调用的链码与调用链码在不同的通道上,则只允许读取查询。

2023-10-28 01:15:33 146

原创 Hyperledger fabric部署链码(五)初始化与链码升级

链码定义提交到channel后,将在安装链码的通道的peer节点上启动。asset-transfer (basic) 链码现在可以由客户端应用程序通过命令行直接调用。使用以下命令在ledger上创建一组初始资产(初始化)。请注意,调用命令需要针对足够数量的peer(包含多个组织),以满足链码认可策略。(注意 CLI 无法访问 Fabric Gateway 对等peer,因此必须指定每个背书对等peer。

2023-10-27 18:27:33 136 1

原创 Hyperledger fabric智能合约编写(三)背书策略

与链码级背书策略类似,在批准和提交链码定义时,也可以指定链码的私有数据集合和相应的集合级背书策略。集合级背书策略的语法与链码级背书策略的语法完全相同–在集合配置中,您可以用签名策略(signaturePolicy)或通道配置策略(channelConfigPolicy)指定背书策略。背书策略定义了需要哪些组织的认可(背书)才能执行交易。同链码级背书策略相比,集合级背书策略限制性更小些,我们可以二者结合使用,比如即要求大多数组织认可(背书)链码交易,也要求特定组织认可(背书)包含特定集合Key的交易。

2023-10-26 00:11:15 306 1

转载 Hyperledger fabric智能合约编写(一)

从官方的fabric-samples提供的各种简单的Go链码中可以看到,一般我们链码方法都是自定义一个SmartContract struct, 里面包含了comtractapi包中的Contract struct。同时ContractChaincode实现了Chaincode接口,该接口是fabric每一个链码都必须实现的接口,里面提供了Invoke和Init方法,这就是fabric1.x链码的交互接口,fabric2.x链码实现就是对fabric1.x进行封装,便于开发人员链码编写。

2023-10-25 21:58:23 259 1

原创 Hyperledger Fabric相关概念介绍

::successHyperledger Fabric 是一个开源的企业级许可分布式账本技术(Distributed Ledger Technology,DLT)平台,专为在企业环境中使用而设计。Fabric 具有高度和的架构,可为各行各业的业务提供创新性、多样性和优化,其中包括银行、金融、保险、医疗保健、人力资源、供应链甚至数字音乐分发。Fabric 是第一个支持。

2023-10-25 21:57:09 121 1

原创 Hyperledger fabric部署链码(四)提交链码定义到channel

在足够多的组织批准了链码定义后,任意一个组织就可以将链码定义提交到通道。(如果大多数通道成员都批准了该定义,提交事务就会成功,反之,如果没有先让大多数通道成员批准该链码定义,提交事务就会失败)命令将链码定义提交到通道。提交命令也需要由组织管理员提交。

2023-10-25 21:54:11 50 1

原创 Hyperledger fabric部署链码(三)批准链码定义

在测试环境中,Channel有两个组织,基于策略,我们的asset-transfer(basic)的chaincode部署需要Org1和Org2的同意。在打包chaincode并提交到fabric后,您需要为您的组织批准此chaincode定义。packageID是链码label和二进制文件哈希值的组合,每个peer都会生成相同的packageID。以下为Org1 peer的批准链码命令,需重新配置上文的Org1 peer的环境变量。Org1 peer的批准链码命令。Org2 peer的批准链码命令。

2023-10-25 21:53:07 83 1

原创 Hyperledger fabric部署链码(二)安装链码到fabric

由于我们的测试网络设置的背书策略,要求来自 Org1 和 Org2 的背书,因此我们需要在这两个组织运营的。将生成并返回软件包标识符。该软件包标识符将在下一步中用于批准链码。打包智能合约asset-transfer (basic)后,我们就可以在。链码需要安装在每一个为交易背书的。在Org2 peer上安装链码。在peer上安装链码。

2023-10-25 21:52:02 134 1

原创 Hyperledger fabric部署链码(一)打包链码

Hyperledger Fabric 是 Hyperledger (超级账本)中的区块链项目之一,也是经典的联盟链之一。它有一个账本,使用智能合约,由参与者管理交易的系统,但它又不完全去中心化,即想要加入联盟的成员们需要从可信赖的成员服务提供者(MSP)注册,以下是一些相关概念的介绍。

2023-10-25 21:51:15 428 1

原创 Hyperledger fabric测试环境部署

Hyperledger Fabric 是 Hyperledger (超级账本)中的区块链项目之一,也是经典的联盟链之一。它有一个账本,使用智能合约,由参与者管理交易的系统,但它又不完全去中心化,即想要加入联盟的成员们需要从可信赖的成员服务提供者(MSP)注册,以下是一些相关概念的介绍。

2023-10-25 21:49:35 171

原创 EOSIO体系简述

Cleos(CLI + EOSIO = cleos)是一个与 nodeos 交互的命令行界面,可以向区块链发送命令和操作。Cleos 还能与 keosd(key + EOSIO = keosd)交互,keosd 是一个本地组件,能安全地存储 EOSIO 密钥。EOSIO.CDT 是 WebAssembly (Wasm) 的工具链,也是一套便于为 EOSIO 平台编写合约的工具。除了是一个通用的 WebAssembly 工具链外,还提供了针对 EOSIO 的优化,以支持构建 EOSIO 智能合约。

2023-10-25 21:48:30 89

原创 EOSIO区块链概念介绍

EOSIO 平台实施了一种经过验证的去中心化共识算法,能够满足区块链上应用程序的性能要求,这种算法被称为 “委托权益证明”(DPOS)。在基于 EOSIO 的区块链中,CPU 代表行动的处理时间,单位为微秒(μs)。在基于 EOSIO 的区块链中,RAM 是区块链账户和智能合约消耗的重要系统资源之一。因此,开发人员可以将该区块链作为一个可信的计算环境,其中智能合约的输入、执行和结果都是独立的,不受外部影响。区块链历史中的任何交易或变化都是可追溯和可审计的,因此,区块链历史是透明的。

2023-10-25 21:47:48 218

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除