Web

以太坊简介

Flying
2020-11-25 / 0 评论 / 742 阅读 / 正在检测是否收录...

什么是以太坊

以太坊(Ethereum)是一个开源的区块链平台,它允许开发者构建和部署智能合约和去中心化应用(DApps)。与比特币等其他加密货币不同,以太坊不仅仅是一种数字货币,它是一个具有智能合约功能的分布式计算平台。

ethereum.svg

以下是以太坊的一些关键特点:

  1. 智能合约: 以太坊的主要特色之一是可以运行智能合约。智能合约是一种在区块链上运行的自动化合同,它包含了合同参与方的规则和条款,当满足条件时会自动执行。这使得以太坊能够支持各种去中心化应用。
  2. 以太币(Ether): 以太坊的本地加密货币叫做以太币(Ether,缩写为 ETH)。它在以太坊网络中用于支付交易手续费(Gas 费用)和奖励矿工。ETH 也是以太坊网络上智能合约的“燃料”。
  3. 区块链技术: 以太坊使用区块链技术,将交易数据存储在一个不断增长的链式结构中。每个区块包含了一定数量的交易信息和一个时间戳,所有的区块都通过哈希值链接在一起。
  4. 去中心化: 以太坊是一个去中心化平台,它没有中心服务器,所有的节点共同维护网络的安全和稳定性。
  5. 开放性: 以太坊是一个开源项目,任何人都可以参与开发和贡献。这种开放性促使了庞大的开发者社区,推动了以太坊生态系统的不断发展。
  6. 可扩展性: 以太坊一直在努力提高网络的扩展性,以便能够处理更多的交易和应用。不断进行的研究和开发工作旨在提高网络的吞吐量和效率。

以太坊的灵活性和功能性使得它成为了区块链技术和加密货币领域的重要创新之一。它为开发者提供了一个强大的平台,可以构建各种去中心化应用,从而改变传统产业和商业模式。

以太坊历史

以太坊是一款具有智能合约功能的区块链平台,它于 2015 年由 Vitalik Buterin(维塔利克·布特林)等人创建。以下是以太坊的历史回顾:

2013 年:

  • 概念提出: Vitalik Buterin 提出了以太坊的概念,提出了一个可以支持更多应用程序的区块链平台,包括智能合约功能。

2014 年:

  • 众筹活动: 在 2014 年,以太坊进行了众筹活动,募集了大约 3,200 BTC(当时价值约 150 万美元)。

2015 年:

  • 以太坊上线: 以太坊的第一个版本“Frontier”于 2015 年 7 月 30 日上线。这个版本并不完全稳定,主要是为了开发者和矿工进行测试和使用。

2016 年:

  • DAO 攻击: 以太坊遭受了历史上最严重的攻击之一,称为 DAO 攻击。攻击者利用智能合约中的漏洞,窃取了大量以太币(约 60 million ETH)。
  • 硬分叉: 为了解决 DAO 攻击事件,以太坊社区进行了硬分叉,将攻击者的交易回滚,恢复被盗的资金。这导致了以太坊和以太坊 Classic(ETH 和 ETC)两个不同的分支。

2017 年:

  • 以太坊网络拥堵: 由于加密货币市场的繁荣,以太坊网络开始面临交易拥堵和 Gas 费用上涨的问题。
  • Metropolis 升级: Metropolis 是以太坊的一个重大升级,分为两个阶段,Byzantium 和 Constantinople。这些升级引入了一些新特性,改善了智能合约的安全性和隐私性。

2020 年:

  • 以太坊 2.0 计划: 以太坊 2.0,也称为 Eth2 或 Serenity,是以太坊的一个重大升级,旨在将网络从基于 Proof of Work 的共识机制迁移到基于 Proof of Stake 的共识机制。这将提高网络的可扩展性和安全性。
  • DeFi(去中心化金融)热潮: 去中心化金融(DeFi)项目在以太坊上蓬勃发展,包括借贷、流动性挖矿、合成资产等应用,引发了加密货币行业的关注。

