第125篇 笔记-solidity中的编码与解码

Posted wonderBlock

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第125篇 笔记-solidity中的编码与解码相关的知识,希望对你有一定的参考价值。

本文环境:polygon testnet + metamask + remix

参考文档:第119篇 笔记-solidity中的ABI

本文介绍 solidity 合约中的 abi 编码与解码;

1.合约源码

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

contract AbiDecode 
    struct MyStruct 
        string name;
        uint[2] nums;
    

    function encode(
        uint x,
        address addr,
        uint[] calldata arr,
        MyStruct calldata myStruct
    ) external pure returns (bytes memory) 
        return abi.encode(x, addr, arr, myStruct);
    

    function decode(bytes calldata data)
        external
        pure
        returns (
            uint x,
            address addr,
            uint[] memory arr,
            MyStruct memory myStruct
        )
    
        (x, addr, arr, myStruct) = abi.decode(data, (uint, address, uint[

以上是关于第125篇 笔记-solidity中的编码与解码的主要内容,如果未能解决你的问题,请参考以下文章

第119篇 笔记-solidity中的ABI

第96篇 笔记-solidity中的重载(Override)

MySql笔记-基础篇-编码解码与乱码

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

第95篇 笔记-solidity中的继承(Inheritance)

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