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

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.

主站蜘蛛池模板: 来凤县| 库车县| 凤阳县| 康马县| 弥勒县| 苍梧县| 鄂伦春自治旗| 新郑市| 沧州市| 孟津县| 墨玉县| 晋州市| 金乡县| 囊谦县| 横峰县| 三台县| 香港| 永平县| 丹阳市| 长沙县| 武功县| 乐亭县| 阿城市| 光泽县| 即墨市| 罗定市| 连江县| 荣成市| 淮北市| 海盐县| 靖宇县| 乌海市| 阳泉市| 于田县| 湘乡市| 德惠市| 乐东| 泾川县| 安仁县| 巴林左旗| 宁安市|