2021 年:

  • 伦敦硬分叉: 伦敦硬分叉是以太坊的一个重大升级,引入了 EIP-1559 提案,该提案改变了 Gas 费用的结构,使交易费用更加可预测,同时也燃烧了一部分 ETH,有望减少通货膨胀压力。

以上是以太坊的一些重要历史事件,该平台一直在不断发展和改进,以适应不断变化的加密货币和区块链行业的需求。

以太坊架构

以太坊(Ethereum)是一个开源的区块链平台,它支持智能合约的开发和执行。以下是以太坊的基本架构和组件:

  1. 以太坊网络:
    以太坊是一个去中心化的全球计算机网络,由成千上万的节点组成。这些节点一起维护区块链的安全性和稳定性。以太坊网络遵循共识算法(最初是工作量证明,后来计划过渡到权益证明)来确定哪个节点有权创建新的区块。
  2. 区块链:
    以太坊的主要数据结构是区块链,它由一个个区块组成,每个区块包含了一组交易记录。区块链是不断增长的、不可篡改的公共账本,记录了所有的交易和智能合约的状态变化。
  3. 智能合约:
    以太坊的核心功能之一是智能合约。智能合约是由 Solidity 等编程语言编写的程序,运行在以太坊虚拟机(Ethereum Virtual Machine,EVM)上。智能合约定义了合同参与方的权利、责任和交易条款,并在满足预定条件时自动执行。以太坊的灵活性和智能合约功能使得开发者能够构建各种去中心化应用(DApps)。
  4. 以太币(Ether,ETH):
    以太币是以太坊网络的本地加密货币,也是智能合约的“燃料”。在以太坊网络上执行智能合约和发送交易都需要支付一定数量的以太币作为手续费。
  5. 钱包:
    以太坊钱包是用于存储、发送和接收以太币以及与智能合约交互的工具。钱包可以是硬件钱包、软件钱包(如以太坊客户端软件)或在线钱包(Web 钱包)。
  6. 以太坊客户端:
    以太坊网络中的节点使用以太坊客户端软件,如 Geth 和 Parity,来连接到网络,同步区块链数据,执行智能合约,并维护网络的安全性。这些客户端软件实现了以太坊协议,使得节点可以相互通信并达成共识。
  7. 去中心化应用(DApps):
    基于以太坊的去中心化应用(DApps)是智能合约的应用场景。DApps 是在区块链上运行的应用程序,通常包含智能合约和一个用户界面。用户可以通过钱包与 DApps 进行交互,而 DApps 的逻辑和数据存储在区块链上。

以太坊的架构提供了一个灵活且功能强大的平台,使得开发者能够构建各种去中心化应用,从金融服务到供应链管理,再到数字身份验证等。

以太坊账户

在以太坊网络中,账户是一个由 20 字节地址(Address)和相关状态(State)组成的数据结构。以太坊账户可以分为两种主要类型:外部账户(Externally Owned Account,EOA)和合约账户(Contract Account)。

  1. 外部账户(EOA):
    外部账户是由公钥和私钥对生成的账户。它们是由个人或实体拥有和控制的,可以用来发送和接收以太币(ETH)以及与智能合约进行交互。外部账户不具备代码执行能力,它们只能通过私钥签名交易来进行操作。

外部账户的地址(Address)是以太坊网络中的标识符,它是一个 20 字节的哈希值。当一个外部账户接收到 ETH 时,它的余额会增加。

  1. 合约账户(Contract Account):
    合约账户是由智能合约创建的账户。它们不由个人或实体拥有,而是由智能合约的代码和状态数据组成。合约账户有一个地址,和外部账户的地址一样,也是一个 20 字节的哈希值。

合约账户与外部账户不同的地方在于,合约账户包含了用 Solidity、Vyper 等编程语言编写的智能合约代码。这些代码定义了合约的逻辑和行为。合约账户的状态数据表示了合约的当前状态,包括变量的值和合约内部数据。

  1. 外部账户与合约账户的区别:

