Exercise: Validation
Practice using validation and structs in Solidity.
We'll cover the following
In this exercise, we'll practice using validation in Solidity. We'll update our smart contract to ensure not only that all the registered names are unique, but also that all the registered Ethereum addresses are unique. In other words, users won’t be able to register the same address under different names.
We'll implement this change in two steps. Firstly, we'll add a new struct type that we'll use in the nameForAddress
mapping as the new value type. Secondly, we'll update the smart contract to use the new type and enforce the new requirement.
Task 1: Add a new struct type
For the purpose of this exercise, we assume that any string is a valid name to register, so we won’t be able to use the value returned from nameForAddress
to determine if a particular address is already registered. To check if an address with a particular name exists, we'll use the same pattern we used in the previous lesson, and define a new struct with the boolean exists
field that we'll use to check if an address already exists.
First, we need to add the new struct
type and use it in the nameForAddress
mapping instead of the string
value type.
Get hands-on with 1400+ tech skills courses.