bep20 에어드랍 컨트랙트 개발해봤습니다. 야나부토큰 받아가세요 ㅋㅋ

in SteemCoinPan •  9 months ago 

야나부 토큰 에어드랍 받아가실분은 유튭 구독해주시고,
아래 링크에서 설문지 작성해주시면 됩니다!

https://steemit.com/hive-196917/@yanabu/44wpyt

이 글에서 적고싶은건 에어드랍 컨트랙트 과정에 대해 적어보고 싶습니다.

컨트랙트는 크게 3개로 구성돼있습니다.

컨트랙트 1. 사용자가 토큰 클레임해가기

사용자는 자신에게 설정된 양만큼 토큰을 받아갈 수 있습니다.

컨트랙트 2. 관리자가 특정 사용자에게 에어드랍할 토큰 개수 설정하기

관리자계정으로만 설정할수 있습니다.
관리자는 여러 사용자들에게 토큰을 할당합니다.
쉽게 입력할수있도록 파라미터는 배열로 했습니다.

remix에서 컨트랙트실행하다가
쉽게 에어드랍하려고 관리자 툴도 만들었습니다.

컨트랙트 3. 관리자가 에어드랍을 끝내고 싶을때, 남은 에어드랍할 토큰을 회수하기 컨트랙트

에어드랍할 토큰을 이 컨트랙트 주소로 보내고, 그걸로 에어드랍합니다. 근데 그만하고싶은 경우, 다시 회수해야하는데요.
이걸 위해 회수 컨트랙트도 만들어봤습니다.


개발 과정에서 기억나는것

  • 간단한 컨트랙트라서 크게 로직상 어려움은 없었다.

  • BigNumber간에 나누기를 하니깐 소숫점은 버림을 해서,
    일부로 나누는 수를 좀 작게 한담에 UI보일땐 다시 나눴다.

  • 리액트랑 컨트랙트 연결하기

web3-react, ethers 라이브러리가 잘돼있다.
내 웹페이지가 토큰포켓과 메타마스크를 활용하여
모두 컨트랙트를 잘 수행해볼 수 있었다.

컨트랙트에는 2가지 종류가 있었다.

signing 키가 필요없는 단순히 get 호출과 signing key가 필요한 컨트랙트가 있다. 유저의 잔고를 가져오는 컨트랙트는 get호출로 가능하고, 관리자가 에어드랍 리스트 업데이트하거나 유저가 클레임할 경우 signing key가 필요하다.

이 코드는 딱 에어드랍할 코인만 이 컨트랙트 주소로 보내서 에어드랍을 한다. 그래서 크게 리스크가 없다. 사용자입장에서도 자신에게 할당된 토큰 클레임하는것 밖에 없어서, 크게 문제될 것 없어보인다.

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

내일 부터 에어드랍 되는건가요...? 구독 리스팀 폼 작성까지 끝냈습니다.

한번 에어드랍 클레임 확인해보셔여 ㅋㅋㅋ

안녕하세요. 여기에다 문의를 남기는 것이 맞는지 모르겠으나 스왑이 정상처리 안되서 글을 남깁니다.
11월 18일에 100스팀을 7차례 스왑했고 현재까지 6건만 처리 되었습니다.
스팀 환불도 안되었고, sct도 안들어왔습니다.
확인 부탁드려도 될까요?
https://www.steemcoinpan.com/hive-101145/@kimyg18/100

넵 확인해드릴게요.