在 Mist创建多签名钱包

Mist以太坊钱包有个选项是可以用多签名钱包使钱包里的余额更安全。用多签名钱包的好处是它需要多个账号共同批准才能够从余额中提取大额资金。创建多签名钱包之前,需要创建多个账号。

在Mist创建账号文件很容易。在“账号”菜单下点击“添加账号”。选择一个安全性高又容易记住的密码(记住没有密码找回选项),确认,账号创建就完成了。创建至少 2个账号。如果你愿意,第二个账号可以在另一台有Mist运行的电脑上创建(理论上这样可以使多签名更加安全)。你只需要第二个账号的公钥(存款地址)来创建多签名钱包(复制 /粘贴,不要手动输入)。因为需要第一个账号来创建多签名钱包合约,所以第一个账号必须是在你创建多签名钱包的电脑上。

既然已经创建了账号,保持安全并进行备份(如果不备份,电脑系统崩溃,余额就会丢失)。点击菜单顶端的“备份”。选择“keystore”文件夹,反击 /选择“复制”(不要选择“剪切”,否则结果会很糟糕)。回到桌面,在空白区域反击,选择“粘贴”。你可能会想把这个“keystore”文件夹重命名为“以太坊-keystore-备份-年-月-日”,这样以后就能很快辨认出来。这时候你就能把文件夹内容添加到压缩文件里(如果是在线备份,最好用另外一个安全性高又容易记住的密码对档案进行密码保护 ),复制到 U盘,刻录到CD/DVD ,或者上传到在线存储设备( Dropbox/Google Drive等)。

你现在应该添加大约不到 0.02以太币到第一个账号里(那个用来创建多签名钱包的账号)。这是创建多签名钱包所需的交易费用。另外再需要1以太币(或者更多),因为 Mist现在需要这样做来确保钱包合约交易有足够的“gas”来正常执行……所以对新人来说,总共需要不到 1.02以太币。

创建多签名钱包的时候,你会进入到附属在它上面所有账号的完整地址。我推荐把每个地址复制 /粘贴到简单的文本编辑器上(notepad/kedit等),到Mist每个账号的详情页以后,从右侧按键栏里选择“复制地址”选项。不要手动输入地址,或者冒着输入错误的风险,你可能会把交易发送到错误的地址,因此丢失余额。

我们现在准备好了创建多签名钱包。在“钱包合约”下,选择“增加钱包合约”。起个名字,选择第一个账号持有人,选择“多签名钱包合约”。你会看到出现这样的文字:

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

