August 2019
Intermediate to advanced
486 pages
13h 52m
English
The factory contract pattern is used when you want to create a new child contract from a parent contract. The benefit of this pattern is that the contract definition is predefined in the main contract and the new contract is deployed with this predefined code. This protects the new contract code from an attacker, as the code of the contract is already defined.
In the following example code, we have a LoanMaster contract. This contract has a createLoanRequest() function that can be called by anyone. This further calls the createInstance() function of the LoanFactory contract to deploy a new instance of a Loan contract using new Loan(). Here, the new solidity keyword is used to create and deploy a new instance of the ...