[2019-09-23] SCT 봇 안정화 작업 by realmankwon

View this thread on steempeak.com
· @realmankwon · (edited)
$7.65
[2019-09-23] SCT 봇 안정화 작업
안녕하세요 @realmankwon입니다.

# 1 . KRWP 소각 자동화
- @sct.state 계정을 통해서 매일 SCT 관련 통계를 포스팅 중에 있습니다. 해당 포스팅은 100% @sct.krwp로 베네피셔리 설정을 하게 되고 보상 수익은 KRWP로 받게 됩니다. 받은 KRWP 의 반을 소각 중에 있습니다. 이 부분을 자동화하여 소각이 제때 오류없이 진행되도록 자동화를 완료하였습니다.
- 지난주까지는 해당 내역을 기록한 후 중복으로 소각이 되지 않도록 처리하였고 금일은 며칠동안 봇이 중단되었을 경우를 가정하고 그동안 소각되지 않은 건들은 아래와 같이 DB 에 저장이 되어 있습니다.
![](https://cdn.steemitimages.com/DQmTfratwdLYbuZxXbzvqQBqWZgVkgXRnoYmfASEZ9GinU9/image.png)
어제와 그제 소각되지 않은 6건이 정상적으로 봇을 통해 소각되는 것을 확인하였습니다.
![](https://cdn.steemitimages.com/DQmegJxSu8SfuLkpPrY4zGrZXQ2TBQTxW9jt8xHM9S5icwF/image.png)
- 내일부터는 11시 20분 경 KRWP 소각이 자동으로 이루어 질 것입니다.

# 2 . 로그 관리
- 봇들을 운영하면서 얘기치 못한 중단이나 결과의 오류가 있을때면 로그파일을 분석하여 문제를 찾아야 합니다. 현재는 초기 단계이고 문제가 발생했을때 더 쉽게 찾기 위해 최대한 많은 정보를 남기고 있습니다. 이로 인하여 2주 정도 실행을 시켰는데 로그가 많은 것은 300MB 정도의 용량도 있었습니다. 현재 봇이 9개 운영이 되고 있는 상태에서 로그가 적은 것들도 있지만 합치면 한달에 1GB 정도가 발생할 수 있습니다. 물론 이것도 많은 양은 아니지만 이렇게 1~2년을 방치해 둔다면 디스크 풀이 차는 문제가 야기 될 수도 있습니다.
- 이것을 방지하기 위해서 로그 파일을 일별로 백업시킨 후 특정 기간이 지나면 삭제하도록 처리하였습니다. 금일 실행을 시켰고 무사히 backup 폴더로 이동한 것을 확인하였고 기존의 파일은 초기화시켜서 봇에 영향이 가지 않도록 처리가 완료되었습니다. 특정 기간 이전의 로그들이 삭제될 예정이므로 로그는 항상 일정량으로 관리가 될 것입니다.

- 기존 파일
![](https://cdn.steemitimages.com/DQmcB9YhGW4aAoN5a5fcBuSxU2Jy5jT2Ry2aMbwP4FKLUZg/image.png)
- 백업 파일
![](https://cdn.steemitimages.com/DQmYzkSxPevRJ7yZNRFPFoPQUhMmtSfTWd3iLK569eN2Wmd/image.png)

# 3 . 추후 안정화 예정 작업
### 1 ) 특정 시간 시세 정보 가져오기 
- 블럭 정보 저장 봇 및 KRWP 보상 봇이 중단되고 다시 실행 될 경우 만약 9시간 전에 중단이 되었다면 9시간 전 시세로 보상이 변환되어야 합니다. 현재는 현시간 기준으로 보상이 이루어지고 있습니다. 요즘에는 시세의 변동이 거의 없기 때문에 큰 문제가 되지 않지만 나중에 급등을 했을 때 봇에 이상이 생기면 문제가 될 수 있습니다. 이 부분에 대해서도 그런 날이 오기 전에 미리미리 대비할려고 합니다.

### 2 ) 대쉬보드 개발
- 현재는 제가 개발 한 봇 중에 3개만 대쉬보드를 통해서 간략하게 모니터링하고 있습니다.
![](https://cdn.steemitimages.com/DQmVddtmv4nHhRSpEEmGPnY8JYDtTjUWXksA4FdTLLa5Pzz/image.png)
- 이것을 SCT 모든 봇에 적용을 할 예정이며 현재와 같은 방식이 아닌 데이터 누적을 통한 그래프 방식과 다른 시각적 요소를 적용하여 개발을 할 예정입니다. 
- 봇 뿐만 아니라 서버의 메모리, CPU, 하드디스크 사용량 또한 볼 수 있도록 하여 통합 모니터링을 할려고 합니다. 텔레그램 봇을 통한 장애 알림 기능도 추가가 될 예정입니다.

### 3 ) 봇 중단 후 블럭 정보 저장 문제(다건의 블럭 정보 입력)
- 현재까지 고민한 끝에 내린 결론은 Block header 정보와 irreversible 정보를 별도로 저장하는 것입니다. 이렇게 되면 2개의 정보를 각각 다건으로 입력이 가능하기 때문에 봇이 중단되었을 경우 빠르게 저장할 수가 있습니다. 마지막 블럭 번호와 현재 블럭 정보의 차이가 일정 개수 이상으로 벌어지면 자동으로 다 건의 정보를 입력하게 한 후 현재 블럭과 2분 이상 차이가 나지 않으면 다시 한건씩 입력하도록 개발을 할 예정입니다. 
- 이렇게 처리가 되면 KRWP 보상을 계산할 때에도 필요한 정보를 가진 몽고 DB 내의 database 에 각각 연결하여 가지고 오도록 수정하여야 합니다. 그때는 공지 이후 서비스를 중단하고 작업을 하도록 하겠습니다.

# 4 . 완료된 작업
- 블럭 정보 저장 모니터링 봇

![](https://ipfs.busy.org/ipfs/QmUKxtLW5JEnqaaAnwiLc9kFK1BqpcMGoFKTF7JLKcvJqy)

하루하루 지날수록 안정화가 더 진행이 되고 있습니다.
개인적으로는 공부도 많이 되고 의도한대로 작동을 하니 뿌듯합니다. 하지만 UI 단처럼 눈에 보이지도 않고 특히나 잘 되는 것이 당연하게 느껴지기 것들이기에 작업 시간과 노력, 난이도에 비해서 표가 나지 않을 수 있습니다.
그래서 막상 해놓고 보면 제가 봐도 많이 한 것 같은데 뭔가 안 한 것 같은 느낌이 들때가 많이 있습니다.
그럼에도 불구하고 이런 작업을 해야지만 SCT 가 더 탄탄해 질 것 같아서 매일매일 작업 중입니다.
느리지만 제대로 바른 방향으로 나아가기 위해 노력하겠습니다. ^^
👍  , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , and 75 others
properties (23)
post_id80,255,392
authorrealmankwon
permlink2019-09-23-sct
categorysct
json_metadata{"tags":["sct","sct-kr","sct-notice","union","palnet","steemleo","zzan","liv","busy"],"users":["realmankwon","sct.state","sct.krwp"],"image":["https:\/\/cdn.steemitimages.com\/DQmTfratwdLYbuZxXbzvqQBqWZgVkgXRnoYmfASEZ9GinU9\/image.png","https:\/\/cdn.steemitimages.com\/DQmegJxSu8SfuLkpPrY4zGrZXQ2TBQTxW9jt8xHM9S5icwF\/image.png","https:\/\/cdn.steemitimages.com\/DQmcB9YhGW4aAoN5a5fcBuSxU2Jy5jT2Ry2aMbwP4FKLUZg\/image.png","https:\/\/cdn.steemitimages.com\/DQmYzkSxPevRJ7yZNRFPFoPQUhMmtSfTWd3iLK569eN2Wmd\/image.png","https:\/\/cdn.steemitimages.com\/DQmVddtmv4nHhRSpEEmGPnY8JYDtTjUWXksA4FdTLLa5Pzz\/image.png","https:\/\/ipfs.busy.org\/ipfs\/QmUKxtLW5JEnqaaAnwiLc9kFK1BqpcMGoFKTF7JLKcvJqy"],"app":"busy\/2.5.6","format":"markdown","community":"busy","links":["\/@realmankwon","\/@sct.state","\/@sct.krwp"]}
created2019-09-23 13:35:21
last_update2019-09-24 04:39:39
depth0
children7
net_rshares40,783,281,502,785
last_payout2019-09-30 13:35:21
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value7.648 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length2,775
author_reputation3,146,138,068,696,221
root_title"[2019-09-23] SCT 봇 안정화 작업"
beneficiaries
0.
accountsct.krwp
weight10,000
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
author_curate_reward""
vote details (139)
@fenrir78 ·
fenrir78님이 realmankwon님의 이 포스팅에 따봉(20 SCT)을 하였습니다.
properties (22)
post_id80,267,343
authorfenrir78
permlinkthumbsup-comment-realmankwon-2019-09-23-sct
categorysct
json_metadata{"app":"steemcoinpan\/0.1","format":"markdown"}
created2019-09-23 21:44:12
last_update2019-09-23 21:44:12
depth1
children1
net_rshares0
last_payout2019-09-30 21:44:12
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length50
author_reputation1,338,648,842,069,994
root_title"[2019-09-23] SCT 봇 안정화 작업"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
@realmankwon ·
항상 감사합니다 ^^
properties (22)
post_id80,271,514
authorrealmankwon
permlinkpyb9oj
categorysct
json_metadata{"tags":["sct"],"app":"steemcoinpan\/0.1"}
created2019-09-24 01:05:12
last_update2019-09-24 01:05:12
depth2
children0
net_rshares0
last_payout2019-10-01 01:05:12
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length11
author_reputation3,146,138,068,696,221
root_title"[2019-09-23] SCT 봇 안정화 작업"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
@sct.cu7 ·
궁금해왔던 점이...

100% 베네피셔리 
그렇다면 `큐레이션 페이아웃 SCT 는 어떻게 되나요~?`
properties (22)
post_id80,271,126
authorsct.cu7
permlinkpyb8ql
categorysct
json_metadata{"tags":["sct"],"app":"steemcoinpan\/0.1"}
created2019-09-24 00:44:48
last_update2019-09-24 00:44:48
depth1
children2
net_rshares0
last_payout2019-10-01 00:44:48
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length57
author_reputation46,060,996,915
root_title"[2019-09-23] SCT 봇 안정화 작업"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
@realmankwon ·
저자 보상만 베네피셔리 계정으로 들어오고 있습니다.
큐레이션 페이아웃는 기존대로 보팅한 계정으로 보상이 나가고 있습니다.
properties (22)
post_id80,271,554
authorrealmankwon
permlinkpyb9st
categorysct
json_metadata{"tags":["sct"],"app":"steemcoinpan\/0.1"}
created2019-09-24 01:07:42
last_update2019-09-24 01:07:42
depth2
children1
net_rshares0
last_payout2019-10-01 01:07:42
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length67
author_reputation3,146,138,068,696,221
root_title"[2019-09-23] SCT 봇 안정화 작업"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
@sct.cu7 ·
아핫~! 역시 그렇군요~^^
알려주셔 감사합니다~💙
properties (22)
post_id80,283,048
authorsct.cu7
permlinkpyc2bf
categorysct
json_metadata{"tags":["sct"],"app":"steemcoinpan\/0.1"}
created2019-09-24 11:23:42
last_update2019-09-24 11:23:42
depth3
children0
net_rshares0
last_payout2019-10-01 11:23:42
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length28
author_reputation46,060,996,915
root_title"[2019-09-23] SCT 봇 안정화 작업"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
@sct.biz ·
수고하셨습니다.~~
properties (22)
post_id80,278,103
authorsct.biz
permlinkpybqge
categorysct
json_metadata{"tags":["sct"],"app":"steemcoinpan\/0.1"}
created2019-09-24 07:07:27
last_update2019-09-24 07:07:27
depth1
children0
net_rshares0
last_payout2019-10-01 07:07:27
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length10
author_reputation2,204,617,920,636
root_title"[2019-09-23] SCT 봇 안정화 작업"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
@sct.biz ·
sct.biz gave realmankwon gifts(10 SCT).
properties (22)
post_id80,278,111
authorsct.biz
permlinkthumbsup-comment-realmankwon-2019-09-23-sct
categorysct
json_metadata{"app":"steemcoinpan\/0.1","format":"markdown"}
created2019-09-24 07:08:06
last_update2019-09-24 07:08:06
depth1
children0
net_rshares0
last_payout2019-10-01 07:08:06
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length39
author_reputation2,204,617,920,636
root_title"[2019-09-23] SCT 봇 안정화 작업"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000