Great job on the explanation 👏🏽👏🏽👏🏽
I wanted to highlight a mistake on the initial code
instead of
pragma solidity ^0.8.7;
you have
pragma solidy ^0.8.7;
so I think it should be
// SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.8.7;
contract HelloWorld {
function sayHello() public pure returns (string memory) {
return "Hello World!";
}
}
I hope you found this helpful.