魔豹联盟佛萨奇2.0开发正式版丨魔豹联盟佛萨奇2.0系统开发(详细及流程)丨魔豹联盟佛萨奇2.0开发源码模式

简介: #版本version:1.0.0#client配置client:#客户端默认使用的组织organization:Org1 logging:#sdk日志级别level:info tlsCerts:systemCertPool:false client:#用户TLS私钥路径 key:path:/release_path/config/fabric/crypto-config/peerOrganizations/org1.example.com/users/User1 org1.example.com/tls/client.key#用户TLS证书路径cert:

  主要步骤:

  长安链调度模块将所有交易并行执行,并在执行中将所有交易的写操作都记录在内存缓存中;

  每笔交易执行结束后,检查自己读集中所有的key是否被其他交易修改,若无则将该交易写集生效(ApplyTxSimContext),若被其他交易修改则将该交易重新加入待执行队列重新执行;

  待所有交易执行完毕后,通过分析所有交易的读写集构建DAG。若交易间存在“读-写”、“写-读”、“写-写”冲突,根据执行时的先后顺序构建DAG中的边。

  因存在冲突的交易执行时间存在随机性,最终构建的DAG也无法预测,所以此算法为随机性调度算法。在进行冲突检测时,长安链应用了位图等数据结构进行工程优化,极大地提升了交易的执行效率。

  在长安链中,交易池负责接收、校验、转发和缓存节点收到的待处理交易,并在共识提案时为核心引擎模块提供一批有效的交易进行区块构造。

  具体来说,交易池具有如下功能:

  接收客户端发送过来的交易,并将有效的交易广播给其他的节点;

  对交易ID、时间戳、签名等进行有效性检查以及交易是否存在“双花”的防重检查;

  缓存交易,并在共识提案时为核心引擎模块提供一批有效的交易;

  Fabric SDK配置文件

  fabric_sdk.yml配置文件如下:

  注意:SDK配置文件中的路径请使用绝对路径。

  #版本version:1.0.0#client配置client:#客户端默认使用的组织organization:Org1 logging:#sdk日志级别level:info tlsCerts:systemCertPool:false client:#用户TLS私钥路径 key:path:/release_path/config/fabric/crypto-config/peerOrganizations/org1.example.com/users/User1 org1.example.com/tls/client.key#用户TLS证书路径cert:

  path:/release_path/config/fabric/crypto-config/peerOrganizations/org1.example.com/users/User1 org1.example.com/tls/client.crt#通道信息channels:#通道名mychannel:#peer节点列表peers:#peer节点名peer0.org1.example.com:endorsingPeer:true chaincodeQuery:true ledgerQuery:true eventSource:true peer1.org1.example.com:

  endorsingPeer:true chaincodeQuery:true ledgerQuery:true eventSource:true#组织信息organizations:#组织名org1:#组织mspId mspid:Org1MSP#该组织下的节点列表peers:-peer0.org1.example.com-peer1.org1.example.com#组织用户

  users:#用户名,固定为user,user:#用户私钥路径key:path:/release_path/config/fabric/crypto-config/peerOrganizations/org1.example.com/users/User1 org1.example.com/msp/keystore/8cc7e53b2b2f3095b985139f667b260988afa3dad2c0ff24cb9e45fb93d77970_sk cert:path:/release_path/config/fabric/crypto-config/peerOrganizations/org1.example.com/users/User1 org1.example.com/msp/signcerts/User1 org1.example.com-cert.pem#节点信息peers:#peer节点名

  peer0.org1.example.com:#peer节点url url:grpcs://localhost:7051 grpcOptions:#peer节点TLS中的SNI,使用节点名ssl-target-name-override:peer0.org1.example.com keep-alive-time:0s keep-alive-timeout:20s keep-alive-permit:false fail-fast:false allow-insecure:false tlsCACerts:path:/release_path/config/fabric/crypto-

  config/peerOrganizations/org1.example.com/tlsca/tlsca.org1.example.com-cert.pem#peer节点名peer1.org1.example.com:#peer节点url url:grpcs://localhost:8051 grpcOptions:#peer节点TLS中的SNI,使用节点名ssl-target-name-override:peer1.org1.example.com keep-alive-time:0s keep-alive-timeout:20s keep-alive-permit:false fail-fast:false

  config/peerOrganizations/org1.example.com/tlsca/tlsca.org1.example.com-cert.pementityMatchers:peer:-pattern:(w)peer0.org1.example.com(w)mappedHost:peer0.org1.example.com-pattern:(w)peer1.org1.example.com(w)mappedHost:peer1.org1.example.com

  

相关文章
|
供应链 监控 安全
企业如何搭建自己的联盟链 | 区块链落地项目运用开发
企业如何搭建自己的联盟链 | 区块链落地项目运用开发
|
6月前
|
开发框架 运维 监控
公链开发详情丨公链联盟链系统开发指南步骤/功能设计/项目案例
公链系统开发是一项复杂而综合的任务,涉及多个层面和环节。下面将为你提供一个大致的公链系统开发操作流程,涵盖了一些关键细节:
|
8月前
|
运维 物联网 开发者
蚂蚁集团mPaaS平台与华为达成合作 加速上千家App“鸿蒙化”进程
11月23日,蚂蚁集团数字科技事业群旗下mPaaS与华为举行鸿蒙合作签约仪式,双方宣布将在鸿蒙产业创新、技术应用、商业发展等方面展开深入合作。随着mPaaS完成鸿蒙系统适配,将进一步丰富政务民生应用的国产系统兼容性,使更多伙伴、开发者和用户从中获益,并更好促进移动应用生态的繁荣及移动端体验的升级。
363 0
|
算法 安全 区块链
趣玩联盟合约系统开发方案
区块链是一种去中心化的分布式账本技术,它将数据按照一定的规则以区块的形式链接在一起
|
供应链 算法 区块链
联盟链技术开发 | 联盟链开发团队
随着区块链技术的发展,联盟链已经逐渐成为了企业级应用区块链的首选方案。我们将从技术开发的角度探讨如何使用联盟链技术来构建可靠、高效的企业级区块链应用。作为一家专业的联盟链开发团队,我们团队在联盟链开发,公链开发这块已经深耕多年,目前已经拥有联盟链技术开发相对成熟经验,本文将重点为大家介绍关于联盟链的技术开发。
魔豹联盟佛萨奇2.0源码系统开发搭建(成熟技术)
魔豹联盟佛萨奇2.0源码系统开发搭建(成熟技术)
107 0
|
区块链
区块链互助系统模式开发规则 | 区块链互助系统开发源码示例
区块链互助系统是一种基于区块链技术的分布式互助平台,它采用去中心化的方式,通过智能合约来实现互助计划,所有信息对全网络公开透明。在区块链互助系统中,每个会员都可以获得一个惟一的身份地址,可以记录其在互助系统中的参与情况和贡献值。同时,系统会根据会员的参与情况和贡献值,给予相应的奖励和优惠政策。
|
达摩院 供应链 算法
重磅发布 | 阿里云与钉钉官方出品,《数智化敏捷组织》正式发行!
重磅发布 | 阿里云与钉钉官方出品,《数智化敏捷组织》正式发行!
268 0
|
存储 算法 IDE
魔豹联盟佛萨奇2.0系统丨魔豹联盟佛萨奇2.0系统开发技术详情丨魔豹联盟佛萨奇2.0开发代码部署
DAPP is the abbreviation of Decentralized Application,which is called Distributed Application/Decentralized Application in Chinese.Generally speaking,different DAPPs will adopt different underlying blockchain development platforms and consensus mechanisms,or issue tokens by themselves(or use univers