官术网_书友最值得收藏!

Ethereum accounts

To create an Ethereum account, we just need an asymmetric key pair. There are various algorithms, such as RSA, ECC, and so on, for generating asymmetric encryption keys. Ethereum uses elliptic curve cryptography (ECC). ECC has various parameters. These parameters are used to adjust speed and security. Ethereum uses the secp256k1 parameter. To go in depth about ECC and its parameters will require mathematical knowledge, and it's not necessary to understand it in depth for building DApps using Ethereum.

Ethereum uses 256-bit encryption. An Ethereum private/public key is a 256-bit number. As processors cannot represent such big numbers, it's encoded as a hexadecimal string of length 64.

Every account is represented by an address. Once we have the keys we need to generate the address, here is the procedure to generate the address from the public key:

  1. First, generate the keccak-256 hash of the public key. It will give you a 256-bit number.
  2. Drop the first 96 bits, that is, 12 bytes. You should now have 160 bits of binary data, that is, 20 bytes.
  3. Now encode the address as a hexadecimal string. So finally, you will have a bytestring of 40 characters, which is your account address.

Now anyone can send ether to this address.

主站蜘蛛池模板: 辽阳市| 和平县| 潮州市| 马鞍山市| 油尖旺区| 苏尼特左旗| 北川| 永州市| 康平县| 招远市| 吉隆县| 尼勒克县| 社旗县| 福泉市| 鄂托克旗| 开鲁县| 普陀区| 兰西县| 上高县| 上虞市| 永善县| 大关县| 遵义县| 廉江市| 新密市| 聂荣县| 玉林市| 瓦房店市| 固原市| 潮安县| 公主岭市| 宣武区| 平塘县| 东丰县| 衡山县| 黑河市| 广州市| 江城| 花垣县| 任丘市| 隆回县|