MetaForce佛萨奇2.0系统开发(升级版)丨MetaForce佛萨奇2.0系统开发详细(dapp智能合约开发源码)

简介: 网络应用层:是指使用Liquid来实现网络通讯的上层应用集合,Liquid是使用应用协议(protocol.ID)来区分标识上层应用的,每个应用模块都应该有一个全局唯一的应用协议。应用协议描述详见4.1。消息发布及订阅模块(PubSub)是Liquid内置的一个应用。

 1.Liquid整体架构
Liquid架构在功能层面由上至下总共划分为三个层级,分别是:网络应用层、网络管理层、安全传输层。

功能架构图如下:

网络应用层:是指使用Liquid来实现网络通讯的上层应用集合,Liquid是使用应用协议(protocol.ID)来区分标识上层应用的,每个应用模块都应该有一个全局唯一的应用协议。应用协议描述详见4.1。消息发布及订阅模块(PubSub)是Liquid内置的一个应用。

网络管理层:负责Liquid网络节点间连接状态管理,由多个管理组件组成,它们包括但不限于:应用协议管理(包含应用协议交换机)、节点信息管理(PeerStore)、连接管理(ConnMgr)、数据流管理(SendStreamPool/SendStreamMgr/ReceiveStreamMgr)、组播组件、连接状态维护组件(ConnSupervisor)、节点发现(Discovery)、节点路由(PeerRouting)、节点中继、NAT穿透等。其中应用协议交换、节点发现也是基于应用协议支持实现的,它们属于管理层内置的应用模块。

安全传输层:负责底层网络协议支持及传输加密,目前已实现TCP/TLS、QUIC两种协议支持,未来会有更多(比如WebSocket、SCTP等)协议支持。

2.Liquid核心包
Liquid网络核心包里包含了框架核心接口定义、通用类型定义及概念抽象定义。

核心包内每个子包说明如下:

core/basic 基础接口包,包含Starter、Stopper以及两者组合封装接口Switcher。

core/blacklist 黑名单接口定义。

core/broadcast PubSub消息发布/订阅功能接口定义。

core/discovery 节点发现相关接口定义,包含Announcer、Discoverer以及两者组合封装接口Discovery。

core/groupmulticast 组播组件接口定义。

core/handler 用于回调的处理器函数类型定义。

core/host 网络Host接口定义、网络活动事件通知接口定义。

core/mgr 管理组件接口定义,包含连接管理(ConnMgr)、连接状态维护(ConnSupervisor)、应用协议管理器(ProtocolManager)、应用协议交换机(ProtocolExchanger)、发送流池(SendStreamPool)、发送流池管理(SendStreamPoolManager)、接收流管理(ReceiveStreamManager)等接口定义。

core/network 传输层网络状态机相关接口定义,包含发送流(SendStream)、接收流(ReceiveStream)、双向流(Stream)、连接(Conn)、状态(Stat)、拨号器(Dialer)、监听器(Listener)、网络状态机(network)等以及相关的其他的接口或类型定义。

core/peer 节点相关概念接口定义,主要包括节点ID(peer.ID)类型定义。

core/protocol 协议相关定义,主要包括应用协议(protocol.ID)类型定义及网络数据包结构体定义。

core/reuse 端口复用相关。

core/routing 节点路由相关接口定义。

core/store 节点信息存储相关概念接口定义,主要包括节点地址簿(AddrBook)、节点协议簿(ProtocolBook)以及两者组合封装接口(PeerStore)定义。

core/types 通用类型或结构体,包括先进先出缓存(FIFOCache)、固定大小超时控制缓存(FixedCapDurationCache)、连续数字记录集(IntervalSet)、通用集(Set)等。

core/util 通用工具集合。

