Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Chinese Simplified content buckets (Foundation docs, Foundational docs - Nodes and clients) #11270

Merged
merged 3 commits into from
Oct 3, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 12 additions & 10 deletions src/content/translations/zh/developers/docs/accounts/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,14 @@ lang: zh

## 前提条件 {#prerequisites}

帐户是一个很适合初学者的主题。 但为了帮助您更好地理解这个页面,我们建议您首先阅读我们的[以太坊简介](/developers/docs/intro-to-ethereum/)。
为了帮助你更好地理解这个页面,我们建议你首先阅读我们的[以太坊简介](/developers/docs/intro-to-ethereum/)。

## 帐户类型 {#types-of-account}

以太坊有两种帐户类型:

- 外部所有的帐户 (EOA) – 由任何拥有私钥的人控制
- 合约帐户 部署到网络上的智能合约,由代码控制。 了解[智能合约](/developers/docs/smart-contracts/)。
- 合约帐户 部署到网络上的智能合约,由代码控制。 了解[智能合约](/developers/docs/smart-contracts/)。

这两种帐户类型都能:

Expand All @@ -42,20 +42,20 @@ lang: zh

以太坊帐户有四个字段:

- `nonce` -一个计数器,用来显示外部帐户发送的交易数量或合约帐户创建的合约数量。 每个帐户只能执行具有一个给定随机数的一笔交易,以防范重放攻击,重放攻击指多次广播和重复执行已签署的交易。
- `balance` – 这个地址拥有的 Wei 数量。 Wei 是以太币的计数单位,每个 ETH 有 1e+18 Wei。
- `nonce` - 一个计数器,用来显示外部帐户发送的交易数量或合约帐户创建的合约数量。 每个帐户只能执行具有一个给定随机数的一笔交易,以防范重放攻击,重放攻击指多次广播和重复执行已签署的交易。
- `balance` – 这个地址拥有的 Wei 数量。 Wei 是以太币的计数单位,每个 ETH 有 1e+18 Wei。
- `codeHash` - 该哈希表示以太坊虚拟机 (EVM) 上的帐户*代码*。 合约帐户具有编程的代码片段,可以执行不同的操作。 如果帐户收到消息调用,则执行此 EVM 代码。 与其他帐户字段不同,不能更改。 所有代码片段都被保存在状态数据库的相应哈希下,供后续检索。 此哈希值称为 codeHash。 对于外部所有的帐户,codeHash 字段是空字符串的哈希。
- `storageRoot` – 有时被称为存储哈希。 Merkle Patricia trie 根节点的 256 位哈希已编码了帐户的存储内容(256 位整数值映射),并编码为 Trie,作为来自 256 的 Keccak 256 位哈希的映射位整数键,用于 RLP 编码的 256 位整数值。 此 Trie 对此帐户存储内容的哈希进行编码,默认情况下为空。

