ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Javascript] 앵커 프로토콜(Anchor Protocol) 예치 금액 가져오기
    Javascript 2022. 1. 1. 17:13

    테라의 대표적인 Stable Coin인 UST 기반 DeFi에 연평균 APY(Annual Percentage Yield) 19% 정도를 제공하는 앵커 프로토콜(https://app.anchorprotocol.com/earn)에 적당한 금액을 예치해 놓았다.

    예치를 어떻게 하는지는 논외로 하고 일단 예치한 금액을 매일 같이 잘 있는지 트래킹 하기 위해서는 매일 같이 이 사이트에 들어가서 확인해보는 수밖에 없다.

    매일 같이 이자가 불어나는 것을 기쁘게 바라만 보고 있다가 매일 같이 사이트 들어가서 확인하기 너무 귀찮은 나머지 Anchor Earn SDK(https://docs.anchorprotocol.com/developers-earn/anchor-earn-sdk) 가 있다는 것을 발견하고 공식 문서를 참고해서 아래와 같이 예치된 금액을 가져오는 스크립트를 만들어 보았다.

    순서는 다음과 같다. 

    스크립트 시작

    사전 준비 : macOS 기준, Visual Studio Code 사용

    1. NPM 설치하기
      https://nodejs.org/en/download/
    2. terminal에서 cd 를 이용해 스크립트를 실행할 디렉토리로 이동한 다음에 아래 커맨드 입력
      npm install -S @anchor-protocol/anchor-earn​
    3. Visual Studio Code 에서 새로운 스크립트를 만들고 아래 코드 입력
      import { AnchorEarn, CHAINS, DENOMS, NETWORKS } from '@anchor-protocol/anchor-earn';
      
      const anchorEarn = new AnchorEarn({
          chain: CHAINS.TERRA,
          network: NETWORKS.COLUMBUS_5,
          address: '...'
      });
      
      const userBalance = await anchorEarn.balance({
          currencies: [DENOMS.UST],
      });
      
      console.log(userBalance.balances[0].deposit_balance)
      
      //export interface BalanceEntry {
      //  currency: string;
      //  account_balance: string;
      //  deposit_balance: string;
      //}
       address 부분에 본인 지갑의 address 값을 넣으면 된다.
      userBalance.balances[0].deposit_balance = 예치된 금액
      userBalance.balances[0].account_balance = 지갑에 있는 UST 를 나타낸다.
      필요에 따라 쓰면 된다.

    위 코드를 실행하면 Anchor Protocol 앵커 프로토콜에 예치되어있는 금액값을 볼 수 있다. 

     

    오류 해결

    본인은 위 코드를 실행하면 

    userCoins.get is not a function while accessing anchorEarn.balance

    위와 같은 오류가 뜨는데 검색결과 아래 문서에서 해결책을 찾았고

    https://gitmemory.cn/index.php/repo/Anchor-Protocol/anchor-earn/issues/24

     

    userCoins.get is not a function while accessing anchorEarn.balance - gitmemory

    userCoins.get is not a function while accessing anchorEarn.balance

    gitmemory.cn

    npm install -S @anchor-protocol/anchor-earn@2.0.0-alpha1

    위의 2번 과정을 반복하면서 위 npm 명령을 쳐서 anchor-earn의 더 새로운 버전을 받아서 실행하니 예치된 금액이 잘 보였다.

     

    이제 매일 특정한 시간에 위 스크립트를 실행하고 텔레그램 봇을 사용하여 알림을 받을 생각이다.

    댓글

Designed by Tistory.