요즘은 트레이딩 보다는 DeFi에 집중을 하다보니, 자동매매 관련 글을 못올리고 있습니다. pancake, mir 등등 안정적이면서 높은 수익률을 보여주는 DeFi가 많이 있습니다. 이외도 현재 채굴 중인 DeFi가 많다보니, 매일같이 접속해서 채굴된 코인 claim하고 현재가에 매도하는 것만 해도 많은 시간이 소요됩니다.

 

이렇다보니, 검증된 DeFi의 현재 staking 상황, 채굴된 토큰 수량, 심지어 현재가 기준으로 자산 평가액까지 보여주는 사이트도 등장하였습니다. 대표적인 사이트가 yieldwatch.net/ 입니다. 원하는 DeFi를 선택한 후 주소를 입력하면 현재 투자한 DeFi에 대한 시가 평가액을 보여줍니다. 한눈에 투자 상황을 볼 수 있어서 엄청나게 편리합니다. 

 

 

심지어는 투자중인 DeFi를 등록하면 채굴된 토큰을 주기적으로 claim한 후 해당 LP에 추가해주는 사이트까지 등장하였습니다. 대표적인 사이트가 https://autofarm.network/ 입니다. 이 사이는 auto라고 하는 자체 token도 발행하여 타 사이트에 비하여 높은 수익률을 제공해주고 있습니다.

 

 

yieldwatch 덕분에 투자 상황을 한눈에 파악할 수 있고, autofarm 덕분에 claim하는 수고를 들기는 했지만 그래도 직접 claim하는 경우도 많이있습니다.

 

이에 현재 채굴 중인 Binance Smart Contract 이하 BSC 기반 DeFi의 채굴 상황을 확인하고, 필요하다면 claim까지 하는 프로그램을 만들어보고자 합니다.

 

BSC는 이더리움 기반이다보니 DeFi에 사용하는 smart contact는 solidity언어로 개발되어 있습니다. 이미 만들어진 smart contract를 읽고/쓰기 위해서는 다양한 언어를 이용할 수 있습니다.

 

전 파이썬을 주로 사용하기 때문에 파이썬을 이용하여 smart contract를 다루어 보도록 하겠습니다. 그런데 문제는 파이썬을 이용하여 BSC smart contract를 다루는 예제가 많지 않았습니다. 구글링을 통해서 조각을 맞쳐가면서 작업을 진행하고 있습니다.

 

우선 파이썬을 이용하여 이더리움 기반 smart contract를 다룰 수 있는 패키지는 web3.py입니다.

 

 

web3.py 덕분에 새로운 언어를 배우지 않고도 원하는 작업을 할 수 있어서 다행입니다.

 

다음으로는 Smart contract에 대하여 간단하게 알아보겠습니다.

 

BSC DeFi 대명사인 pancakeswap입니다. 무려 80여개의 채굴 풀이 동작 중입니다. 그러다보니 본인이 채굴 중인 풀을 찾기가 힘들었었는데요. 최근 staked only 항목이 생겨서 채굴 중인 풀을 한 눈에 볼 수 있어서 많이 편해졌습니다.

 

 

채굴 풀은 smart contract로 만들어져있습니다. 한번 만들어진 smart contract는 절대 변경할 수가 없습니다. 따라서 코드 오류만 없다면 안전하다고 볼 수 있습니다. 특정 풀의 smart contract는 bscscan.com/에서 확인이 가능합니다.

pancakeswap의 smart contract 주소는 0x73feaa1eE314F8c655E354234017bE2193C9E24E 입니다.

bscscan.com에서 해당 주소를 입력해보면 아래와 같은 내용을 볼 수 있습니다. 이 중 contract를 클릭하면 해당 smart contract의 소스코드를 볼 수 있습니다.

 

 

이 중 우리가 필요한 것은 ABI 입니다. abi는 Application Binary Interface의 약자로 해당 smart contract를 외부에서 사용할 수 있는 api라고 보시면 됩니다. 오른쪽에 있는 복사 아이콘을 사용하여 복사한 후 프로그램에서 사용하면 됩니다.

 

 

이제 pancakeswap에 있는 풀의 내용을 읽을 수 있는 준비가 되었습니다.

다음 글에서는 web3.py를 이용하여  pancakeswap 풀을 읽는 예제를 파이썬 코드로 소개하도록 하겠습니다.

 

반응형

설정

트랙백

댓글