Getting checksum warning while executing "zos push"

While executing zos push I got this warning:

WARNING: Address 0x701928685ef0a6c7011b2290950088dc2259cfe3 is not checksummed. Consider checksumming it to avoid future warnings or errors.

I am using Ganache and the address provided above is the 10th address of ganache-cli.
why I am getting this error and how to resolve it. I am using ubuntu@18.04, zos@2.2.0, ganache-cli@6.3.0

1 Like

Hi @ChakshuJain

The Available Accounts displayed in ganache-cli are not checksummed. So when you use them with zos you get a warning so as to reduce the chance of errors with addresses that aren’t checksummed.

For an explanation on the checksum used, see eip-55

A quick way to checksum addresses is to paste into Etherscan and then copy the checksummed address. In your case this is:
0x701928685Ef0a6c7011B2290950088dC2259CFE3

I have asked about this on Truffle Gitter:

1 Like

Hey @abcoathup, thanks, now I got it. Can you please also explain the explanation available at eip-55 in plain English which is easy to understand?

1 Like

Hi @ChakshuJain

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.

1 Like

I have created an Issue https://github.com/trufflesuite/ganache-cli/issues/657 for a feature request to checksum Available Accounts in ganache-cli.

1 Like

Hi @abcoathup
You are awesome. Thanks for explaining and making it more clear and also for creating a feature request.

2 Likes

Thank you @ChakshuJain

When you have a moment it would be great if you could share with the community what you are working on.

Hi @abcoathup
Right now I am learning ZepKit and ZeppelinOS. Very soon I will build some cool projects using them and definitely share with the community.
By the way, if you know some good resources to learn ZeppelinOS, specifically openzeppelin-eth(ERC721), apart from official blogs then please share it would be really helpful for me.

1 Like

Hi @ChakshuJain

The ZeppelinOS documentation is great to go through starting with:

For ERC721 there is some information on creating an ERC721 token from the EVM package in the section on linking:

For guide on OpenZeppelin implementation of ERC721:

Can you add some more detail of what you would like from a guide to Guides and Tutorials requests ?

Feel free to ask lots of questions. Suggest you create a new topic per question (unless they are related) so that it is easy for the community to help answer.

1 Like