主页 > imtoken钱包苹果版下载官网 > 以太坊 02 - 外部账户

以太坊 02 - 外部账户

外部账户

外部账户(EOA)由私钥控制外部账户以太坊,是用户实际控制的账户。 每个外部账户都有一对公钥和私钥,用于签署交易,其地址由公钥决定。 外部 该帐户不能包含以太坊虚拟机 (EVM) 代码。 我们可以把外部账户看成是用户在银行开的一个账户,公钥就是用户为这个账户设置的卡号,私钥就是用户设置的密码。 外部账户具有以下特征:

拥有一定的账户余额可以通过私钥控制发送交易,无需相关代码

用户可以使用 Geth(以太坊客户端)命令创建外部账户。 生成账户地址的过程主要分为三个步骤:

设置用户的私钥,也就是通常的用户密码。 使用加密算法从私钥生成相应的公钥。 根据公钥获取对应的账户地址。

第二步使用的加密算法是secp256k1椭圆曲线加密算法外部账户以太坊,不是RSA加密算法,因为前者比后者更高效、更安全。 对于从公钥中得到的账户地址,在以太坊中使用的是SHA3方法。 我们通过JavaScript的CryptoJS加密库来演示生成以太坊账户地址的过程:

// pubKey -> address
var pubKeyWordArray = CryptoJS.enc.Hex.parse(pubKey);
var hash = CryptoJS.SHA3(pubKeyWordArray, {outputLength : 256});
var address = hash.toString(CryptoJS.enc.Hex).slice(24)

复制