以太坊架构简析

简介: 包含以太坊架构图、部分模块的简介等

4fe00bb0155c6142537cf6a03888fca8e99f1978


HTTPClient:支持HTTP协议、实现get、post等HTTP方法。

Whisper协议:DApp间通信的协议,提供低层次API

HTTP/JSON RPC/IPC [1]:实现程序/进程间的通信。外部程序可以通过JSON RPC调用API。

Swarm:一个web应用开发框架,其允许程序分布在多台计算机上,并能够动态分配运算以提升运算效率。

容器:包含程序和程序运行所需的完整环境,相当于轻量虚拟机。可以无视环境难题,被快速部署

P2P网络:对等节点组成的网络,每个节点都同时起到客户端和服务端的作用。

挖矿:节点争夺记账权,并在记账成功后获取代币奖励。

LevelDB:高效的kv(key-value)数据库[2]。

Crypto:加密。以太坊使用SHA3、secp256k1加密算法。

rlp:recursive length prefix,即递归长度前缀。在以太坊中对对象进行序列化[3]和反序列化编码。

校验:包含区块、交易合法性校验,Merkle Patricia Tree校验,交易池校验。

区块链管理:涉及区块的下载、连接、断开、校验、保存

交易池管理:节点将通过验证的交易存在交易池中,准备放在一个挖到的区块里。

EVM:Ethereum Virtual Machine,即以太坊虚拟机。智能合约在EVM之上运行。

智能合约:可以理解为:包含价值且只有在满足一定条件时才会打开的加密箱子。其具有图灵完备性。

web3.js:封装了以太坊JSON RPC API的js库,包含与区块链交互的js对象和函数。有查看网络状态、查询本地账户、查询交易和区块、发送交易、编译/部署合约等的API

交易:一个账户向另一个账户发送被签名的数据包的过程

 

[1] ipc:inter-progress communication,即进程间通信。Ipc包含lpc(local progress call)和rpc(remote procedure call)。可以认为rpc是:把分割的程序通过网络重组。通过网络,像操作本机代码一样调用远程机器上的代码。JSON RPC是以JSON为协议的RPC,传输的内容是JSON本体。

[2] kv数据库中的数据按照kv对进行组织、索引、存储。kv数据库没有固定的数据结构,而SQL数据库的数据一般都具有固定的数据结构。这里的key一般与hash相关,value一般存储rlp编码。

[3] 序列化:把对象转化为字节序列的过程。反序列化是它的逆过程。

相关文章
|
1月前
|
JSON JavaScript 前端开发
Vue3源码架构简析及Monorepo流程构建
【10月更文挑战第12天】Vue3源码架构简析及Monorepo流程构建
Vue3源码架构简析及Monorepo流程构建
|
6月前
|
安全 NoSQL Java
[网络安全]shiro安全框架基本原理及架构功能简析
[网络安全]shiro安全框架基本原理及架构功能简析
191 0
|
Java 调度
架构系列——定时任务中的Timer类使用简析
架构系列——定时任务中的Timer类使用简析
|
SQL 存储 前端开发
是时候更新手里的武器了—Jetpack架构组件简析(下)
最近两年,MVVM的呼声越来越高,说实话,在经历了MVP的臃肿,MVP的繁琐,我有点怕了。但是这次Google官方带来的一系列为MVVM架构设计的武器—Jetpack,真的让我惊喜到了。
125 0
|
XML 前端开发 安全
是时候更新手里的武器了—Jetpack架构组件简析(上)
最近两年,MVVM的呼声越来越高,说实话,在经历了MVP的臃肿,MVP的繁琐,我有点怕了。但是这次Google官方带来的一系列为MVVM架构设计的武器—Jetpack,真的让我惊喜到了。
123 0
|
存储 Kubernetes 安全
容器服务Kubernetes版产品架构简析
容器服务 Kubernetes 版基于原生 Kubernetes 进行适配和增强,简化集群的搭建和扩容等工作,整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳的 Kubernetes 容器化应用运行环境。本文档为您介绍阿里云容器服务平台的产品架构。
1229 0
|
10天前
|
缓存 负载均衡 JavaScript
探索微服务架构下的API网关模式
【10月更文挑战第37天】在微服务架构的海洋中,API网关犹如一座灯塔,指引着服务的航向。它不仅是客户端请求的集散地,更是后端微服务的守门人。本文将深入探讨API网关的设计哲学、核心功能以及它在微服务生态中扮演的角色,同时通过实际代码示例,揭示如何实现一个高效、可靠的API网关。
|
8天前
|
Cloud Native 安全 数据安全/隐私保护
云原生架构下的微服务治理与挑战####
随着云计算技术的飞速发展,云原生架构以其高效、灵活、可扩展的特性成为现代企业IT架构的首选。本文聚焦于云原生环境下的微服务治理问题,探讨其在促进业务敏捷性的同时所面临的挑战及应对策略。通过分析微服务拆分、服务间通信、故障隔离与恢复等关键环节,本文旨在为读者提供一个关于如何在云原生环境中有效实施微服务治理的全面视角,助力企业在数字化转型的道路上稳健前行。 ####
|
8天前
|
Dubbo Java 应用服务中间件
服务架构的演进:从单体到微服务的探索之旅
随着企业业务的不断拓展和复杂度的提升,对软件系统架构的要求也日益严苛。传统的架构模式在应对现代业务场景时逐渐暴露出诸多局限性,于是服务架构开启了持续演变之路。从单体架构的简易便捷,到分布式架构的模块化解耦,再到微服务架构的精细化管理,企业对技术的选择变得至关重要,尤其是 Spring Cloud 和 Dubbo 等微服务技术的对比和应用,直接影响着项目的成败。 本篇文章会从服务架构的演进开始分析,探索从单体项目到微服务项目的演变过程。然后也会对目前常见的微服务技术进行对比,找到目前市面上所常用的技术给大家进行讲解。
23 1
服务架构的演进:从单体到微服务的探索之旅
下一篇
无影云桌面