如何解决从 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 举报,一经查实,本站将立刻删除。