Want to pass your BTA Certified Blockchain Developer - Ethereum CBDE exam in the very first attempt? Try Pass2lead! It is equally effective for both starters and IT professionals.
VCE
To Iterate through a mapping, you:
A. can use the length parameter of the mapping.
B. you need an external helper variable.
C. you cannot iterate any mapping to make the overall language design more safe.
If a User calls contract A and that calls Contract B, then msg.sender in Contract B will contain the address of:
A. the User.
B. contract A.
Address.Call vs. Address.Delegatecall:
A. Address.call() is used for calling other contracts using the scope of the called contract in terms of storage variables. Address.delegatecall() is used for libraries, which uses the storage variables of the contract who called. Libraries are a great way to re-use already existing code and delegatecall can make sure that no storage is used from the library, instead it looks like the code is directly copied into the calling contract.
B. Address.delegatecall() is used for calling other contracts using the scope of the called contract in terms of storage variables. Address.call() is used for libraries, which uses the storage variables of the contract who called. Libraries are a great way to re-use already existing code and call() can make sure that no storage is used from the library, instead it looks like the code is directly copied into the calling contract.