eth代表以太坊。
以太坊是一种开源的区块链技术平台,它允许开发者在其上建立和部署去中心化应用。以下是关于以太坊的详细解释:
一、以太坊的概述
以太坊是一个智能合约平台和公共区块链,它提供了一个去中心化的虚拟机器,被称为以太坊虚拟机。这个虚拟机器可以执行在区块链上编写的智能合约。通过这些智能合约,以太坊支持各种复杂的去中心化应用,如数字货币钱包、去中心化金融应用等。由于其开放源代码和灵活性,开发者可以在以太坊上实现众多创新的应用。
二、以太坊的技术特点
以太坊采用区块链技术,确保数据的不可篡改性和匿名性。它的核心特性包括智能合约和去中心化的应用程序。智能合约是自动执行、管理和结算协议条款的软件程序,运行在区块链上,可实现各种业务逻辑。去中心化的应用程序则意味着应用的服务和运行数据不由单一的中心化机构控制,而是由网络中的多个节点共同维护。
三、以太币的角色
在以太坊生态系统中,ETH不仅是交易的媒介,还是系统内的治理和存储价值的工具。ETH可以作为平台的原生代币,用于支付交易费用和应用程序的开发和运行。此外,ETH持有者还有权参与以太坊网络治理,通过投票等方式对网络的升级和重大决策产生影响。因此,ETH是以太坊生态中不可或缺的一部分。
综上所述,ETH代表以太坊,是一种基于区块链技术的智能合约平台和公共区块链。它以开放源代码和灵活性著称,支持多种去中心化应用,并在其生态系统中发挥着交易媒介和治理工具的重要作用。
本文主要讲解通过助记词、keystore、私钥 3种方式来导入钱包。导入钱包就是说根据输入的这3者中的一个去重新生成一个新的钱包。导入钱包的过程和创建的过程其实是差不多的。
根据助记词导入钱包不需要原始密码,密码可以重新设置。根据用户输入的助记词,先验证助记词的合规性(格式、个数等),验证正确后,配合用户输入的密码重新生成一个新的钱包。
验证助记词的合规性(格式、个数等)
助记词导入钱包
通过私钥导入钱包其实和创建钱包的过程基本一致。因为私钥在导出的时候转换成了16进制,所以在导入私钥的时候,要把16进制转换为byte数组。
keystore就是钱包文件,实际上就是钱包信息的json字符串。导入keystore是需要输入密码的,这个密码是你最后导出keystore时的密码。将keystore字符串变成walletFile实例再通过 Wallet.decrypt(password, walletFile);解密,成功则可以导入,否则不能导入。
这是Web3j的API,程序走到这里经常OOM!
具体原因的话,我就不多说了,细节大家可以看这里
解决办法
根据源码修改 decrypt方法,这里我用一个已经修改好的第三方库
修改后的解密方法
导入Kestore
1、导入助记词和私钥是不需要以前的密码的,而是重新输入新的密码;导入Keystore则需要以前的密码,如果密码不正确,会提示地址和私钥不匹配。
2、关于备份助记词
用过imtoken的同学可以看到imtoken是可以导出(备份)助记词的。这个一开始我也很困惑,后来了解到其实它实在创建钱包的时候,在app本地保存了助记词,导出只是讲数据读取出来而已。还有一点,imtoken一旦备份了助记词之后,之后就没有备份那个功能了,也就是说助记词在本地存储中删除了;而且导入钱包的时候也是没有备份助记词这个功能的。