第126篇 合约间调用方法

Posted wonderBlock

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第126篇 合约间调用方法相关的知识,希望对你有一定的参考价值。

本文介绍三种类型的合约间调用;

1.一般调用

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.3;

contract Receiver 
    event Received(address caller, uint256 amount, string message);

    receive() external payable 

    fallback()  external payable 
        emit Received(msg.sender, msg.value, "Fallback was called");
    

    function foo(string memory _message, uint256 _x)
        public
        payable
        returns (uint256)
    
        emit Received(msg.sender, msg.value, _message);

        return _x + 1;
    


contract Caller 
    event Response(bool success, bytes data);

    // Let\'s imagine that contract B does not have the source code for
    // contract A, but we do know the address of A and the function to call.
    function testCallFoo(address payable _addr) public payable 
        // You can send ether and specify a custom gas amount
        (bool success, bytes memory data) = _addr.call
            value: msg.value

以上是关于第126篇 合约间调用方法的主要内容,如果未能解决你的问题,请参考以下文章

第92篇 合约间调用

第93篇 合约间调用

第94篇 合约间调用

第111篇 在区块链浏览器上发布合约源码

第120篇 defi实战-质押挖矿智能合约

第97篇 笔记-solidity中的抽象(Abstract)