[ethFruitShop] how to return mapping

2022. 12. 1. 23:12·개인프로젝트/ethFruitShop
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
반응형

'개인프로젝트 > ethFruitShop' 카테고리의 다른 글

[ethFruitShop] 중간 점검  (0) 2022.12.05
[React Error] JSON schema for a JavaScript project using TypeScript tooling  (1) 2022.12.02
[Solidity Errror] uncaught (in promise) Error: Please pass numbers as strings or BN objects to avoid precision errors  (0) 2022.12.01
[Solidity Error] Member "push" is not available in string[] memory outside of storage  (0) 2022.12.01
'개인프로젝트/ethFruitShop' 카테고리의 다른 글
  • [ethFruitShop] 중간 점검
  • [React Error] JSON schema for a JavaScript project using TypeScript tooling
  • [Solidity Errror] uncaught (in promise) Error: Please pass numbers as strings or BN objects to avoid precision errors
  • [Solidity Error] Member "push" is not available in string[] memory outside of storage
TeTedo.
TeTedo.
  • TeTedo.
    TeTedo 개발 일기
    TeTedo.
  • 전체
    오늘
    어제
    • 분류 전체보기 (319)
      • 개발 (274)
        • Article (4)
        • 정리 (21)
        • Spring Boot (17)
        • JPA (2)
        • JAVA (6)
        • Database (4)
        • 자료구조 (11)
        • 알고리즘 (32)
        • React (20)
        • Docker (10)
        • node.js (18)
        • Devops (11)
        • Linux (4)
        • TypeScript (3)
        • Go (10)
        • HyperLedger (4)
        • BlockChain (43)
        • html, css, js (48)
        • CS (3)
        • AWS (3)
      • 모아두고 나중에 쓰기 (3)
      • 팀프로젝트 (18)
        • SNS(키보드워리어) (9)
        • close_sea (9)
      • 개인프로젝트 (1)
        • Around Flavor (1)
        • CHAM (13)
        • ethFruitShop (5)
      • 독서 (0)
        • 스프링부트와 AWS로 혼자 구현하는 웹 서비스 (0)
  • 블로그 메뉴

    • 홈
    • 개발일기
    • CS
    • 실습
    • 코딩테스트
    • 웹
    • Go
    • node.js
    • 팀플
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    명령어
    프로그래머스
    go
    erc20
    React
    ERC721
    CSS
    html
    nodejs
    node
    js
    node.js
    블록체인
    go언어
    mysql
    30일 챌린지
    30일챌린지
    도커
    하이퍼레저
    컨테이너
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
TeTedo.
[ethFruitShop] how to return mapping
상단으로

티스토리툴바