PIL链质押挖矿系统丨PIL链质押挖矿系统开发(详情及方案)丨 PIL链质押挖矿开发源码模式

简介: TCP传输是以TCP作为底层传输协议的一种传输层实现,默认实现在liquid/host/tcp包内。底层使用golang官方net库实现。

1.TCP(TLS)传输
TCP传输是以TCP作为底层传输协议的一种传输层实现,默认实现在liquid/host/tcp包内。底层使用golang官方net库实现。

TCP传输支持明文、TLS加密、GMTLS(国密算法支持)加密传输三种模式。

由于net库的tcp连接没有流的概念,所以TCP传输的数据流(Stream)目前是基于yamux开源组件实现,按照数据流向可分为接收流、发送流、双向流三种。

  1. SNI扩展

liquid支持SNI扩展。liquid在获得一个节点的网络地址的时候,会自动识别网络地址中dns关键字后面的域名,将其作为TLS握手中的servername,TLS的服务端可以根据servername执行相应的逻辑,比如将网络链接转发到某个特点的节点。

  1. QUIC传输

QUIC传输是以Quic作为底层传输协议的一种传输层实现,默认实现在liquid/host/quic包内。底层使用我们修改过的quic-go开源库实现。我们在quic-go的实现基础上加入了对国密算法GMTLS的支持。

QUIC传输不支持明文传输,要求使用TLS加密传输。我们修改后同时支持国密TLS。

Quic协议本身就有数据流的概念定义,所以QUIC传输的数据流直接使用quic-go的Stream封装实现。

应用协议ID即Protocol.是将Liquid节点间相同应用关联起来的重要依据,只有应用协议ID相同的Liquid应用才能够互相通讯。上层应用在发送消息时,会将该应用的协议ID封装在网络数据包中,接收方会根据接收的数据包中的协议ID来将收到的数据告知拥有相同协议ID的上层应用。

每个上层应用必须拥有全局唯一的应用协议ID,Liquid会拒绝多次的相同应用协议ID注册请求。

由于Liquid内置部分组件也是基于应用协议实现,开发者在定义上层应用协议ID时,应避免与内置组件应用协议冲突。

liquid支持链隔离功能(或者叫链级消息发布)。在不同链上的协议ID一定不同,而且数据隔离。但是同一条链上的不同协议可以共用一个数据通道。这两种方式相结合的好处是:节约网络资源的前提下保证应用层的数据隔离性。

4.内置连接管理器实现
Liquid内置了一种基于优先级的连接管理器——simple.LevelConnManager,实现代码在simple/level_connmgr.go文件中。

LevelConnManager允许针对每个节点添加一定数量的连接,若节点连接数量达到设置上限,则IsAllowed方法返回false。

LevelConnManager将节点连接分为两种优先级:高优先级、低优先级。共识节点、种子节点将被设置为高优先级,其他节点将被设置为低优先级。

优先级与节点ID绑定,高优先级节点数量与低优先级节点数量之和作为总节点连接数量。

当总节点连接数达到设置上线时,若添加新节点连接,则根据设置的淘汰规则淘汰一个节点(关闭该节点所有连接)。

我们提供了三种淘汰策略:Random、FIFO、LIFO。

1)Random策略:

如果新节点优先级为高,优先随机淘汰一个低优先级节点,若没有低优先级节点,则随机淘汰一个高优先级节点。

如果新节点优先级为低,随机淘汰一个低优先级节点,若没有低优先级节点,则淘汰该新节点。

2)FIFO 先进先出策略:

如果新节点优先级为高,优先淘汰一个最早添加的低优先级节点,若没有低优先级节点,则淘汰一个最早添加的高优先级节点。

如果新节点优先级为低,淘汰一个低优先级节点,若没有低优先级节点,则淘汰该新节点。

3) LIFO 后进先出策略:

如果新节点优先级为高,优先淘汰一个最晚添加的低优先级节点,若没有低优先级节点,则淘汰该新节点。

如果新节点优先级为低,淘汰该新节点。

相关文章
|
7月前
|
供应链 算法 安全
LP链上质押合约代币项目系统开发|案例详情|指南方案
在这种情况下,所有的交易和持仓数据都被记录在区块链上,并且参与者可以在实时交易中进行交互,同时保持匿名性和安全性。
|
存储 区块链
BSC链质押代币模式系统开发详情与模式
随着时间的推移,智能合约代码也越来越容易操控,越来越容易整合各类契约关系
TRX链丨BSC链丨ARB链发行代币合约项目DeFi/IDO/DAO/DApp/LP/Swap去中心化交易所兑换底池系统开发实现技术详细规则及案例源码
Private key management and security: To ensure the secure storage and management of private keys, hardware wallets or multi-signature mechanisms can be considered to increase security.
|
存储 安全 区块链
波场链合约交易所系统模型合约开发解决方案
address private _owner; mapping (address => bool) private _pausedUsers; event Log交易撮合(uint256 amount, address user, address trader); event Log资产变动(address from, address to, uint256 amount);
|
存储 安全 前端开发
虚拟币/期货永续合约交易所系统开发基本思路和实现方法[附源码实例分析]
虚拟币/期货永续合约交易所系统开发基本思路和实现方法[附源码实例分析]
|
前端开发 安全 JavaScript
TRX波场链/HECO火币链/BSC币安链DAPP智能合约发行代币项目系统开发案例分析/稳定版/源码技术
  DApp是指基于区块练技术的去中心化应用程序,它的特点是去中心化、透明、安全、不可篡改等,DApp is an inevitable trend because it can solve problems such as centralization,data privacy,and security in traditional applications,while also achieving more fair,transparent,and decentralized application scenarios.
|
监控 Java API
(币安、欧易)交易所合约网格交易策略程式开发搭建部署源码规则解析
(币安、欧易)交易所合约网格交易策略程式开发搭建部署源码规则解析
|
区块链
  TP钱包中币安智能链钱包开发部署源码规则分析
币安智能链(BSC)是一条基于区块链技术的智能合约公链,旨在为去中心化应用提供高并发、低费率、开发友好、高性能的区块链基础设施。   
|
区块链
持币智能合约质押开发源码规则解析
持币智能合约质押开发源码规则解析
|
区块链
区块链游戏质押挖矿系统开发规则源码解析
区块链游戏质押挖矿系统开发规则源码解析