Reader small image

You're reading from  Solidity Programming Essentials. - Second Edition

Product typeBook
Published inJun 2022
PublisherPackt
ISBN-139781803231181
Edition2nd Edition
Concepts
Right arrow
Author (1)
Ritesh Modi
Ritesh Modi
author image
Ritesh Modi

Ritesh Modi is a technologist with more than 18 years of experience. He holds a master's degree in science in AI/ML from LJMU. He has been recognized as a Microsoft Regional Director for his contributions to building tech communities, products, and services. He has published more than 10 tech books in the past and is a cloud architect, speaker, and leader who is popular for his contributions to data centers, Azure, Kubernetes, blockchain, cognitive services, DevOps, AI, and automation.
Read more about Ritesh Modi

Right arrow

Determining contract addresses

Now that we understand the process of calling a contract function using Solidity assembly programming, another important coding requirement is to find out whether a given address belongs to an externally owned account or a contract account. This is especially useful when writing ERC20 and ERC721 token contracts.

To demonstrate how to determine whether an address is a contract address or an externally owned account, the same TargetContract contract shown in the previous section will be used. The TargetContract contract should be available on the Ethereum network and can be accessed using its address. The address of the TargetContract address can be supplied as an argument to the CheckIfContract function shown next. This function uses the assembly extcodesize opcode to determine the type of address supplied to it. It is a contract account if the length of the value returned by extcodesize opcode is greater than zero; otherwise, it belongs to a user...

lock icon
The rest of the page is locked
Previous PageNext Page
You have been reading a chapter from
Solidity Programming Essentials. - Second Edition
Published in: Jun 2022Publisher: PacktISBN-13: 9781803231181

Author (1)

author image
Ritesh Modi

Ritesh Modi is a technologist with more than 18 years of experience. He holds a master's degree in science in AI/ML from LJMU. He has been recognized as a Microsoft Regional Director for his contributions to building tech communities, products, and services. He has published more than 10 tech books in the past and is a cloud architect, speaker, and leader who is popular for his contributions to data centers, Azure, Kubernetes, blockchain, cognitive services, DevOps, AI, and automation.
Read more about Ritesh Modi