A checksum is a small piece of extra data that can be used to check that data is unchanged.
A simple checksum could be to sum all the digits of a number string together and use the last two digits of the sum as the checksum. e.g. “1464893” checksum would be 35 (would be 1+4+6+4+8+9+3=35).
Changing any of the data would ideally result in a different checksum, meaning there was an error with the data.
When Ethereum launched, addresses didn’t include a checksum. A small change to an address such as a typo when doing a transfer, result in funds being sent in error to a different address than expected.
To reduce the chances of error, a checksum scheme was implemented eip-55 which didn’t change the overall length of the address, just the capitalization of some hex characters in the address.
convert the address to hex, but if the
i th digit is a letter (ie. it’s one of
abcdef ) print it in uppercase if the
4*i th bit of the hash of the lowercase hexadecimal address is 1 otherwise print it in lowercase.
Let me know if you need more information.