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

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.

主站蜘蛛池模板: 阿合奇县| 遵化市| 儋州市| 慈溪市| 孟州市| 兴仁县| 治多县| 尼木县| 内黄县| 灌南县| 隆德县| 唐山市| 贡觉县| 宝坻区| 元谋县| 商都县| 乌兰察布市| 镇江市| 贞丰县| 香河县| 获嘉县| 洪江市| 和田市| 四子王旗| 双流县| 娱乐| 曲阜市| 乌恰县| 武强县| 阳春市| 视频| 织金县| 错那县| 玛沁县| 阳泉市| 射阳县| 浦东新区| 曲麻莱县| 宜州市| 西乌| 繁峙县|