区块链钱包开发架构的简单介绍

随着国内区块链数字货币交易平台的逐步完善,区块链钱包的使用会越来越频繁和重要,在使用区块链钱包时,有几个名词必须深刻理解,不然就有可能造成区块链资产的损失,这几个名词为私钥、助记词、keystore、地址、密码。若以银行账户为类比,这 5 个词分别对应内容如下:

私钥=银行卡号+银行卡密码助记词=银行卡号+银行卡密码Keystore+密码=银行卡号+银行卡密码Keystore ≠ 银行卡号地址=银行卡号密码=银行卡密码

 

一、地址地址=银行卡号1.生成区块链钱包开发后会生成一个以 0x 开头的 42 位字符串,这个字符串就是区块链钱包地址,一个钱包对应一个钱包地址,地址唯一且不能修改,也就是说一个钱包中所有代币的转账收款地址都是一样的。例如,一个钱包中 ETH 的转账收款地址和 EOS 的转账收款地址是一样。这一点和数字货币交易平台上的不一样,平台上不同代币的转账收款地址一般都不同,因此,转币到数字货币交易平台前一定要确认好地址。2.用途区块链钱包地址可以用于接收别人转币,也可以作为转币的凭证。二、密码密码=银行卡密码1.设定区块链钱包开发时,需要设定一个密码,这个密码要求不少于 8 个字符,为了安全,密码最好设置复杂一点。密码可以进行修改或重置,修改密码有两种方法,一是直接修改密码,这需要输入原密码。如果原密码忘记了,用助记词或私钥导入钱包,同时设置新密码。2.用途密码的用途有两个,一是转账时候的支付密码,二是用 keystore 导入区块链钱包时的登录密码。3.特征在现实世界中,一个银行卡只对应一个密码,对密码修改后,原密码就失去作用。但是在云豹开发的区块链钱包中,就不一样了,一个钱包在不同手机上可以用不同的密码,彼此相互独立,互不影响。例如,在 A 手机钱包中设置了一个密码,在 B 手机导入这个钱包并设置一个新密码,并不影响 A 手机钱包的密码使用。三、私钥私钥=银行卡号+银行卡密码1.导出区块链钱包开发后,输入密码可以导出私钥,这个私钥属于明文私钥,由 64 位字符串组成,一个钱包只有一个私钥且不能修改。2.用途在导入区块链钱包中,输入私钥并设置一个密码(不用输入原密码),就能进入钱包并拥有这个区块链钱包的掌控权,就可以把钱包中的代币转移走。四、助记词助记词=银行卡号+银行卡密码助记词=私钥1.备份区块链钱包开发后,会出现一个备份助记词功能,选择备份助记词,输入密码,会出现 12 个单词,每个单词之间有一个空格,这个就是助记词,一个钱包只有一个助记词且不能修改。2.用途助记词是私钥的另一种表现形式,具有和私钥同样的功能,在导入区块链钱包中,输入助记词并设置一个密码(不用输入原密码),就能进入区块链钱包并拥有这个钱包的掌控权,就可以把钱包中的代币转移走。3.特征助记词只能备份一次,备份后,在区块链钱包中再也不会显示,因此在备份时一定要抄写下来。五、keystorekeystore+密码=银行卡号+银行卡密码Keystore ≠ 银行卡号keystore=加密私钥keystore+密码=私钥1.备份区块链钱包开发里有一个备份 keystore 功能,选择备份 keystore,输入密码,会出现一大段字符,这个就是 keystore。2.用途在导入区块链钱包中,选择官方钱包,输入 keystore 和密码,就能进入钱包。需要说明的是,这个密码是本手机原来设置的本钱包密码, 这一点和用私钥或助记词导入钱包不一样,用私钥或助记词导入钱包,不需要知道原密码,直接重置密码。3.特征keystore 属于加密私钥,和区块链钱包密码有很大关联,钱包密码修改后,keystore 也就相应变化,在用 keystore 导入钱包时,需要输入密码,这个密码是备份 keystore 时的钱包密码,与后来密码的修改无关。六、结语在现实世界中,如果你的银行卡丢了,密码忘了,可以去银行帮你找回,你的钱还是你的钱,丢不了,这是中心化的优势。但是在区块链钱包世界中,除了你自己,没有人存储你的钱包信息,钱包信息要是丢了,没人能够帮你找回,钱包公司也不能。因此,只要你保护好钱包信息,钱包里面的财产只属于你自己,谁也抢不走,这是去中心化的优势,

posted @ 2019-04-21 14:50  py_learning  阅读(1857)  评论(3编辑  收藏  举报