[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
    • 팀플
  • 링크

  • 공지사항

  • 인기 글

  • 태그

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

  • 최근 글

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

티스토리툴바