Web3js
在一份合約中收集 2 個或更多合約餘額
我正在嘗試開發一個從其他合約中收取費用的智能合約。
我試著做:
function sendFees() public { address payable feeCollector = payable(feeCollector addredd); feeCollector.transfer(address(this).balance); }
廣告然後我這樣呼叫函式:
sendFees();
但在 ganache 中,我沒有看到 feeCollector 契約的餘額發生任何變化。在 feeCollector 合約中有這個功能:
receive() external payable {}
理論上,它應該收到所有發送的費用。我被卡住了,我無法編寫任何其他程式碼。請幫我。
只要將“feeCollector addredd”替換為正確的地址,您的程式碼就沒有問題。也許再看看你的設置?
不鼓勵使用
transfer
發送資金,並且可能會在您的情況下導致問題,因為目標是智能合約(請參閱https://consensys.net/diligence/blog/2019/09/stop-using-soliditys-transfer-now/)。此外,如果您分享控制台中出現的任何錯誤(例如在交易收據中),這可能會有所幫助