外部账户(EOA)和合约账户(Contract Account)是以太坊网络中两种不同类型的账户,它们在性质和用途上有显著的区别:

  1. 外部账户(EOA):
  • 拥有者: 外部账户由个人或实体控制,拥有一个公钥和一个相应的私钥。私钥用于签署交易,从而证明交易的合法性。
  • 功能: 外部账户主要用于发送和接收以太币(ETH)。它们不能包含代码或逻辑,只能通过私钥签署交易,实现资金的转移。
  • 交易签名: 交易从外部账户发出时,需要使用私钥进行数字签名,以验证交易的真实性。只有拥有正确私钥的人才能发送交易。
  • 代码执行: 外部账户没有代码执行能力,不能进行智能合约的调用或执行。
  1. 合约账户(Contract Account):
  • 拥有者: 合约账户是由智能合约创建的,没有独立的拥有者。它们的创建是通过外部账户发送创建合约的交易实现的。
  • 功能: 合约账户包含智能合约的代码和状态数据。它们能够接收交易和消息,执行其中包含的逻辑,并修改内部状态。合约账户的功能由智能合约的代码定义。
  • 交易签名: 合约账户执行交易和消息时不需要签名,因为它们的操作是由智能合约的代码控制的。
  • 代码执行: 合约账户具有代码执行能力,可以执行智能合约中定义的逻辑。它们允许复杂的计算、条件判断、循环等操作,可以实现各种功能,如投票、代币发行等。

总结来说,外部账户主要用于管理以太币,是持有和传输价值的主体;而合约账户则包含了智能合约的代码和状态,具有自动执行预定逻辑的能力,可以实现更复杂的功能,是实现去中心化应用(DApps)的基础。

  1. 账户的特点
  2. 不可篡改性: 一旦账户被创建,它的地址就是固定的,不可更改。
  3. 交易和消息: 以太坊账户可以接收交易(用于转账等)和消息(用于与智能合约交互)。
  4. 合约创建: 外部账户可以通过发送交易来创建新的合约账户。
  5. 账户余额: 账户余额表示了账户中的 ETH 数量。外部账户的余额可以用于发送 ETH,而合约账户的余额通常表示合约内部的 ETH 资金。
  6. 账户状态

在以太坊中,每个账户都有一个相关的状态,这个状态包括账户的余额(balance)和合约的存储数据(storage data)。账户的状态是在区块链上持久化存储的,它们记录了账户的当前情况。以下是关于以太坊账户状态的一些重要信息:

  1. 账户余额(Balance):
    每个以太坊账户都有一个以太币(ETH)的余额。这个余额表示了账户中可用的以太币数量。外部账户的余额可以用于发送以太币或支付交易费用(Gas 费用)。合约账户的余额通常用于存储 ETH,或者用于执行合约操作时支付 Gas 费用。
  2. 合约存储(Storage):
    合约账户的状态还包括存储数据,这些数据被存储在合约的存储空间中。智能合约通常需要存储一些数据,例如用户的信息、合约的状态等。这些数据被持久化存储在区块链上,确保了数据的安全性和不可篡改性。
  3. 合约代码(Code):
    合约账户的状态还包括合约的代码。合约的代码定义了合约的逻辑和行为。当合约被创建时,它的代码被存储在合约账户的状态中,以太坊网络上的所有节点都能够看到这个代码。合约代码是公开的,可以被任何人查看。
  4. 内部存储(Internal Storage):
    内部存储是合约内部的一种数据存储方式。它是在智能合约内部使用的、不对外部可见的数据存储区域。合约的内部存储用于保存合约的状态和数据,可以被合约的函数读取和修改。
  5. 合约自毁(Self-Destruct):
    在以太坊中,合约账户可以被自毁。当一个合约自毁时,它的余额会被发送到指定的地址,合约的代码和存储数据会被删除,释放出的存储空间可以被其他合约使用。

