主页 > 最新imtoken官网下载链接 > 以太坊:创建安全的多重签名钱包和高级设置

以太坊:创建安全的多重签名钱包和高级设置

最新imtoken官网下载链接 2023-03-15 06:54:47

在 Mist 中创建多重签名钱包

Mist以太坊钱包可以选择使用多重签名钱包,让钱包内的余额更加安全。 使用多重签名钱包的好处是需要多个账户的批准才能从余额中提取大量资金。 在创建多重签名钱包之前,您需要创建多个账户。

在 Mist 中创建帐户文件很容易。 单击“帐户”菜单下的“添加帐户”。 选择一个高度安全且易于记忆的密码(记住没有密码找回选项),确认,帐户创建完成。 创建至少 2 个帐户。 如果您愿意,可以在另一台运行 Mist 的计算机上创建第二个帐户(理论上这会使多重签名更安全)。 您只需要第二个账户(充值地址)的公钥即可创建多重签名钱包(复制/粘贴,不要手动输入)。 因为创建多重签名钱包合约需要第一个账户,所以第一个账户必须在您创建多重签名钱包的计算机上。

现在您已经创建了您的帐户,请确保它的安全并进行备份(如果不这样做,您的计算机会崩溃并且您的余额会丢失)。 单击菜单顶部的“备份”。 选择“keystore”文件夹,计数器/选择“copy”(不要选择“cut”否则效果不好)。 回到桌面,在空白处回击,选择“粘贴”。 您可能希望将此“keystore”文件夹重命名为“ethereum-keystore-backup-year-month-day”,以便以后轻松识别它。 这时候可以将文件夹的内容添加到压缩文件中(如果是在线备份,最好用另一个安全性高且好记的密码对文件进行密码保护),复制到一个U 盘,将其刻录到 CD/DVD,或上传到在线存储设备(Dropbox/Google Drive 等)。

您现在应该向第一个帐户(用于创建多重签名钱包的帐户)添加大约少于 0.02 个以太币。 这是创建多重签名钱包所需的交易费用。 还需要 1 个以太币(或更多),因为 Mist 现在需要这个来确保钱包合约交易有足够的“gas”来正确执行……所以对于新手来说,总共不到 1.02 个以太币。

创建多重签名钱包时,您将输入所有附属账户的完整地址。 我建议将每个地址复制/粘贴到一个简单的文本编辑器(记事本/kedit 等)中,然后转到每个 Mist 帐户的详细信息页面后,从右侧的按钮栏中选择“复制地址”选项。 不要手动输入地址,否则有输入错误的风险,您可能会将交易发送到错误的地址,从而失去余额。

我们现在准备创建一个多重签名钱包。 在“钱包合约”下,选择“添加钱包合约”。 给它起个名字,选择第一个账户持有人,然后选择“多重签名钱包合约”。 你会看到这样的文字出现:

“这是一个由 X 持有人共同控制的联名账户。 每天最多可以发送 X Ether。 任何超过每日限额的交易都需要 X 持有人确认。”

