흐름에 구축 | FCL 알아보기 - 7. 주소로 흐름 계정을 쿼리하는 방법

개요



에서 우리는 체인의 블록에 대한 정보를 수집하는 방법을 다루었습니다. 오늘은 account 함수를 사용하여 특정 계정에 대한 정보를 조회하는 방법에 대해 알아보겠습니다.

가장 일반적인 두 가지 사용 사례와 오늘 학습할 내용은 다음과 같습니다.
  • 계정의 현재 FLOW 잔액 가져오기
  • 계정에 배포된 계약 목록 가져오기

  • 1단계 - 설치



    종속 항목으로 "@onflow/fcl": "1.0.0" 추가

    2단계 - 설정



    지난 번과 마찬가지로 필요한 메서드를 가져오고 FCL을 설정합니다.

    // Import methods from FCL
    import { account, query, config } from "@onflow/fcl";
    
    // Specify the API endpoint - this time we will use Mainnet
    const api = "https://rest-mainnet.onflow.org";
    
    // Configure FCL to use mainnet as the access node
    config().put("accessNode.api", api);
    


    3단계 - 복사 해석기



    이전에 습득한 지식과 실습을 적용하는 것은 항상 좋습니다. 이제 다음 예제에서 사용할 수 있도록 리졸버 함수를 다시 가져오겠습니다.

    const resolveName = async (name) => {
        const cadence = `
        import FIND from 0x097bafa4e0b48eef
    
        pub fun main(name: String): Address?{
          return FIND.lookupAddress(name)
        }
      `;
    
      const args = (arg, t) => [arg(name, t.String)];
      return await query({ cadence, args });
    };
    


    4단계 - 계정 가져오기


    flovatar ID 이름을 확인하고 우리가 볼 수 있는 내용을 탐색해 봅시다 😊

    우리는 항상 IIFE 블록을 사용할 것입니다.

    // We will use IIFE to execute our code right away
    (async () => {
      console.clear();
    
      const address = await resolveName("flovatar")
    
        // it's possible that name will be resolved to "null"
      // so let's add some basic protection here 
        if (address){
        const accountInfo = await account(address);
        console.log({ accountInfo });
        }
    })();
    


    먼지가 쌓이면 콘솔에 다음이 표시되어야 합니다.

    {
        address: "921ea449dffec68a",
        balance: 13052726819120,
        code: "",
        contracts: Object,
        keys: Array(2),
    }
    


    이 5개 필드는 각각 다음과 같습니다.
  • address - 계정 주소(미래에 사용하려는 경우 알림 누락0x 접두사
  • balance - UFix64 형식의 FLOW 토큰 양. Math.pow(10,8)로 나누어 플로트 값
  • 을 얻습니다.
  • code - 이전에 계정에 배포된 계약의 코드를 저장하는 데 사용되었던 더 이상 사용되지 않는 값입니다. 이전에는 계정당 하나의 계약만 저장할 수 있었습니다.
  • contracts - 배포된 계약을 나타내는 개체입니다. 키는 계약의 이름이고 값은 관련 계약의 케이던스 코드
  • 입니다.
  • keys - 계정에 연결된 키 배열

  • Flow 문서 사이트 - https://docs.onflow.org/fcl/reference/api/#blockobject에서 이에 대한 자세한 정보를 찾을 수 있습니다.

    계정을 탐색하는 다른 방법



    특정 계정을 탐색하는 방법은 다음과 같습니다.

  • Flow View Source - https://flow-view-source.com/mainnet/account/0x5916e847260714b6 - FCL의 OG - James Hunter - https://github.com/orodio의 커뮤니티 프로젝트입니다.

  • FlowScan - https://flowscan.org/account/0x5916e847260714b6 - Flowscan 페이지는 해당 정보를 축적하기 위해 블록을 처리하고 있기 때문에 계정 트랜잭션 및 전송에 대한 자세한 정보를 표시합니다.

  • 다음 시간까지 👋

    자원



  • 전체 소스 코드 - https://codesandbox.io/s/dev-to-fcl-07-get-account-j9rxkm?file=/src/index.js

  • 유용할 수 있는 기타 리소스:

  • Flow Docs 사이트 - https://docs.onflow.org/ - Flow 블록체인 및 상호 작용 방법에 대한 자세한 정보

  • Flow Portal - https://flow.com/ - Flow 진입점

  • FCL JS - https://github.com/onflow/fcl-js - 소스 코드 및 FCL JS 라이브러리에 기여하는 기능

  • 케이던스 - https://docs.onflow.org/cadence/ - 케이던스 소개

  • Codesandbox - https://codesandbox.io - 빠른 프로토타이핑을 지원하는 놀라운 브라우저 내 IDE
  • 좋은 웹페이지 즐겨찾기