以太坊账户状态的持久化存储和管理是由以太坊网络的节点共同完成的。这些信息在区块链上以不可篡改的方式记录,确保了账户状态的透明性和安全性。

以太坊账户是以太坊网络中的基本构建块,它们通过交易和消息实现了区块链上的价值传递和智能合约执行。

以太坊虚拟机

以太坊虚拟机(Ethereum Virtual Machine,EVM)是以太坊网络中的核心组件之一。它是一个基于栈的虚拟机,用于执行智能合约的字节码。EVM 是一个分布式计算环境,运行在所有以太坊节点上,确保了在整个网络上智能合约的一致性和可信度。

以下是关于以太坊虚拟机(EVM)的重要概念和特性:

  1. 栈架构(Stack-Based Architecture):
    EVM 是一个基于栈的虚拟机,它使用栈来管理操作数和执行指令。所有的操作都是在一个操作数栈上进行的。这种栈架构使得 EVM 的实现相对简单,同时也降低了智能合约的攻击面。
  2. 操作码(Opcode):
    EVM 的指令集由一组操作码组成。每个操作码执行一个特定的操作,例如加法、乘法、逻辑运算等。智能合约的源代码会被编译成这些操作码,然后在 EVM 上执行。
  3. 内存(Memory):
    EVM 中有一个内存区域,用于存储中间数据。智能合约的执行可能需要临时存储一些数据,这些数据被保存在内存中。合约可以根据需要动态地扩展内存空间。
  4. 永久存储(Storage):
    EVM 提供了持久性存储,合约可以在永久存储区域中存储数据。永久存储用于保存合约的状态,包括变量的值、合约的状态等。永久存储的数据在区块链上是持久化的,不会因为合约的执行结束而消失。
  5. Gas(燃料):
    EVM 中的每个操作都需要消耗一定数量的 Gas,它是执行合约操作的计量单位。Gas 的使用既限制了合约的执行时间,也确保了网络的稳定性和安全性。每个交易中都包含了指定的 Gas 限制和 Gas 价格,决定了交易的执行能力和成本。
  6. 异常处理:
    EVM 提供了异常处理机制,用于处理在智能合约执行过程中可能发生的错误或异常情况。如果合约的执行出现问题,会抛出异常,回滚合约的状态,并且消耗掉已经使用的 Gas。

EVM 的设计目标是提供一个安全、一致、可预测的执行环境,确保所有的以太坊节点在执行智能合约时都得到相同的结果。这种虚拟机的设计使得以太坊成为了一个强大的智能合约平台。

以太坊虚拟机

以太坊虚拟机(Ethereum Virtual Machine,EVM)是以太坊网络中的核心组件之一。它是一个基于栈的虚拟机,用于执行智能合约的字节码。EVM 是一个分布式计算环境,运行在所有以太坊节点上,确保了在整个网络上智能合约的一致性和可信度。

以下是关于以太坊虚拟机(EVM)的重要概念和特性:

  1. 栈架构(Stack-Based Architecture):
    EVM 是一个基于栈的虚拟机,它使用栈来管理操作数和执行指令。所有的操作都是在一个操作数栈上进行的。这种栈架构使得 EVM 的实现相对简单,同时也降低了智能合约的攻击面。
  2. 操作码(Opcode):
    EVM 的指令集由一组操作码组成。每个操作码执行一个特定的操作,例如加法、乘法、逻辑运算等。智能合约的源代码会被编译成这些操作码,然后在 EVM 上执行。
  3. 内存(Memory):
    EVM 中有一个内存区域,用于存储中间数据。智能合约的执行可能需要临时存储一些数据,这些数据被保存在内存中。合约可以根据需要动态地扩展内存空间。
  4. 永久存储(Storage):
    EVM 提供了持久性存储,合约可以在永久存储区域中存储数据。永久存储用于保存合约的状态,包括变量的值、合约的状态等。永久存储的数据在区块链上是持久化的,不会因为合约的执行结束而消失。
  5. Gas(燃料):
    EVM 中的每个操作都需要消耗一定数量的 Gas,它是执行合约操作的计量单位。Gas 的使用既限制了合约的执行时间,也确保了网络的稳定性和安全性。每个交易中都包含了指定的 Gas 限制和 Gas 价格,决定了交易的执行能力和成本。
  6. 异常处理:
    EVM 提供了异常处理机制,用于处理在智能合约执行过程中可能发生的错误或异常情况。如果合约的执行出现问题,会抛出异常,回滚合约的状态,并且消耗掉已经使用的 Gas。