![显示帐户组成部分的图表](./accounts.png) _示意图节选自[以太坊虚拟机图解](https://takenobu-hs.github.io/downloads/ethereum_evm_illustrated.pdf)_

## 外部持有的帐户和密钥对 {#externally-owned-accounts-and-key-pairs}

帐户由公钥和私钥加密对组成。 它们有助于证明交易实际上是由发送者签名的,并防止伪造。 您的私钥是您用来签名交易的密钥,所以它保障您对与您帐户相关的资金进行管理。 您从未真正持有加密货币,您持有私钥 – 资金总是在以太坊的账本上。
帐户由公钥和私钥加密对组成。 它们有助于证明交易实际上是由发送者签名的,并防止伪造。 你的私钥是你用来签名交易的密钥,所以它保障你对与自己帐户相关的资金进行管理。 你从未真正持有加密货币,你持有私钥 – 资金总是在以太坊的账本上。

这将防止恶意参与者广播虚假交易,因为您总是可以验证交易的发送者
这将防止恶意参与者广播虚假交易,因为你总是可以验证交易的发送者

如果 Alice 想要从她自己的帐户发送 ETH 到 Bob 的帐户,Alice 需要创建交易请求并将其发送到网络进行验证。 以太坊对公钥加密的使用确保了 Alice 可以证明她最初发起了交易请求。 没有加密机制,恶意对手 Eve 可以简单地公开广播一个看起来像“从 Alice 的帐户发送 5 ETH 到 Eve 帐户”的请求。而且没有人能够证实它不是来自 Alice
如果 Alice 想要从她自己的帐户发送 ETH 到 Bob 的帐户,Alice 需要创建交易请求并将其发送到网络进行验证。 以太坊对公钥加密的使用确保了 Alice 可以证明她最初发起了交易请求。 没有加密机制,恶意对手 Eve 可以简单地公开广播一个看起来像“从 Alice 的帐户发送 5 ETH 到 Eve 帐户”的请求。而且没有人能够证实请求不是由 Alice 发送

## 帐户创建 {#account-creation}

Expand All @@ -69,7 +69,7 @@ lang: zh

使用[椭圆曲线数字签名算法](https://wikipedia.org/wiki/Elliptic_Curve_Digital_Signature_Algorithm)从私钥生成公钥。 通过获取公钥 Keccak-256 哈希的最后 20 个字节并校验码前面添加 `0x`,可以为帐户获取公共地址。

下面的示例显示如何使用一种名为 [Clef](https://geth.ethereum.org/docs/tools/clef/introduction) 的签名工具生成一个新帐户。 Clef 是一个集成在以太坊客户端[Geth](https://geth.ethereum.org) 中的账户管理和签名工具。 `clef newaccount` 命令创建一个新的密钥对并保存在加密的密钥库中。
下面的示例显示如何使用一种名为 [Clef](https://geth.ethereum.org/docs/tools/clef/introduction) 的签名工具生成一个新帐户。 Clef 是一个集成在以太坊客户端 [Geth](https://geth.ethereum.org) 中的账户管理和签名工具。 `clef newaccount` 命令创建一个新的密钥对并保存在加密的密钥库中。

```
> clef newaccount --keystore <path>
Expand All @@ -86,9 +86,9 @@ WARN [10-28|16:19:09.306] Please remember your password!

[Geth 相关文档](https://geth.ethereum.org/docs)

可以通过您的私钥获取公钥,但您不能通过公钥获取私钥。 这意味着保持私人密钥的安全至关重要,如同名称所建议的 **PRIVATE**。
可以通过你的私钥获取公钥,但你不能通过公钥获取私钥。 这意味着保持私人密钥的安全至关重要,如同名称所建议的 **PRIVATE**。

您需要一个私钥来签署消息和交易并输出签名。 然后其他人可以使用签名获取您的公钥,证明信息的作者。 在您的应用程序中,您可以使用 javascript 库向网络发送交易。
你需要一个私钥来签署消息和交易并输出签名。 然后其他人可以使用签名获取你的公钥,证明信息的作者。 在你的应用程序中,可以使用 javascript 库向网络发送交易。

## 合约帐户 {#contract-accounts}

Expand Down Expand Up @@ -120,6 +120,8 @@ WARN [10-28|16:19:09.306] Please remember your password!

## 延伸阅读 {#further-reading}

- [了解以太坊帐户](https://info.etherscan.com/understanding-ethereum-accounts/) - etherscan

_还有哪些社区资源对你有所帮助? 请编辑本页面并添加!_

## 相关主题 {#related-topics}
Expand Down
27 changes: 19 additions & 8 deletions src/content/translations/zh/developers/docs/blocks/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ lang: zh

## 前提条件 {#prerequisites}

区块是一个对初学者非常友好的主题。 为了帮助您更好地理解这个页面,我们建议您先阅读[帐户](/developers/docs/accounts/)、[交易](/developers/docs/transactions/)和我们的[以太坊简介](/developers/docs/intro-to-ethereum/)。
区块是一个对初学者非常友好的主题。 为了帮助您更好地理解这个页面,我们建议你先阅读[帐户](/developers/docs/accounts/)、[交易](/developers/docs/transactions/)和我们的[以太坊简介](/developers/docs/intro-to-ethereum/)。

## 为什么要有区块? {#why-blocks}

Expand Down Expand Up @@ -95,13 +95,14 @@ lang: zh
| `block_number` | 当前区块的编号 |
| `gas_limit` | 此区块允许的最大燃料量 |
| `gas_used` | 此区块中使用的实际燃料量 |
| `时间戳` | 出块时间 |
| `时间戳` | 区块时间 |
| `extra_data` | 作为原始字节的任意附加数据 |
| `base_fee_per_gas` | 基础费值 |
| `block_hash` | 执行区块的哈希 |
| `transactions_root` | 有效载荷中交易的根哈希 |
| `withdrawal_root` | 有效负载中提款的根哈希 |

`execution_payload` 本身包含以下字段(这些与 header 字段相同,只是它包含的不是交易的根哈希,而是实际的交易列表):
`execution_payload` 本身包含以下字段(请注意这与 header 相同,只是它包含的不是交易的根哈希,而是实际的交易列表和提款信息列表):

| 栏目 | 简介 |
| :----------------- | :----------------------------------- |
Expand All @@ -119,20 +120,30 @@ lang: zh
| `base_fee_per_gas` | 基本费用值 |
| `block_hash` | 执行区块的哈希值 |
| `交易` | 要执行交易的列表 |
| `提款` | 提款对象列表 |

## 出块时间 {#block-time}
`Withdrawals` 列表包含了 `withdrawal` 对象,结构如下:

出块时间是指两个区块之间的时间间隔。 在以太坊中,时间划分为每 12 秒一个单位,称为“时隙”。 在每个时隙内,选择一个单独的验证者提议区块。 假设所有验证者都在线且完全正常运行,则每个时隙内都会有一个区块产生,意味着出块时间是 12 秒。 但是,偶尔验证者在被要求提议区块时不在线,导致有时候一些时隙是空的。
| 字段 | 描述 |
| :--------------- | :----------- |
| `地址` | 提款帐户地址 |
| `amount` | 提款金额 |
| `索引` | 提款索引值 |
| `validatorIndex` | 验证者索引值 |

这种实现与基于工作量证明的系统不同。在工作量证明系统中,出块时间是带有概率性的,并由协议的目标挖矿难度调节。 以太坊的[平均出块时间](https://etherscan.io/chart/blocktime)是一个很好的例子,根据不变的新的 12 秒出块时间,可以清楚地推断出从工作量证明到权益证明的过渡。
## 区块时间 {#block-time}

区块时间是指两个区块之间的时间间隔。 在以太坊中,时间划分为每 12 秒一个单位,称为“时隙”。 在每个时隙内,选择一个单独的验证者提议区块。 假设所有验证者都在线且完全正常运行,则每个时隙内都会有一个区块产生,意味着区块时间是 12 秒。 但是,偶尔验证者在被要求提议区块时不在线,导致有时候一些时隙是空的。

这种实现与基于工作量证明的系统不同。在工作量证明系统中,区块时间是带有概率性的,并由协议的目标挖矿难度调节。 以太坊的[平均区块时间](https://etherscan.io/chart/blocktime)是一个很好的例子,根据不变的新的 12 秒区块时间,可以清楚地推断出从工作量证明到权益证明的过渡。

## 区块大小 {#block-size}

最后一条重要提示是,区块本身的大小是有界限的。 每个区块的目标大小为 1500 万单位燃料,但区块的大小将根据网络需求增加或减少,直至达到 3000 万单位燃料的区块限制(目标区块大小的 2 倍)。 区块中所有交易消耗的总燃料量必须低于区块的燃料限制。 这很重要,因为它可以确保区块不能任意扩大。 如果区块可以任意扩大,由于空间和速度方面的要求,性能较差的全节点将逐渐无法跟上网络。 区块越大,在下一个时隙中及时处理它们需要的算力就越强大。 这是一种集中化的因素,可以通过限制区块大小来抵制。
最后一条重要提示是,区块本身的大小是有界限的。 每个区块的目标大小为 1500 万单位燃料,但区块的大小将根据网络需求而增加或减少,直至达到 3000 万单位燃料的区块限制(目标区块大小的 2 倍)。 区块中所有交易消耗的总燃料量必须低于区块的燃料限制。 这很重要,因为它可以确保区块不能任意扩大。 如果区块可以任意扩大,由于空间和速度方面的要求,性能较差的全节点将逐渐无法跟上网络。 区块越大,在下一个时隙中及时处理它们需要的算力就越强大。 这是一种集中化的因素,可以通过限制区块大小来抵制。

## 延伸阅读 {#further-reading}

_还有哪些社区资源对您有所帮助? 编辑并添加本页面!_
_还有哪些社区资源对你有所帮助? 请编辑本页面并添加!_

## 相关主题 {#related-topics}

Expand Down
16 changes: 11 additions & 5 deletions src/content/translations/zh/developers/docs/dapps/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,11 @@ description:
lang: zh
---

去中心化应用 (dapp) 是在去中心化网络上构建的应用程序,结合了[智能合约](/developers/docs/smart-contracts/)和前端用户界面。 请注意,以太坊智能合约具有可访问性和透明性——就像开放 API 一样 ——所以你的 dapp 里甚至可以包含其他人写过的智能合约。
去中心化应用 (dapp) 是在去中心化网络上构建的应用程序,结合了[智能合约](/developers/docs/smart-contracts/)和前端用户界面。 请注意,就像开放 API 一样,以太坊智能合约具有可访问性和透明性,所以你的 dapp 里甚至可以包含其他人写过的智能合约。

## 前提条件 {#prerequisites}

在学习 dapp 之前,您应该了解[区块链基础知识](/developers/docs/intro-to-ethereum/),并了解以太坊网络及其去中心化方式。
在学习 dapp 之前,你应该了解[区块链基础知识](/developers/docs/intro-to-ethereum/),并了解以太坊网络及其去中心化方式。

## dapp 的定义 {#definition-of-a-dapp}

Expand All @@ -17,7 +17,7 @@ lang: zh
dapp 可以用任何语言编写(就像是一个 app)。它有前端代码和用户界面,能调用其后端。 此外,它的前端可以托管在去中心化存储上,例如 [IPFS](https://ipfs.io/)。

- **去中心化** - dapp 在以太坊上运行,这是一个开放的公共去中心化平台,没有任何一个人或团体可以控制
- **确定性** ,无论执行的环境如何,都执行相同的功能
- **确定性** ,无论执行的环境如何,都执行相同的功能
- **图灵完备** - dapp 可以根据所需资源执行任何操作
- **隔离性** - 它们在称为 EVM 的虚拟环境中执行。即使智能合约出现问题,也不会妨碍区块链网络的正常运行

Expand All @@ -30,7 +30,7 @@ dapp 可以用任何语言编写(就像是一个 app)。它有前端代码
## Dapp 开发的好处 {#benefits-of-dapp-development}

- **零停机时间** – 一旦将某 dapp 的智能合约部署到区块链上,整个网络都能为那些希望与合约互动的客户提供服务。 因此,恶意参与者无法针对单个 dapp 发起 DoS 攻击。
- **隐私** – 您不需要提供真实世界的身份来部署或与 dapp 进行交互。
- **隐私** – 你不需要提供真实世界的身份来部署或与 dapp 进行交互。
- **抵制审查** – 网络上没有任何一个实体可以阻止用户提交交易、部署 dapp 或读取区块链上的数据。
- **数据完整性** – 由于采用了加密基元,存储在区块链上的数据是不可更改和无可争议的。 恶意行为者无法伪造已经公开的交易或其他数据。
- **无需信任的计算/可验证的行为** – 智能合约可以分析并保证以可预测的方式执行,而无需信任中心化组织。 这在传统模式下是不存在的,比如我们使用网上银行系统时,我们要相信金融机构不会滥用我们的金融数据,不会篡改记录,也不会被黑客攻击。
Expand All @@ -54,7 +54,7 @@ dapp 可以用任何语言编写(就像是一个 app)。它有前端代码
- [GitHub](https://github.com/austintgriffith/scaffold-eth)
- [示例 dapp](https://punkwallet.io/)

**创建 Eth App _- 使用一个命令创建支持以太坊的应用程序。_**
**创建以太坊应用程序 _- 使用一个命令创建以太坊驱动的应用程序。_**

- [GitHub](https://github.com/paulrberg/create-eth-app)

Expand All @@ -68,6 +68,12 @@ dapp 可以用任何语言编写(就像是一个 app)。它有前端代码
- [etherflow.quiknode.io](https://etherflow.quiknode.io/)
- [GitHub](https://github.com/abunsen/etherflow)

**thirdweb _- 为 Web3 开发提供各种语言的软件开发工具包、智能合约、工具和基础设施。_**

- [主页](https://thirdweb.com/)
- [相关文档](https://portal.thirdweb.com/)
- [GitHub](https://github.com/thirdweb-dev/)

## 延伸阅读 {#further-reading}

- [探索去中心化应用程序](/dapps)
Expand Down
3 changes: 2 additions & 1 deletion src/content/translations/zh/developers/docs/evm/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ EVM 的物理实例不能像人们指向云或海浪那样描述,它是真实*

## 从账本到状态机 {#from-ledger-to-state-machine}

通常使用“分布式账簿”的类比来描述像比特币这样的区块链,它使用密码学的基本工具来实现去中心化的货币。 账本保存着活动记录,而活动必须遵守一套规则,这些规则限制用户在修改账本时可以做什么和不可以做什么。 例如,比特币地址不能花费比之前收到的更多的比特币。 这些规则是比特币和许多其他区块链上所有交易的基础。
通常使用“分布式账本”的类比来描述像比特币这样的区块链,它使用密码学的基本工具来实现去中心化的货币。 账本保存着活动记录,而活动必须遵守一套规则,这些规则限制用户在修改账本时可以做什么和不可以做什么。 例如,比特币地址不能花费比之前收到的更多的比特币。 这些规则是比特币和许多其他区块链上所有交易的基础。

虽然以太坊有自己的本机加密货币 (ETH),遵循几乎完全相同的直观规则,但它也支持更强大的功能:[智能合约](/developers/docs/smart-contracts/)。 对于此更复杂的功能,需要一个更复杂的类比。 以太坊不是分布式账本,而是分布式[状态机器](https://wikipedia.org/wiki/Finite-state_machine)。 以太坊的状态是一个大型数据结构,它不仅保存所有帐户和余额,而且还保存一个*机器状态*,它可以根据预定义的一组规则在不同的区块之间进行更改,并且可以执行任意的机器代码。 在区块中更改状态的具体规则由 EVM 定义。

Expand Down Expand Up @@ -71,6 +71,7 @@ EVM 的所有实现都必须遵守以太坊黄皮书中描述的规范。
- [Jellopaper aka KEVM:K 中的 EVM 语法](https://jellopaper.org/)
- [The Beigepaper](https://github.com/chronaeon/beigepaper)
- [以太坊虚拟机操作码](https://www.ethervm.io/)
- [以太坊虚拟机操作码交互参考](https://www.evm.codes/)
- [Solidity 文档的简短介绍](https://docs.soliditylang.org/en/latest/introduction-to-smart-contracts.html#index-6)

## 相关主题 {#related-topics}
Expand Down
Loading
Loading