设置这个多重签名钱包附带的持有人(账户)的数量,每天的取款限额(这个只需要一个账户就可以提取这些资金,超过每天限额允许多少持有人(账户)批准取款。

现在添加之前在文本编辑器中复制/粘贴的账户地址,确认所有设置无误后,点击底部的“创建”按钮。 然后您需要输入密码才能发送交易。 在“钱包合约”部分,会显示新的钱包,提示您“创建”。

钱包创建完成后,您可以在屏幕上看到合约地址。 选择整个地址,将其复制/粘贴到文本编辑器中的新文件中,将其保存到桌面,并将其命名为“Ethereum-Wallet-Address.txt”或其他名称。

现在你只需要通过备份合约文件来备份“Ethereum-wallet-address.txt”,然后你就可以使用这个地址在ETH中加载一个新的多重签名钱包。

如果您想从备份中恢复,只需将“Ethereum - keystore - backup”文件夹中的文件复制到本指南第一部分提到的“keystore”文件夹中即可。 如果您在从未安装过 Mist 的机器上安装(该文件夹将在您首次创建帐户时创建),您可能需要创建一个“keystore”文件夹。 如果要恢复多重签名钱包,不要像我们之前创建的那样选择“多重签名钱包合约”,直接选择“导入钱包”即可。

故障排除:

使用 Eth

与 geth 可用的密钥管理相关的每个选项也适用于 eth。 以下选项与“帐户”相关:

1
2
3
4

> eth account list // List all keys available in wallet.
> eth account new // Create a new key and add it to the wallet.
> eth account update [|
, ... ] // Decrypt and re-encrypt given keys. > eth account import [||] // Import keys from given source and place in wallet.

以下是与“钱包”相关的选项:

1

> eth wallet import  //Import a presale wallet.

注意:“账户导入”选项只能用于导入通用密钥文件。 “钱包导入”选项只能用于导入预售钱包。

也可以从集成控制台访问密钥管理(使用内置控制台或 geth 插件):

1
2
3
4
5
6
7
8

> web3.personal
{
listAccounts: [],
getListAccounts: function(callback),
lockAccount: function(),
newAccount: function(),
unlockAccount: function()
}

使用 EthKey(已弃用)

Ethkey 是一个用 C++ 实现的 CLI 工具,允许您与以太坊钱包进行交互。 您可以使用它来列出、检查、创建、删除和修改密钥以太坊钱包标识怎么填,以及检查、创建和签署交易。 我们假设您没有运行过诸如 eth 之类的客户端或 Aleth 系列中的任何客户端。 如果你运行过,可以跳过本章。 要创建钱包,请使用 creatwallet 命令运行 ethkey:

1

> ethkey createwallet

请输入管理员密码以保护密钥库(设置高安全性!):您将被要求输入“管理员”密码。 这可以保护您的隐私,并且它默认为您的任何密钥的密码。 您需要再次输入相同的文本进行确认。

注意:使用随机生成的强密码。

我们可以使用 list 命令简单地列出钱包中的密钥:

1
2

> ethkey list
No keys found.

我们还没有创建任何密钥,这就是它告诉我们的! 让我们创建一个。 要创建一个密钥,我们需要使用新命令,它需要传递一个名称——这也是我们要给钱包中的帐户的名称。 让我们称之为“测试”:

1

> ethkey new test

输入密码以保护此帐户(或改用管理员密码)。 这会提示您输入密码以保护此密钥。 如果您只是按回车键,将使用默认的“管理员”密码。 这意味着当您想要使用您的帐户时以太坊钱包标识怎么填,您不必输入密钥代码(因为它会记住管理员代码)。 一般来说,您应该尝试为每个密钥设置不同的密码,因为这将防止一个密码危及其他帐户。 但是,为了方便起见,您可能决定对安全性较低的帐户使用相同的密码。

在这里,我们使用一个非常有想象力的密码123(千万不要使用这么简单的密码,除非是临时测试账号)。 输入密码后,它会要求您再次输入以确认。 再次输入 123。 由于你设置了它的密码,它会要求你提供密码提示,每次输入时都会显示。 小费存储在钱包中,受管理员密码保护。 我们输入错误密码提示321逆序。

1
2
3
4
5
6
7
8
9

> ethkey new test
Enter a passphrase with which to secure this account (or nothing to use the master passphrase):
Please confirm the passphrase by entering it again:
Enter a hint to help you remember this passphrase: 321 backwards
Created key 055dde03-47ff-dded-8950-0fe39b1fa101
Name: test
Password hint: 321 backwards
ICAP: XE472EVKU3CGMJF2YQ0J9RO1Y90BC0LDFZ
Raw hex: 0092e965928626f8880629cec353d3fd7ca5974f

所有普通(或直接)ICAP 地址都以 XE 开头,因此很容易识别。 请注意,此密钥在创建的密钥之后有另一个标识符,称为 UUID。 这是一个唯一的密钥标识符,与帐户本身无关。 知道它不会帮助攻击者发现您在线的人。 它也恰好是密钥的文件名,您可以在 ~/.web3/keys(Mac 或 Linux)或 $HOME/AppData/Web3/keys (Windows) 中找到它。 让我们通过列出钱包中的密钥来验证它是否正常工作:

1
2

> ethkey list
055dde03-47ff-dded-8950-0fe39b1fa101 0092e965... XE472EVKU3CGMJF2YQ0J9RO1Y90BC0LDFZ test

它将每行报告一个键(这里总共只有一个键)。 在此示例中,密钥存储在文件 055dde 中,其 ICAP 地址以 XE472EVK 开头。 不容易记住,所以有个合适的名字会很有帮助,我们就叫它test吧。