EVM 的设计目标是提供一个安全、一致、可预测的执行环境,确保所有的以太坊节点在执行智能合约时都得到相同的结果。这种虚拟机的设计使得以太坊成为了一个强大的智能合约平台。

Gas

Gas(燃料)是一种计量单位,用于衡量和限制智能合约的执行。每个智能合约和交易都需要消耗一定数量的 Gas,而 Gas 的价格由交易发起者指定。Gas 的引入是为了确保以太坊网络的稳定性、安全性和可预测性。

  1. 为什么需要 Gas?
  • 资源消耗: 执行智能合约和交易需要网络的计算资源和带宽。为了防止恶意用户发起过于复杂或占用过多资源的合约和交易,引入了 Gas 限制。
  • 避免无限循环: 如果没有 Gas 限制,恶意用户可能会发送一个无限循环的合约,导致网络停滞。Gas 限制确保了每个合约和交易在执行时都有一个最大的资源消耗限制。
  1. Gas 的组成:
  • 基本 Gas 费用: 每个基本操作(例如加法、乘法、存储变量等)都有固定的 Gas 费用。不同的操作消耗不同数量的 Gas。
  • 复杂操作: 某些操作,如内部交易、合约创建等,消耗的 Gas 较多。
  • 存储操作: 存储数据到区块链上需要较多的 Gas,这是因为永久性存储需要大量计算和带宽资源。
  • 循环操作: 循环(例如 for、while 循环)的执行次数较多时,消耗的 Gas 会逐渐增加。
  1. Gas 价格:
  • Gas 价格(Gas Price): 是指用户愿意支付的 Gas 单价,通常以 Wei(以太坊最小单位)为单位。用户在发送交易时可以设置 Gas 价格,它决定了交易的执行优先级。
  • 交易费用: 交易的总费用等于 Gas 使用量(Gas Limit)乘以 Gas 价格。用户需要支付这个费用来激励矿工验证并打包交易。
  1. Gas Limit:
  • Gas 限制(Gas Limit): 是用户为交易或合约执行设定的最大 Gas 使用量。如果交易或合约的执行消耗的 Gas 超过了 Gas Limit,交易将被回滚,但是已经消耗的 Gas 费用将不会退还。
  • 安全性和资源预测: 用户可以根据合约的预期执行时间和复杂性设置 Gas Limit,这有助于确保交易或合约执行的安全性,并且可以避免意外的资源耗尽。

Gas 的概念使得以太坊网络能够处理各种类型的智能合约和交易,并且确保了网络的稳定性和可预测性。用户可以根据实际需求和网络拥堵情况来设置 Gas 价格和 Gas Limit。

以太坊交易

以太坊交易是在以太坊网络上进行的价值传递和智能合约执行的基本操作。以下是关于以太坊交易的一些重要信息:

  1. 交易结构:

