首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Solidity函数将空数组返回给web3.js

Solidity函数将空数组返回给web3.js
EN

Stack Overflow用户
提问于 2019-03-25 15:27:31
回答 2查看 871关注 0票数 0

当在Remix和truffle控制台上执行时,固态函数返回一个字符串数组,而当从JS调用时,它返回一个空数组

固化度代码

代码语言:javascript
复制
mapping(address => string[]) addressLink;
function getLinks(address a) public view returns (string[] memory)
  {
    return addressLink[a];
  }

JS代码

代码语言:javascript
复制
contract.methods.getLinks(accounts[0]).call().then(res => {
                 console.log(res)
             });

从JS调用时的松露控制台结果和预期结果

代码语言:javascript
复制
[ 'QmTiMLN8X4NE4ho5mqJ9t4bJ17JxfMHAFcg3z66f8vdUh1' ]

浏览器控制台结果(实际结果)

代码语言:javascript
复制
[""]
0: ""
length: 1
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-04-01 01:54:36

web3.js库中有一个bug。已在最新的beta版本中关闭

票数 0
EN

Stack Overflow用户

发布于 2019-03-26 11:41:52

您可能在javascript代码中设置了错误的合同地址:

代码语言:javascript
复制
 const instance = new web3.eth.Contract(
  SimpleStorageContract.abi,
  deployedNetwork && deployedNetwork.address,
 );

第二个参数是合同地址,请参阅:https://web3js.readthedocs.io/en/1.0/web3-eth-contract.html#new-contract

希望能有所帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55332987

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档