微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

从 Nodejs 服务器套接字发送二维数组到以太坊智能合约Solidity

如何解决从 Nodejs 服务器套接字发送二维数组到以太坊智能合约Solidity

快速提问,有没有人知道如何从Nodejs服务器应用程序上传或发送二维(2D)数组到智能合约(solidity)中声明的函数

我希望保留二维数组的索引,因为稍后将对其进行访问以进行搜索

先谢谢你!

解决方法

您可以在 Solidity 中使用多个 [] 符号定义多维数组。

文档:https://docs.soliditylang.org/en/v0.8.6/types.html#arrays

pragma solidity ^0.8;

contract MyContract {
    function foo(uint256[][] memory _array) external pure returns (uint256[][] memory) {
        return _array;
    }
}

然后您可以使用任何库来传递 JS 多维数组以与智能合约进行交互,例如 web3js (NPM,docs)。

const array = [
    [1,2],[3,4]
];

const contract = new web3.eth.Contract(jsonInterface,address);
contract.methods.foo(array).call().then((response) => {
    console.log(response);
});

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。