一笔以太坊交易通常包括以下信息:

  • 发送者地址(Sender Address): 发起交易的账户地址。
  • 接收者地址(Recipient Address): 交易的目标地址,可以是另一个账户或智能合约地址。
  • 交易金额(Value): 发送的以太币数量,表示交易的价值。
  • Gas Price: 发送者愿意支付的 Gas 单价,决定了交易的执行优先级。
  • Gas Limit: 交易的 Gas 使用上限,表示交易的最大执行量,同时也决定了交易的最大费用。
  • 数据(Data): 可选字段,通常用于向智能合约发送数据。
  1. 交易的过程:
  2. 发起交易: 用户使用钱包应用程序或其他交易工具创建一笔交易,并指定发送者地址、接收者地址、交易金额、Gas Price、Gas Limit 等信息。
  3. 数字签名: 发送者使用自己的私钥对交易进行数字签名,确保交易的真实性和完整性。
  4. 广播交易: 签名后的交易被广播到以太坊网络中,等待矿工验证和打包。
  5. 矿工验证和打包: 矿工节点验证交易的有效性,包括签名是否正确、账户余额是否足够等。验证通过后,将交易打包到一个新的区块中。
  6. 区块确认: 区块被添加到区块链上,交易被确认。一般来说,交易需要等待一定数量的区块确认,以确保交易的安全性。
  7. 交易费用:

交易的费用取决于两个因素:

  • Gas Price: 由发送者指定,表示愿意支付的 Gas 单价。愿意支付更高的 Gas 价格可以提高交易的执行优先级,加快交易被打包的速度。
  • Gas Limit: 由发送者指定,表示交易的 Gas 使用上限。如果交易需要的 Gas 超过了 Gas Limit,交易将失败,但已经使用的 Gas 费用不会退还。
  1. 交易类型:
  • 普通交易: 从一个账户向另一个账户发送以太币的基本交易类型。
  • 合约交易: 向智能合约发送交易请求,执行合约中的函数或操作。

以太坊的交易机制允许用户在网络上进行安全、透明、可追溯的价值传递和智能合约执行。用户可以根据实际需求设置 Gas Price 和 Gas Limit,以及选择发送普通交易或与智能合约进行交互。

区块

在区块链技术中,一个区块(block)是数据的集合,用于存储网络上的交易信息和其他相关数据。区块链是由一系列区块组成的,每个区块包含了一定数量的交易记录以及一个引用前一个区块的哈希值,形成了一个不断增长的、连接在一起的链条。

以下是区块的一些关键特点:

  1. 交易记录:
    区块包含了一定数量的交易记录,这些交易记录代表了在区块链上发生的交易,包括转账、智能合约的调用等。这些交易被打包成一个区块,然后被添加到区块链上。
  2. 区块头(Block Header):
    每个区块都有一个区块头,它包含了区块的元数据信息,例如:
  3. 前一个区块的哈希值(Previous Block Hash): 区块链中的每个区块都包含了前一个区块的哈希值,确保了区块的顺序和不可篡改性。
  4. 时间戳(Timestamp): 区块被创建的时间戳,表示区块的生成时间。
  5. 难度目标(Difficulty Target): 确定了区块的工作量证明难度,保持区块生成的平均时间稳定。
  6. 默克尔根(Merkle Root): 交易数据的默克尔树根哈希,用于验证交易的完整性。
  7. 区块哈希(Block Hash):
    区块头的所有信息通过哈希算法(通常是 SHA-256)生成一个固定长度的哈希值。这个哈希值作为区块的唯一标识符,确保了区块的唯一性。
  8. 区块链链接:
    每个区块都包含了前一个区块的哈希值,将所有的区块链接在一起,形成了一个不可变的、线性的区块链结构。这种链接方式确保了区块链的完整性和不可篡改性。
  9. 区块奖励(Block Reward):
    在一些区块链系统(比如比特币、以太坊)中,矿工在成功挖出一个新区块时会获得一定数量的加密货币作为奖励。这个奖励通常包括新发行的加密货币和交易手续费。

区块是区块链技术的基本单元,它们的创建、验证和链接形成了整个区块链网络的基础。每个新的区块都必须经过一定的计算工作,以确保网络的安全性和稳定性。

以太坊客户端

以太坊客户端是用于连接以太坊网络、同步区块链数据、创建和广播交易以及与智能合约交互的软件应用程序。以太坊网络上有几种不同的客户端实现,每种实现都有其特定的功能和特性。

