控制和责任
像以太坊这样的开放区块链是安全的,因为它们是_去中心化的_。这意味着以太坊的每个用户都应该控制自己的密钥,这些密钥可以控制对资金和合约的访问。一些用户选择通过使用第三方保管人(比如交易所钱包)放弃对密钥的控制权。在本书中,我们将教你如何控制和管理你自己的密钥。
这种控制带来了很大的责任。如果你丢失了你的钥匙,你将无法获得资金和合约。没有人可以帮助你重新获得访问权 - 你的资金将永远锁定。以下是一些帮助你管理这一责任的提示:
-
提示你选择密码时:强化它,备份并不共享。如果你没有密码管理器,请将其写下并存放在锁定的抽屉或保险柜中。只要你拥有帐户的“keystore”文件,就可以使用此密码。
-
当系统提示你备份密钥或助记词时,请使用笔和纸进行物理备份。不要把这个任务放在“以后”,你会忘记。这些在你丢失了系统中保存的所有数据时使用。
-
不要在数字文档,数字照片,屏幕截图,在线驱动器,加密的PDF等中存储密钥材料(加密或不加密),不要临时凑合的安全性。使用密码管理器或笔和纸。
-
在传输任何大量数据之前,先做一个小的测试交易(例如,1美元)。一旦你收到测试交易,请尝试从该钱包中发送。如果你忘记密码或因任何其他原因无法发送资金,最好是一个小小的损失。
-
请勿将金钱汇入本书所示的任何地址。私人密钥被列在书中,有人会立即拿走这笔钱。
以太网货币单位
以太坊的货币单位称为 以太 ether,也被称为ETH或符号 Ξ (来自看起来像程式化的大写字母E的希腊字母“Xi”)或(不太常见的)♦,例如,1个以太,或1个ETH,或 Ξ1,或 ♦1
Tip |
Ξ 使用Unicode字符926,♦使用9830。 |
以太被细分为更小的单位,直到可能的最小单位,这被命名为_wei_。一个 ether 是 1×1018或1,000,000,000,000,000,000 个 wei。你可能会听到人们也提到货币“以太坊”,但这是一个常见的初学者的错误。以太坊是制度,以太是货币。
以太的值总是在以太坊内部表示为_wei_,无符号整数值。当你处理1个以太网时,交易将编码10000000000000000000 wei作为值。
以太的各种单位既有使用国际单位系统(SI)的科学名称,也有口语化的名字,向计算机和密码学的许多伟大思想致敬。
表 Ether Denominations and Unit Names 显示了各种单位,它们的俗名(通用)名称和他们的SI名称。为了与价值的内部表示保持一致,该表格显示了所有面值的wei(第一行),在第七行中 ether 显示为1018 wei:
Table 1. Ether Denominations and Unit Names
Value (in wei) | Exponent | Common Name | SI Name |
---|---|---|---|
1 |
1 |
wei |
wei |
1,000 |
103 |
babbage |
kilowei or femtoether |
1,000,000 |
106 |
lovelace |
megawei or picoether |
1,000,000,000 |
109 |
shannon |
gigawei or nanoether |
1,000,000,000,000 |
1012 |
szabo |
microether or micro |
1,000,000,000,000,000 |
1015 |
finney |
milliether or milli |
1,000,000,000,000,000,000 |
1018 |
ether |
ether |
1,000,000,000,000,000,000,000 |
1021 |
grand |
kiloether |
1,000,000,000,000,000,000,000,000 |
1024 |
megaether |
选择一个以太坊钱包
以太坊钱包是你通往以太坊系统的门户。它拥有你的密钥,并且可以代表你创建和广播交易。选择一个以太坊钱包可能很困难,因为有很多不同功能和设计选择。有些更适合初学者,有些更适合专家。即使你现在选择一个你喜欢的,你可能会决定稍后切换到另一个钱包。以太坊本身在不断变化,“最好”的钱包往往是适应它们的。
别担心!如果你选择一个钱包而不喜欢它的工作方式,那么你可以很容易地更换钱包。你只需进行一项交易,即将资金从旧钱包发送到新钱包,或者通过导出和导入私钥来移动密钥。
首先,我们将选择三种不同类型的钱包作为整本书的示例:移动钱包,桌面钱包和基于网络的钱包。我们选择了这三款钱包,因为它们代表了广泛的复杂性和功能。然而,选择这些钱包并不是对其质量或安全性的认可。他们只是示范和测试。
起始钱包:
MetaMask
MetaMask是一款浏览器扩展钱包,可在你的浏览器(Chrome,Firefox,Opera或Brave Browser)中运行。它易于使用且便于测试,因为它可以连接到各种以太坊节点和测试区块链(请参阅“testnets”)。
Jaxx
Jaxx是一款多平台和多币种钱包,可在各种操作系统上运行,包括Android,iOS,Windows,Mac和Linux。对于新用户来说,它通常是一个不错的选择,因为它的设计简单易用。
MyEtherWallet (MEW)
MyEtherWallet是一款基于网络的钱包,可在任何浏览器中运行。它具有多个复杂的功能,我们将在许多示例中探讨这些功能。
Emerald Wallet
Emerald钱包设计用于以太坊经典区块链,但与其他以太坊区块链兼容。它是一款开源桌面应用程序,适用于Windows,Mac和Linux。Emerald钱包可以运行一个完整的节点或连接到一个公共的远程节点,工作在“轻量”模式下。它还有一个配套工具来在命令行中执行所有操作。
我们将首先在桌面上安装MetaMask
安装 MetaMask
打开Google Chrome浏览器并导航至:
https://chrome.google.com/webstore/category/extensions
搜索“MetaMask”并点击狐狸的标志。你应该看到这样的扩展的详细信息页面:
Figure 1. The detail page of the MetaMask Chrome Extension
验证你是否下载真正的MetaMask扩展非常重要,因为有时候人们可以将恶意扩展通过Google的过滤器。
-
在地址栏中显示ID nkbihfbeogaeaoehlefnkodbefgpgknn
-
有超过800个评论
-
拥有超过1,000,000名用户
确认你正在查看正确的扩展程序后,请点击“添加到Chrome”进行安装。
第一次使用MetaMask
一旦安装了MetaMask,你应该在浏览器的工具栏中看到一个新图标(狐狸头)。点击它开始。它将要求你接受条款和条件,然后通过输入密码来创建新的以太坊钱包:
Figure 2. The password page of the MetaMask Chrome Extension
Tip |
密码控制对MetaMask的访问,任何有权访问你的浏览器的人无法使用它。 |
一旦你设置了密码,MetaMask将为你生成一个钱包并向你显示一个_助记词备份_,由12个英文单词组成。如果MetaMask或你的计算机出现问题,可以在任何兼容的钱包中使用这些词来恢复对资金的访问。你不需要通过密码进行恢复。这12个字就足够了。