Rust在Substrate 开发框架中的使用孙凯超 Rust 在 Substrate 开发框架 中的使用 内容 ● Rust 简介 ● Rust 特性 ● Why blockchain ● 什么是Substrate ● Substrate Runtime 组件 ● Substrate 应用开发 Bugs from Chrome Rust 简介 Performance Safety C, C++ Java JS, Python WebAssembly 例子: ● Substrate ● Libra Rust in blockchain Why blockchain? 后端: ● 开发语言:Java, Ruby ● 框架:Spring,Rails ● 数据库:Postgres, MySQL ● 自动化测试 ● CI / CD ● 部署云服务:AWS,阿里云 web 2.0 开发 前端:HTML, Javascript application chain app chain特点: ● Runtime 安全有开发者完全负责 ● 获取链上所有状态 ● 高度定制化,包括共识,通证,交易 方式 一个开源、模块化、可扩展的区块链开 发框架,涵盖了区块链的核心组件: ● Database layer ● P2P ● PoS ● Transaction pool ● Full / light client ● Runtime0 码力 | 37 页 | 967.22 KB | 1 年前3
Rust 异步并发框架在移动端的应用 - 陈明煜第三届中国 Rust 开发者大会 Rust 异步并发框架在移动端的应用 陈明煜 chenmingyu4@huawei.com 华为 公共开发部 嵌入式软件能力中心 本科就读加州大学圣地亚哥分校,毕业时长两年半, Rustacean 在 华为 目前正在使用 Rust 开发并行调度框架等模块。 Rust 异步并发框架在移动端的应用 陈明煜 chenmingyu4@huawei.com Runtime 并发框架 目录 Table of Contents #2 社区并发框架介绍以及与移动端的不适配性 Introduction to third party Runtime crates and their incompatibility with mobile environment Rust 异步机制 Asynchronous Rust 异步并发框架是许多大型应用、系统具备的底层能力。 任务调度颗粒度更小,充分利用线程资源 更可控的线程数 单个任务资源占用:几十 KB -> 几百 Byte 任务切换时间 : 10 微秒 -> 100 纳秒 Rust 语言并没有提供异步并发框架, 只提供异步所需的基本特性: Future async / await Waker asyn c Future Waker poll Syntax sugar wake await0 码力 | 25 页 | 1.64 MB | 1 年前3
秘猿先锋-文愿-Axon 应用链框架的 Rust 开发实践Axon 应用链框架的 Rust 开发实践 文愿 区块链工程师@秘猿先锋 wenyuan@cryptape.com Who am I ? 目录 1. Axon 简介 2. 大型 Rust 项目应用 Adapter 模式 3. 使用过程宏的监控埋点开发实践 4. 区块链间互操作性的实现 区块链间互操作性的实现 目录 1. Axon 简介 2. 大型 Rust 项目应用 Adapter 模式 3. 使用过程宏的监控埋点开发实践 4. 区块链间互操作性的实现 1. 应用链框架 2. 高性能 3. 互操作(Interoperability) 4. EVM 兼容 5. Rust What is Axon What is Axon 目录0 码力 | 32 页 | 3.63 MB | 1 年前3
王宜国 - 基于 Rust 编程语⾔构建 Amphitheatre CLI Desktop Server 的全平台实践经验Server 的全平台实践经验 王宜国 - 独⽴开源软件作者 RUST CHINA CONF 2023 • 项⽬背景介绍 • 产品功能演示 • 应⽤场景概览 项⽬介绍 • 概念 • 架构设计 • 技术实现 设计与实现 ⼤纲 Amphitheatre 云开发环境(Cloud Development Environment),在云端即时启动新 的、⾃动化的开发环境,并在⼏秒钟内开始开发。就像 您可以在⼀个地⽅测量项⽬中所有 语⾔以及领域中所有项⽬的可靠 性、安全性和可维护性。 从语⾔到语⾔,我们为您提供有凝 聚⼒的体验和⼀致的指标集以及数 百条静态代码分析规则。 ⽆需配置环境,⽀持多种编程语⾔和框架 Kayn Sona Redis ETCD Riven Event Account Project Activity Tariq Share NS 1 Kayn Sona Account Project Activity Tariq Share NS 3 Docker Container Kubernetes Pod 轻松创建⽆限量的隔离集成测试环境 ⽀持微服务架构体系和多⼈协作联调测试 Kayn Sona Riven Event Account Project Activity Tariq Share Redis ETCD 可让您完全跳过镜像构建,0 码力 | 34 页 | 10.81 MB | 1 年前3
简谈 Rust 与国密 TLS - 王江桐支持自定义内存分配器 Rust性能基本和C、C++持平,适用于系统级编程领域 ü 强大编译器 ü 全开源方式运作 ü Cargo ü Crates.io ü Docs.rs ü 自带测试框架 ü 支持跨平台 ü 多编程范式 ü 丰富的文档手册 高性能 高生产力 国密实现生态 Overview of Shangmi Cryptography Implementation Rust Rust 实现国密框架 • 国密算法在安全协议中的应用 使用 Rust 实现国密框架 Use Rust to Implement Shangmi Cryptography and Protocol Framework Rust China Conf 2022 – 2023, Shanghai, China • 相较于其他语言: • Rust 实现内存安全,并且性能比肩 C 语言,框架具有一定竞争力; 语言,框架具有一定竞争力; • 相较于 Rust 社区其他库: • 社区中国密支持较弱,当前框架未经过审计,提供统一实现可以解决这一问题; • 期望:实现具有统一管理、标准并且通过审核保证规范性的Rust密码库: • 更好地实现社区暂时缺少支持的国密算法以及国密 TLS 协议,补充生态完整性; • 完成公司审计,保证规范性和安全性。 使用 Rust 实现国密算法 Use Rust to Implement Shangmi0 码力 | 44 页 | 3.70 MB | 1 年前3
Rust在物理引擎研发中的应用 崔汉青动作物理引擎等 静态表现力 动态表现力 渲染技术 动作物理技术 动作技术 Motion 物理技术 Physics 规则驱动 AI生成 数据驱动 AI加速 云原生架构和 AI 能力 架构特点 性能特点 功能特点 云原生架构 单机架构 动作物理分离 跨平台确定性 动作物理统一 算力动态调配 分布式计算 物理材质统一解算 算法优化 物理材质单独解算 工程优化 性能待优化 AI仿真加速 和并发安全 语言内建的 async/await,还有优秀的 crates rayon(计算密集型并发支持)和 tokio(IO 密集型并发支持) 为什么选择 Rust Motphys 物理引擎架构 Broad Phase Narrow Phase Candidate Collision Pairs Manifold Build Collision Pairs Collision Detection 0.02s内多次通信 苛刻的低延迟要求 高速内网环境下的线 性扩展 – 新增结点的 网络开销恒定 高可用和负载均衡 Message的RTT 可测量 Motphys 分布式物理 引擎网络架构 derive serde vs protobuf • 通信协议选型 • protobuf/msgpack/… • 跨语言协议 • 需要额外定义数据结构 • Pure Rust • 我们不需要跨语言0 码力 | 22 页 | 1.18 MB | 1 年前3
新一代分布式高性能图数据库的构建 - 沈游人图数据中进行知识 发现的重要需求。最终获得国内外授权发明专利 43 项, CCF -A 类论文 51 篇,获得 2 次国际竞赛冠军,参与了 2 项图计算相关标准制定。 AtlasGraph 架构及实现 图技术简介 Takeway “ 世界是复杂关系的总和”—— 一张典型的知识图谱 电话 / 同通讯录 / 绑定同账户 /... Mac 地址 /IP 地址 /wifi... 亲属 业务对大图分析的诉求(千亿点、万亿边) • 实时风控对图库的性能挑战( OLTP 毫秒级响应) • 海致图平台产品服务于金融、政府行业有大量业务经验积累(接近客户需求) • 现有开源产品无法满足要求(受限于基础架构设计,优化性能有限) 新一代分布式图数据库需具备的特性 特性 信 雅 达 • 高可用 • 一致性(事 务) • 高性能 • 低资源消耗 • 易用 • 功能丰富 AtlasGraph Processing ,高性能图计算引 擎,预置 20 余种图计算算法 ,可扩展的分析引擎支持更复 杂的数据挖掘和机器学习场景 MPP Massively Parallel Processing 架构,大规模集群 分布式存储及并行计 算, Shared Nothing 模式支 持存储计算分离 高性能 基于 Rust 开发的分布式存储引 擎及图计算引擎,精细的内存 管理设计,内置索引系统,支 持毫秒级的并发查询响应速度0 码力 | 38 页 | 24.68 MB | 1 年前3
Real world Rust
- Why and how we use Rust in TiKV● 设计分布式系统的逻辑,极其复杂 ○ Raft ○ Multi-Raft ○ 分布式测试框架 ● 和 C 的模块大量交互 ● 开发人员和时间不足 ○ 5 人的团队,希望半年左右发布第一个可用版本 TiKV 的语言选型参考 ● Go ● C++11 ● Rust TiKV 整体架构 KV API Coprocessor Txn, Transaction MVCC Raft 大多数常用包都达到 1.0 的稳定性 ● ... 总结 ● Rust 是门好语言,可以简单类比成更现代的 C++ ○ 更少的代码写出更安全的程序 ○ 代价是早期更高的学 习成本 ● 解决问题的架构和范式万变不离其宗 ○ 并不是靠换个语言重写一遍就解决问题 ● TiKV 是一个性能极高且极其稳定的新一代分布式 kv 数据库 :) 谢谢 Q & A0 码力 | 29 页 | 506.53 KB | 1 年前3
Rust 在算法交易中的实际应用与积极效应第三届中国Rust开发者大会 Rust 在算法交易中的实际应用 与积极效应 非凸科技首席架构师 乔丹 上海非凸智能科技有限公司(简称“非凸科技”)成 立于2018年,是国内领先的智能算法和交易系统服 务公司,专注于智能算法交易领域的研究和开发。 公司正基于Rust生态,结合机器学习、深度学习等新 兴技术,打造高效率、低延迟、高可靠、全内存高频 交易平台,满足自身在量化行业交易业务的同时也为 模型训练 信号预测 交易指令 交易指令 1. 低延迟高吞吐的一写多读消息队列 2. 基于共享内存,全用户态,零拷贝(配合 capnproto) 3. 针对 x86_64、AArch64 架构分别优化,CPU Cache 友好 Rust 进程间通信 XSHM Rust 全栈应用实践 - 行情、与API接入 Rust 在非凸算法交易服务中的全栈应用实践 内 部 智 能 引 擎 行情服务 Web客户端 下单指令 信息回报 母单/信息上传 统计信息查询等 数据获取 模型训练 信号预测 交易指令 交易指令 涵盖异常的事前、事中、事后的全方位监控 基于 Rust 异步编程框架开发,风控逻辑可插拔,兼顾部署灵活性与执行性能 风控服务端和桌面客户端 Rust 全栈应用实践 - 桌面客户端、风控 高性能异步日志库 ftlog Rust 全栈应用实践 - 开源 1. 特性丰富实用:0 码力 | 18 页 | 3.49 MB | 1 年前3
Comprehensive Rust(简体中文) 202412是一门新的编程语言,它的 1.0 版本于 2015 年发布: • Rust 是一门静态编译语言,其功能定位与 C++ 相似 – rustc 使用 LLVM 作为它的后端。 • Rust 支持多种平台和架构: – x86、ARM、WebAssembly...... – Linux、Mac、Windows...... • Rust 被广泛用于各种设备中: – 固件和引导程序, – 智能显示器, – 其他类型的测试 5 minutes 编译器 Lint 和 Clippy 3 minutes 练习:卢恩算法 30 minutes 27.1 单元测试 Rust 和 Cargo 随附了一个简单的单元测试框架: • 单元测试在您的整个代码中都受支持。 • 您可以通过 tests/ 目录来支持集成测试。 Tests are marked with #[test]. Unit tests are often 模块使用的 Rust C 库,并提供静态和共享两种变体。 rust_proc_macro 生成“proc-macro”Rust 库。这些 宏与编译器插件类似。 rust_test 生成使用标准 Rust 测试框架的 Rust 测试二进制文件。 rust_fuzz 生成使用 libfuzzer 的 Rust 模 糊测试二进制文件。 rust_protobuf 生成源代码并生成为特定 protobuf 提供接口的0 码力 | 359 页 | 1.33 MB | 10 月前3
共 35 条
- 1
- 2
- 3
- 4













