August 2019
Intermediate to advanced
486 pages
13h 52m
English
The withdrawal pattern is also known as a pull-over-push pattern. In this pattern, ether or token transfer (push) from the contract is avoided; rather, the user is allowed to pull ether or token from the contract.
There can be many contracts in which you want to send ether or token to multiple addresses or to a group of addresses. Sending ether from a contract via iterative or non-iterative methods is always going to cause problems, so this should be avoided. Consider the following DividendContract sample code of the contract. Using this contract, you can distribute the dividend to your investors:
contract DividendContract is Ownable { address[] public investors; function registerInvestor(address _investor) public onlyOwner ...