3. Liquid实现代码结构
在Liquid开发时,我们尽可能的保证了它的通用性。Liquid虽然是为了chainmaker而生,但我们并不限于它只能被chainmaker集成使用。我们也尽可能将不需要使用者关心的组件及配置进行了隐藏(非导出处理),为了能让开发者更容易读懂我们的代码结构,所以Liquid实现代码并没有严格按照2.1中描述的框架设计。以下内容都是描述Liquid内部默认实现,开发者可以根据核心包定义接口自行编写实现来替换Liquid内置默认实现。

BasicHost(在net/liquid/host/host.go中)是Liquid内置默认Host实现,也是网络初始化的总入口。

相关文章
|
网络安全 区块链
佛萨奇Metaforce2.0系统开发(成熟源码)
智能合约是一种可编程的自动执行合约,其代码被嵌入到区块链中
|
算法 安全 分布式数据库
MetaForce原力元宇宙佛萨奇2.0智能合约系统开发(源码部署)
Force是一个全球加密货币生态系统,其成员使用我们的智能合约即时利润分配工具和算法互相帮助以实现财务福利。META FORCE系统属于我们的社区并且是完全去中心化的,这意味着它是透明的、安全的并且可以抵抗外部影响。 智能合约是一种自执行算法(程序代码)。它保证了在区块链内执行逻辑或传输的透明性和安全性。
|
存储 安全 区块链
佛萨奇2.0系统开发(源码案例)|metaforce佛萨奇矩阵合约系统开发
智能合约远胜于传统交易流程,因为它们有可能实现自动化
|
存储 区块链 数据库
Forsage/MetaForce佛萨奇2.0系统开发(方案及案例),MetaForce/Forsage佛萨奇2.0系统开发(源码及项目)
 该技术方案主要让参与系统中的任意多个节点,通过一串使用密码学方法相关联产生的数据块(block),每个数据块中包含了一定时间内的系统全部信息交流数据,并且生成数据指纹用于验证其信息的有效性和链接(chain)下一个数据库块。
|
Kubernetes Shell Docker
MetaForce佛萨奇2.0系统开发详细方案丨佛萨奇系统开发技术讲解
MetaForce佛萨奇2.0系统开发详细方案丨佛萨奇系统开发技术讲解
179 0
|
区块链
MetaForce佛萨奇2.0系统开发技术
Source code WeChat:kaifa873
72 0
|
存储 区块链 数据安全/隐私保护
Metaforce/Forsage/佛萨奇2.0开发稳定版,Metaforce/Forsage/佛萨奇2.0系统开发(开发案例)丨成熟技术
Plasma是通过创建区块链的“树”来提高可扩展性的另一种方式,主链是树的根,而“子”区块链尽可能少地与更高级别的链互动。例如Loom的PlasmaChain和OmigeGO Plasma
|
人工智能 物联网 大数据
MetaForce佛萨奇系统开发(方案及功能)丨魔豹联盟佛萨奇MetaForce系统开发(详细及逻辑)
 当然,区块链只是元宇宙概念涵盖的众多技术之一。元宇宙是由虚拟现实、增强现实和互联网相结合创造的沉浸式数字世界。元宇宙的内涵及关键技术要求进一步打破时空限制(5G和物联网),真实沉浸感(VR),价值的传递(Web 3.0、区块链)。此前,IDC还绘制了元宇宙涵盖的技术概念。
|
JSON 区块链 数据格式
Forsage/MetaForce佛萨奇2.0智能合约系统开发(详细案例),Forsage/MetaForce佛萨奇2.0智能合约开发成熟技术及源码
  数字经济是以数据资源为关键要素,以数字科技为支撑的经济形态。数字产业化和产业数字化是数字经济中的重点内容,数字产业化主要是推动数字科技形成规模化产业,
|
存储 前端开发 安全
佛萨奇2.0(Metaforce)系统开发智能合约
DAPP的后端代码是运行在区块链上的。当然,DAPP的前端代码和UI可以使用任何语言开发,可以部署在任何服务器上与后端逻辑相交互。
佛萨奇2.0(Metaforce)系统开发智能合约