以太坊架构简析

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

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] 序列化:把对象转化为字节序列的过程。反序列化是它的逆过程。

相关文章
|
JSON JavaScript 前端开发
Vue3源码架构简析及Monorepo流程构建
【10月更文挑战第12天】Vue3源码架构简析及Monorepo流程构建
Vue3源码架构简析及Monorepo流程构建
|
安全 NoSQL Java
[网络安全]shiro安全框架基本原理及架构功能简析
[网络安全]shiro安全框架基本原理及架构功能简析
334 0
|
Java 调度
架构系列——定时任务中的Timer类使用简析
架构系列——定时任务中的Timer类使用简析
|
SQL 存储 前端开发
是时候更新手里的武器了—Jetpack架构组件简析(下)
最近两年,MVVM的呼声越来越高,说实话,在经历了MVP的臃肿,MVP的繁琐,我有点怕了。但是这次Google官方带来的一系列为MVVM架构设计的武器—Jetpack,真的让我惊喜到了。
192 0
|
XML 前端开发 安全
是时候更新手里的武器了—Jetpack架构组件简析(上)
最近两年,MVVM的呼声越来越高,说实话,在经历了MVP的臃肿,MVP的繁琐,我有点怕了。但是这次Google官方带来的一系列为MVVM架构设计的武器—Jetpack,真的让我惊喜到了。
179 0
|
存储 Kubernetes 安全
容器服务Kubernetes版产品架构简析
容器服务 Kubernetes 版基于原生 Kubernetes 进行适配和增强,简化集群的搭建和扩容等工作,整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳的 Kubernetes 容器化应用运行环境。本文档为您介绍阿里云容器服务平台的产品架构。
1359 0
|
2月前
|
Cloud Native Serverless API
微服务架构实战指南:从单体应用到云原生的蜕变之路
🌟蒋星熠Jaxonic,代码为舟的星际旅人。深耕微服务架构,擅以DDD拆分服务、构建高可用通信与治理体系。分享从单体到云原生的实战经验,探索技术演进的无限可能。
微服务架构实战指南:从单体应用到云原生的蜕变之路
|
5月前
|
缓存 Cloud Native Java
Java 面试微服务架构与云原生技术实操内容及核心考点梳理 Java 面试
本内容涵盖Java面试核心技术实操,包括微服务架构(Spring Cloud Alibaba)、响应式编程(WebFlux)、容器化(Docker+K8s)、函数式编程、多级缓存、分库分表、链路追踪(Skywalking)等大厂高频考点,助你系统提升面试能力。
254 0

热门文章

最新文章