jsBLURT 프로젝트 - /fops 명령어 구현에서 약간의 문제점 발견

in jsblurt •  3 years ago 

jsBLURT 프로젝트는 텔레그램 챗봇을 통해서 블러트 블럭체인 탐색기(blockchain explorer)를 만드는 작업입니다. 아래의 링크를 참고해 주시기 바랍니다.

jsblurt 프로젝트 - 블러트 블럭체인 탐색기 (텔레그램 챗봇)

/ops 명령을 구현할 때 파이썬 beem의 Account 객체에서 제공하는 history_reverse()를 사용했습니다. 관련 내용은 아래의 링크입니다.

[파이썬 beem에서 블러트 계정 트랜잭션 이력 조회]
(https://blurt.blog/python/@joviansummer/2z6kjv-beem)

history_reverse()에 특정 트랜잭션(operation)을 선택하도록 지정할 수 있는데요. 특정 operation 식별자만 선택하는 "only_ops"와 특정 operation 식별자를 제외하고 나머지를 선택한 "exclude_ops"가 있습니다.

그런데, 시험해 보니 only_ops가 제대로 동작하지 않는 것 같습니다. exclude_ops는 제대로 동작합니다. 블러트만 이런 것인지 스팀이나 하이브에서 동일한 것인지는 모르겠습니다.

어쨌든 일이 약간 복잡하게 되었습니다. 예를 들어 보팅만 추려내려면 아래와 같이 하면 간단할 것입니다. (셋업을 위한 앞부분 코딩은 위의 링크를 참고하시면 됩니다.)

r_hist = account.history_reverse(raw_output=True, only_ops=['vote'])

하지만 위와 같은 형식으로는 제대로 동작하지 않아서, 보팅만 추려내려면 exclude_ops에 "vote"를 제외한 나머지 operation 식별자를 전부 다 써 주어야 합니다.

r_hist = account.history_reverse(raw_output=True, exclude_ops=[보팅과 무관한 operation 식별자 전부])

못할 것은 없는데 코딩 작업이 좀 귀찮은 방향으로 흘러갔습니다.

아무튼 작업은 계속됩니다.


블러트 증인 노드를 운영중입니다. @joviansummer에 증인투표해 주시면 감사하겠습니다.
https://blurtwallet.com/~witnesses

BP를 임대하고 업보팅을 받을 수 있는 @jsup 서비스에도 많은 관심 부탁드립니다.

jsup 업보팅 서비스를 소개합니다.

jsup 업보팅 서비스를 활용한 일종의 오토보팅(auto-voting)

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 BLURT!