设置附属在这个多签名钱包上的持有人(账号)数量,每日提款限额(这只要求一个账号提出这些钱款,以及允许多少持有人(账号)批准超过每日限额的提款。

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

钱包创建完成后,就能在屏幕上看到合约地址。选择整个地址,复制/粘贴到文本编辑器的新文件里,保存至桌面,命名为“以太坊-钱包-地址.txt”或其他名称。

现在只需用备份合约文件的方式来备份“以太坊-钱包-地址.txt”,接着就能用这个地址在ETH装载新的多签名钱包。

如果你要从备份中恢复,只需要复制“以太坊 – keystore – 备份”文件夹里的文件到这个攻略第一部分里提到的“keystore”文件夹。如果是在从未安装过Mist的机器上安装(第一次创建账号的同时就会建立文件夹),可能需要创建“keystore”文件夹。如果要恢复多签名钱包,不要像我们创建之前一样选择“多签名钱包合约”,只选择“导入钱包”就可以了。

故障排查:

  • Mist不能同步。一个有用的解决方案是将个人电脑硬件时钟与NTP服务器同步,确保时间无误后重启。
  • Mist同步后启动,但出现了白屏。有可能是因为你在基于Linux的操作系统上运行了 “xorg” 视频驱动器(Ubuntu, Linux Mint等),试试安装制造商的视频驱动器。
  • 提示“密码错误”。在现在的Mist版本上,这有可能是个错误的提示。重启Mist,问题就能解决(如果你输入的确实是正确密码)。

使用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 [<uuid>|<address> , ... ] // Decrypt and re-encrypt given keys.
> eth account import [<uuid>|<file>|<secret-hex>] // Import keys from given source and place in wallet.

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

1
> eth wallet import <file> //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

请输入管理员密码来保护keystore(设一个安全性高的!):会问你要一个“管理员”密码。这能保护你的隐私,并且它会默认为你任何钥匙的密码。你需要再次输入同一文本来进行确认。

注意:使用安全性高的、随机生成的密码。

我们可以通过使用列表指令简单地列出钱包内的钥匙:

1
2
> ethkey list
No keys found.

我们还没创建任何钥匙,它也是这样告诉我们的!我们来创建一个吧。 要创建钥匙,我们需要用new指令,需要通过一个名字——这也是我们要给钱包里账号的名字。我们称之为“测试”:

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文件,有个以XE472EVK 开头的ICAP地址。这不容易记住,所以有个专有名称会很有帮助,还是叫test吧。

以太坊:创建安全多签名钱包及高级设置相关推荐

  1. plsql创建表提示标识符过长_创建安全多签名钱包及高级设置

    在 Mist创建多签名钱包 Mist以太坊钱包有个选项是可以用多签名钱包使钱包里的余额更安全.用多签名钱包的好处是它需要多个账号共同批准才能够从余额中提取大额资金.创建多签名钱包之前,需要创建多个账号 ...

  2. 分层确定性钱包-以太坊创建钱包

    基本概念 所有问题大体可以分为三类:区块链基本概念,钱包安全知识以及钱包转账交易 区块链的基本特性 去中心化 因为整个网络没有中心统治者.系统依靠的是网络上多个参与者的公平约束,所以任意每几个节点的权 ...

  3. 以太坊(EVM) 链下签名 链上验证 - 实践

    阅读完后,在篇末可领取周杰伦的Phanta Bear(杰伦熊)NFT,数量有限 >>仅10个哦 导读:看完本篇后,你将理解为什么要签名?它的原理是什么?如何在以太坊生态中进行签名和验签?以 ...

  4. (三)以太坊创建多重签名钱包

    (1)继续在私链做实验,首先创建3个账号,并且都分配一些以太币 (2)点击新增钱包-选择多重签名的钱包合约 (3)创建成功 (4)给钱包存入一定量的以太币,然后从多重钱包向其他账号发送11个以太币 ( ...

  5. [以太坊源代码分析] V. 从钱包到客户端

    以太坊作为一种数字货币以太币的运行系统,显然它也会有类似于钱包的客户端程序,用来提供管理账户余额等功能.我们知道,存放(或者绑定,挂靠)以太币的账户,在代码中以Address类型变量存在,所以能够管理 ...

  6. 以太坊PHP离线交易签名生成,以太坊web3.sendRawTransaction离线签名交易

    工作中需要复现短地址攻击和thedao重入攻击,重入攻击可以直接通过eth.sendTransaction和remix来发送交易,但是短地址攻击由于钱包和remix这些都对input做了长度检测,无法 ...

  7. 以太坊钱包开发系列3 - 展示钱包信息及发起签名交易

    最新内容会更新在主站深入浅出区块链社区 原文链接:使用 ethers.js 开发以太坊 Web 钱包 3 - 展示钱包信息及发起签名交易) 以太坊去中心化网页钱包开发系列,将从零开始开发出一个可以实际 ...

  8. 以太坊钱包开发系列 - 创建钱包账号

    想知道更多关于区块链技术知识,请百度[链客区块链技术问答社区] 链客,有问必答!! 以太坊去中心化网页钱包开发系列,将从零开始开发出一个可以实际使用的钱包,本系列文章是理论与实战相结合,一共有四篇:创 ...

  9. 以太坊中metamask、imtoken等钱包签名的php验证

    以太坊中metamask.imtoken等钱包签名的php验证 之前开发Dapp,需要用到以太坊钱包登陆dapp,找了很久没有这方面的库,加密算法倒是有很多,直接重新写了一个库,https://git ...

最新文章

  1. POJ1022 Packing Unit 4D Cubes
  2. java JDK 11.0.5的安装
  3. Windows下Anaconda2(Python2)和Anaconda3(Python3)的共存
  4. Eigen矩阵的运算(二)
  5. python爬虫教程入门-Python爬虫系列 - 入门教学
  6. 【工具】更新最新esp8266库离线安装包3.0.1、ESP32库离线安装包1.0.6
  7. 服务器用户配置文件在哪里找,管理远程桌面服务的用户配置文件
  8. P1412-经营与开发【dp】
  9. 深入前端研发效能治理:数据化运营思路及其实践
  10. k8s高可用集群_搭建高可用集群(初始化和部署keepalived)---K8S_Google工作笔记0055
  11. 傅盛:认知升级三部曲
  12. js表单提交enter触发提交
  13. 利用Python切头去尾
  14. Ultra Fast Deep Lane Detection with Hybrid Anchor Driven Ordinal Classification论文解读
  15. 街头篮球服务器一直维护,《街头篮球》2.8新版本停服维护更新公告
  16. 论文笔记 PCL: Proposal Cluster Learning for Weakly Supervised Object Detection - TPAMI 2018
  17. 标签类目体系(面向业务的数据资产设计方法论)-读书笔记3
  18. 戴尔电脑风扇声音大的解决方法
  19. 东华大学计算机考研资料汇总
  20. Odroid XU4学习笔记

热门文章

  1. 面向对象设计原则之三--依赖倒置(转)原则
  2. linux aarch64启动不了,引导AArch64 Linux
  3. Python-计算md5值对图片去重
  4. C#使用HttpWebRequest下载文件
  5. ASEMI代理TW6869-TA1-CRH瑞萨TW6869-TA1-CRH车规级
  6. three.js SVG 学习绘制三维地图
  7. 风电场风速两参数weibull(威布尔)分布研究(Matlab代码实现)
  8. 为什么不愿意专升本 学历有什么用
  9. 了解List组件的基本用法
  10. 简单的数据结构与算法(一)