728x90
solidity에서 함수를 통해 mapping 자체를 return 하고 싶었다.
결과적으론 mapping을 return할수 없었다.
내가 얻고 싶은건 객체였으나 mapping을 return할수 없었기 때문에 mapping과 비슷하게 return 할수 있는 방법을 찾아봤다.
그래서 key값과 value값을 따로 뽑아 프론트에서 객체를 만들어주는 방법을 선택했다.
const hasFruit = await deployed.methods
.hasFruit()
.call({ from: account });
const fruitWallet = await deployed.methods
.getFruitWallet()
.call({ from: account });
let temp = {};
for (let i = 0; i < hasFruit.length; i++) {
temp[hasFruit[i]] = fruitWallet[i];
}
setFruitList(temp);
key값과 value값을 불러올땐 gasfee가 들지 않으므로 복잡하게 코드를 구현하는 것보단 2개를 따로 받아 객체를 만들어 주는것을 선택했다.
solidity에는 배열 메소드들이 없기 때문에 불편한부분도 많지만 점점 적응해나가고 있는 중이다.
728x90