안녕하세요 @realmankwon입니다.
개발 중에 있는 KRWP 보상 환전 자동화 서비스의 개발이 막바지에 이르렀습니다.
현재 운영진 위주로 테스트를 진행 중에 있습니다.
그동안 개발한 것에 대해 정리를 하고자 합니다.
1 ) SCT Pending 금액 체크 후 0 초과시 클레임
2 ) SCT 개수가 0 초과시 krwp 로 SCT 전송
3 ) Steem Pending 금액 체크 후 0 초과시 클레임
1 ) sct.krwp 로 베네피셔리 설정 포스팅시 해당 포스팅 정보 저장
2 ) 정보 저장시에 SCT, STEEM, SBD, SP 전송 예정 정보 저장
1 ) SCOT의 경우 Payout 정보를 블럭에 남기지 않기 때문에 입력된 포스팅이 Payout 되었는지 확인 필요
2 ) 예상 Payout 시간을 입력해 놓고 그 시간이 지나면 getContent api를 이용하여 Payout 정보 확인
3 ) Payout 되었으면 (전체 보상 - 큐레 보상) * 베네비율 로 베네설정한 보상을 계산하여 저장
4 ) 스팀엔진 시세 확인 후 krwp 로 변환하여 데이터 저장
1 ) STEEM Payout 블럭 정보 체크 후 베네로 들어온 STEEM, SBD, SP 를 저장
2 ) 스팀엔진 시세 확인 후 krwp 로 변환하여 데이터 저장
1 ) 3 번, 4번에서 입력한 Payout 정보대로 저자에게 krwp 를 전송
현재 개발은 완료가 되었습니다.
하지만 보상에 대한 부분이고 전송해야 할 것들이 많기 때문에 안정화에 많은 애를 쓰고 있습니다.
현재 api 서버를 사용 중에 있고 이를 위해 sequelize, node 등의 기술을 적용하여 개발을 하였습니다.
혼자 사용할 것이었다면 트랜잭션은 고려하지 않았을텐데 상용으로 서비스를 한다면 트랜잭션 작업은 반드시 필요할 것이라는 판단에 sequelize 에서 트랜잭션을 설정하는 방법을 공부하여 적용하였습니다.
비동기와 동기의 문제도 모든 함수를 promise로 작성하여 동기로 실행이 되도록 하였습니다.
promise 적용 이후 잘못 처리되더라도 DB 변경 작업까지 정상적으로 롤백이 되는 것을 확인했습니다.
이것을 처리한 이후에는 서버가 뻗는 문제도 해결을 하였습니다.
어제 새벽에 그렇게 처리한 이후에 두다리 뻗고 잠을 청할 수 있었습니다.
아직도 모니터링과 정상 동작을 많이 확인해 봐야하지만 이렇게 서비스를 완성시킨 것, 그리고 남들은 모르지만 온갖 방법을 사용하여 안정화를 시키기 위해 막힌 부분을 해결하기 위해 노력했던 그 자체에 뿌듯함과 보람을 느낍니다.
앞으로 테스트 이후에 정상 처리되는 것 확인하고 서비스를 하도록 하겠습니다.
공식적인 공지 이후 sct.krwp 베네 설정에 많인 참여해 주십시오.
좋은 서비스로 만나 뵙겠습니다 ^^