Solidity
在工廠模式下創建孩子時自動存錢
我正在實施工廠模式契約,在我的建構子上,我想在孩子被渲染後立即將錢存入我的孩子契約
- 工廠 -
function newChild() { Child child = new Child(money); }
–兒童契約–
address payable public spender; constructor(uint256 _money) { address(this).transfer(_money) /*{from: spender}*/; }
我的混音 IDE 對我大喊大叫,轉移僅在應付類型的地址上有效。顯然我在這裡做錯了,所以我的問題是當我的孩子出生時立即匯款的最佳方式是什麼?
我也想從一個特定的地址花掉這筆錢,現在就叫它花錢者吧。我如何從那個地址匯款
謝謝大家!
合約只能使用自己的乙太幣。它無法從其他地址獲取資金。
下面的程式碼應該做類似的事情。
// SPDX-License-Identifier: MIT pragma solidity 0.7.4; contract Factory { event NewChild(address child); // Make function payable to accept ethers on invocation function newChild(uint256 param) public payable { // Forward ethers received by function to Child Child cld = new Child{value: msg.value}(param); emit NewChild(address(cld)); } } contract Child { uint256 public id; // Make constructor payable to receive ethers on creation constructor(uint256 param) public payable { id = param; } }