The Libra Blockchain-开发者文档-(六)AC准入模块

2024-03-03 15:38

本文主要是介绍The Libra Blockchain-开发者文档-(六)AC准入模块,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

准入控制(AC)

准入控制(AC:Admission Control)是Libra的公共API接口,它用于接收来自客户端的公共gRPC请求。

概述

准入控制(AC)处理于来自客户的两种类型的请求:

  1. 提交交易 - 向关联的验证器提交交易。
  2. 更新最新分布式账本 - 查询存储,例如帐户状态,交易日志,验证等。

实施细节

准入控制(AC)实现两个公共API:

  1. 提交交易(提交交易请求)
    • 将对请求执行多次验证:
      • 首先检查交易签名。 如果此检查失败,AdmissionControlStatus::Rejected将返回给客户端。
      • 然后由vm_validator验证交易。 如果失败,则将相应的VMStatus返回给客户端。
    • 一旦交易通过所有验证,AC将从存储中查询发送人的帐户余额和最新序列号,并将其与客户端请求一起发送到内存池。
    • 如果内存池返回 MempoolAddTransactionStatus::Valid,则会将AdmissionControlStatu::Accepted 返回给客户端,表示提交成功。 否则,将相应的AdmissionControlStatus返回给客户端。
  2. 更新最新分布式账本(更新最新分布式账本请求). 在准入控制AC中不执行额外的处理。
  • 请求将直接传递到存储进行查询。

文件夹结构

    .├── README.md├── admission_control_proto│   └── src│       └── proto                           # Protobuf 定义文件└── admission_control_service└── src                                 # gRPC service source files├── admission_control_node.rs       # Wrapper to run AC in a separate thread├── admission_control_service.rs    # gRPC service and main logic├── main.rs                         # Main entry to run AC as a binary└── unit_tests                      # Tests

该模块与以下内容交互:

内存池组件,用于接收从客户端提交交易。 存储组件,用于查询验证器存储。

这篇关于The Libra Blockchain-开发者文档-(六)AC准入模块的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/770091

相关文章

python: 多模块(.py)中全局变量的导入

文章目录 global关键字可变类型和不可变类型数据的内存地址单模块(单个py文件)的全局变量示例总结 多模块(多个py文件)的全局变量from x import x导入全局变量示例 import x导入全局变量示例 总结 global关键字 global 的作用范围是模块(.py)级别: 当你在一个模块(文件)中使用 global 声明变量时,这个变量只在该模块的全局命名空

深入探索协同过滤:从原理到推荐模块案例

文章目录 前言一、协同过滤1. 基于用户的协同过滤(UserCF)2. 基于物品的协同过滤(ItemCF)3. 相似度计算方法 二、相似度计算方法1. 欧氏距离2. 皮尔逊相关系数3. 杰卡德相似系数4. 余弦相似度 三、推荐模块案例1.基于文章的协同过滤推荐功能2.基于用户的协同过滤推荐功能 前言     在信息过载的时代,推荐系统成为连接用户与内容的桥梁。本文聚焦于

活用c4d官方开发文档查询代码

当你问AI助手比如豆包,如何用python禁止掉xpresso标签时候,它会提示到 这时候要用到两个东西。https://developers.maxon.net/论坛搜索和开发文档 比如这里我就在官方找到正确的id描述 然后我就把参数标签换过来

计算机毕业设计 大学志愿填报系统 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点赞 👍 收藏 ⭐评论 📝 🍅 文末获取源码联系 👇🏻 精彩专栏推荐订阅 👇🏻 不然下次找不到哟~Java毕业设计项目~热门选题推荐《1000套》 目录 1.技术选型 2.开发工具 3.功能

hdu 3065 AC自动机 匹配串编号以及出现次数

题意: 仍旧是天朝语题。 Input 第一行,一个整数N(1<=N<=1000),表示病毒特征码的个数。 接下来N行,每行表示一个病毒特征码,特征码字符串长度在1—50之间,并且只包含“英文大写字符”。任意两个病毒特征码,不会完全相同。 在这之后一行,表示“万恶之源”网站源码,源码字符串长度在2000000之内。字符串中字符都是ASCII码可见字符(不包括回车)。

zoj 3228 ac自动机

给出一个字符串和若干个单词,问这些单词在字符串里面出现了多少次。单词前面为0表示这个单词可重叠出现,1为不可重叠出现。 Sample Input ab 2 0 ab 1 ab abababac 2 0 aba 1 aba abcdefghijklmnopqrstuvwxyz 3 0 abc 1 def 1 jmn Sample Output Case 1 1 1 Case 2

D4代码AC集

贪心问题解决的步骤: (局部贪心能导致全局贪心)    1.确定贪心策略    2.验证贪心策略是否正确 排队接水 #include<bits/stdc++.h>using namespace std;int main(){int w,n,a[32000];cin>>w>>n;for(int i=1;i<=n;i++){cin>>a[i];}sort(a+1,a+n+1);int i=1

Jenkins构建Maven聚合工程,指定构建子模块

一、设置单独编译构建子模块 配置: 1、Root POM指向父pom.xml 2、Goals and options指定构建模块的参数: mvn -pl project1/project1-son -am clean package 单独构建project1-son项目以及它所依赖的其它项目。 说明: mvn clean package -pl 父级模块名/子模块名 -am参数

寻迹模块TCRT5000的应用原理和功能实现(基于STM32)

目录 概述 1 认识TCRT5000 1.1 模块介绍 1.2 电气特性 2 系统应用 2.1 系统架构 2.2 STM32Cube创建工程 3 功能实现 3.1 代码实现 3.2 源代码文件 4 功能测试 4.1 检测黑线状态 4.2 未检测黑线状态 概述 本文主要介绍TCRT5000模块的使用原理,包括该模块的硬件实现方式,电路实现原理,还使用STM32类

Python脚本:TXT文档行数统计

count = 0 #计数变量file_dirs = input('请输入您要统计的文件根路径:')filename = open(file_dirs,'r') #以只读方式打开文件file_contents = filename.read() #读取文档内容到file_contentsfor file_content in file_contents: