[JJM Holders] 자동보팅 툴, 개발 과정

안녕하세요. 제이콥입니다.

JJM 홀더 페이지를 만들고 있습니다.

이번에는 자동보팅 기능을 넣어봤습니다.

https://passionbull.github.io/jjm-list/

image.png


과정은 이렇습니다.

  1. 프로그램이 실행되는 시간 -7일 이내 각 홀더의 글들을 찾습니다.
  2. 프로그램을 실행시키는 시간 – 1일 이내 ‘virus707’의 계정으로 보팅이 됐는지 확인합니다.
    1. 보팅이 돼있다면, 이미 JJM보팅을 받은것으로 취급합니다.
  3. 필터링합니다.
    1. 7일 이내  JJM태그를 붙여 글을 썻다.
    2. 보팅이 안됐다.
    3. JJM 보유량에 따라 정렬한다.
  4. 스팀커넥트로 계정을 연결합니다.
  5. 보팅 퍼센트대로 보팅합니다.

한번 테스트 해보겠습니다.

지금 웨이팅 리스트를 뽑아보니,

3월31일 오전 6시 14분 이후 글을 썼지만 보팅이 안된 리스트입니다.

image.png

테스트를 하기 위해, 제 계정으로 보팅을 해봤습니다.

잘 되는것 같습니다!


문제점

유저들의 정보를 가져오는데 오래걸립니다.

각 유저마다 7일 이내의 글에 보팅이 있었는지 확인하기 위해 재귀호출을 합니다.

서버를 하나 두고, 미리 작업을 한 후, 웹페이지에서 요청할 때 값을 주는 식으로 하면 좀더 빠르게 할 수 있겠다 생각했습니다.

아니면, steem db를 사용하면 좀 더 빠르게 데이터를 가져올 수 있지 않을까 생각했습니다.

보팅을 하는데도 꽤 오래걸립니다.

steemConnect를 활용해서 보팅을 하는데, 한번에 여러개 보팅을 못합니다.

그래서 보팅이 끝나고 다음 보팅을 할 수 있도록 해봤습니다.


JJM Holders 개발 계획

  1. 리액트로 변경, UI 개선

  2. 자동 배당 툴 기능 추가


참고

스팀 자바스크립트 라이브러리

스팀포스팅 재귀함수

자바스크립트 날짜 계산

react-native flatlist의 리랜더링

리액트 메테리얼 ui

리액트 ui 라이브러리 리스트

 

혹시 잘못표기된게 있거나 궁금한것, 제안, 조언, 버그 발견 등등 편하게 말해주세요.

감사합니다!

댓글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다