abi.encode 出现 Stack too deep 怎么解决

在做项目时abi.encode由于参数过多 , 出现 Stack too deep时怎么办

请先 登录 后评论

2 个回答

Tiny熊
  擅长:智能合约,以太坊

在函数中 使用大括号 把代码分块:

function g() external {
     bytes memory data1;
     {
        data1 = abi.encodePacked(a, b, c, d);
     }
     {
        data1 = abi.encodePacked(data1, e, f, g, h);
     }
}

或者 拆分为不同的函数来完成。

请先 登录 后评论
falchion

解决问题了,谢谢!

请先 登录 后评论
  • 2 关注
  • 0 收藏,2084 浏览
  • falchion 提出于 2023-01-09 20:13