以下是一些常见的以太坊客户端:

  1. Geth:
    Geth 是以太坊官方的 Go 语言客户端,它是以太坊网络上使用最广泛的客户端之一。Geth 提供了一个命令行界面,允许用户连接到以太坊网络,同步区块数据,创建和管理钱包,发送交易,并与智能合约交互。Geth 的灵活性和广泛支持使得它成为开发者和矿工的首选选择。
  2. Parity:
    Parity 是另一个以太坊网络的 Go 语言客户端,它提供了高度可定制的功能,包括私有链、公有链和测试链的支持。Parity 以其高性能和安全性而闻名,它支持轻量级客户端(即轻节点),可以更快地同步区块数据。
  3. Besu:
    以太坊客户端的另一个实现是 Hyperledger Besu,这是一个由以太坊社区和 Hyperledger 项目共同维护的 Java 客户端。Besu 提供了企业级功能,包括隐私交易、权限控制和与 Hyperledger Fabric 的集成,使其适用于企业级区块链解决方案。
  4. Nethermind:
    Nethermind 是一个以 C#编写的以太坊客户端,它致力于提供高性能和可扩展性。Nethermind 支持以太坊的主网、测试网和私有网络,并且提供了开发者友好的 API 和命令行界面。
  5. OpenEthereum(前称为 Parity-Ethereum):
    OpenEthereum 是以太坊网络上的一个 Rust 语言客户端,它支持主网、测试网和私有链,并且提供了高度可定制的配置选项。OpenEthereum 被设计为一个轻量级、高性能的客户端实现。

每个以太坊客户端实现都有其独特的特性,开发者和用户可以根据自身需求选择合适的客户端。这些客户端一起构成了以太坊网络的基础设施,支持了网络上的各种交易和智能合约的执行。

以太坊钱包

以太坊钱包是一种工具或应用程序,它允许用户存储、发送和接收以太币(ETH),以及与智能合约进行交互。以太坊钱包可以分为不同类型,包括桌面钱包、移动钱包、硬件钱包和在线钱包。每种类型的钱包都有其独特的特点和用途。

  1. 桌面钱包:

桌面钱包是安装在计算机桌面操作系统(如 Windows、Mac、Linux)上的应用程序。它们通常提供了丰富的功能和用户界面,适合需要更高安全性和控制的用户。一些常见的桌面钱包包括:

  • Mist/Geth: Ethereum 官方提供的桌面钱包,它集成了 Geth 客户端,支持以太坊主网和测试网络。
  • MetaMask: MetaMask 是一款基于浏览器插件的以太坊钱包,它允许用户在网页上直接使用以太坊应用程序(DApps)。
  • MyEtherWallet(MEW): MEW 是一个开源的在线钱包,允许用户在本地生成钱包,同时支持与硬件钱包的集成。
  1. 移动钱包:

移动钱包是安装在智能手机或平板电脑上的应用程序,它们提供了便捷的移动支付和交互体验。移动钱包通常具有简单的界面,适用于日常的支付和管理。一些常见的移动钱包包括:

  • Trust Wallet: Trust Wallet 是一款移动端的加密货币钱包,支持多种加密货币,包括以太币。
  • Coinbase Wallet: Coinbase Wallet 是由加密货币交易平台 Coinbase 提供的移动钱包,它允许用户轻松管理多种加密资产。
  1. 硬件钱包:

硬件钱包是一种专用的硬件设备,它们被设计用来安全地存储加密货币私钥。由于硬件钱包通常是离线的,因此它们提供了更高级别的安全性。一些常见的硬件钱包包括:

  • Ledger Nano S/Nano X: Ledger Nano S 和 Nano X 是广受欢迎的硬件钱包,支持多种加密货币,包括以太币。
  • Trezor: Trezor 是另一款知名的硬件钱包,提供了冷存储解决方案,确保私钥永远不会接触互联网。
  1. 在线钱包:

在线钱包是通过网页浏览器访问的钱包服务,它们通常由第三方提供。在线钱包方便用户快速创建钱包和进行交易,但由于其在线性质,安全性相对较低,因此通常不适合存储大量的加密货币。

无论选择哪种类型的以太坊钱包,用户都应该谨慎保管自己的私钥,并采取适当的安全措施,以确保资金的安全。

以太坊网络

以太坊有几个主要的网络,每个网络具有不同的特点和用途。以下是一些常见的以太坊网络:

  1. 以太坊主网(Ethereum Mainnet):
    以太坊的主网络是最大、最稳定的网络。它是实际的以太坊区块链,上面的交易和智能合约是真实的,它使用以太币(ETH)作为交易费用和价值传递。主网上的数据是永久性的,所有的交易都是真实发生的。
  2. 以太坊测试网络(Ethereum Testnets):
    以太坊测试网络是用于开发和测试目的的网络。在测试网络上,开发者可以进行实验、部署合约、测试 DApps,而无需使用真实的以太币。常见的测试网络包括:
  • Ropsten: 基于 Proof of Work 的测试网络,使用 ETH。
  • Rinkeby: 基于 Clique 共识算法的测试网络,使用 ETH。
  • Goerli: 跨链测试网络,支持以太坊和 Ethereum Classic 网络,使用 ETH。
  1. 以太坊私有网络(Ethereum Private Networks):
    以太坊私有网络是在独立环境中搭建的自定义网络,通常由开发者或组织用于内部测试、企业级应用或教育目的。私有网络可以配置各种参数,包括区块生成时间、难度、Gas 价格等。
  2. 以太坊 Classic(Ethereum Classic):
    以太坊 Classic 是以太坊网络的一个分支,它保留了在 2016 年 DAO 攻击事件前的区块链历史。以太坊 Classic 和以太坊主网络相比,采用了不同的发展路线和共识算法。ETH 和 ETC 是两个不同的加密货币,分别在以太坊主网络和以太坊 Classic 网络上流通。

这些不同的网络提供了各种各样的环境,以满足开发者、矿工和用户的不同需求。选择合适的网络取决于特定的用例和开发需求。

以太坊货币单位

在以太坊网络中,有几种货币单位用于表示不同的数量级。以下是以太坊中常见的货币单位:

  1. 以太(Ether,ETH):
    以太是以太坊网络的本地加密货币,也是最基本的货币单位。它用于支付交易费用(Gas 费用)和作为智能合约中的价值传输。1 ETH 等于 1,000,000,000,000,000,000(10 的 18 次方)Wei。
  2. Wei(微以太):
    Wei 是以太坊中最小的货币单位,是以太的最小可分割单位。1 ETH 等于 1,000,000,000,000,000,000 Wei(10 的 18 次方 Wei)。
  3. Gwei(吉 Wei):
    Gwei 是以太坊中的另一种常用货币单位,它等于 1,000,000,000(10 的 9 次方)Wei。Gwei 经常用于表示 Gas 价格,即每单位 Gas 的费用。例如,Gas 价格为 20 Gwei 表示每单位 Gas 的费用为 20,000,000,000 Wei。
  4. Szabo:
    Szabo 是以太坊中的较大货币单位,它等于 1,000,000 Wei(10 的 6 次方 Wei)。虽然在以太坊中不太常用,但有时会用来表示较大的数额。
  5. Finney 和 Ether:
    Finney 和 Ether 是以太坊中更大的货币单位,它们分别等于 1,000,000,000,000 Wei(10 的 12 次方 Wei)和 1,000,000,000,000,000,000,000 Wei(10 的 15 次方 Wei)。它们通常用于表示大额交易或资产。

这些单位的存在使得以太坊网络在处理非常小或非常大的价值时更加方便,同时也允许用户选择合适的单位来表示他们的交易或资产。

1

评论 (0)

取消