Posts

Showing posts with the label steem

Bi-weekly missed blocks stat of top 100 witnesses - 2026.06.30

Image
by joviansummer original STEEMIT post: https://steemit.com/blog/@joviansummer/joviansummer-1782790032 Hello, this is @joviansummer(witness: @jswit). A table for missed blocks stat of top 100 witnesses is here. Period: 2026.06.16 21:26:13 (GMT+9) ~ 2026.06.30 21:27:05 (GMT+9) Missed blocks stat is from @steemchiller's SDS API. Delay caused by one missed block is 3s. rank account missed delay 1 justyy 3 9s 4 steem-agora 1 3s 5 dev.supporters 8 24s 8 upvu.witness 1 3s 9 h4lab.witness 383 19.15m 10 rnt1 10 30s 12 blaze.apps 1 3s 14 moecki 1 3s 15 ety001 10 30s 18 dhaka.witness 11 33s 19 bountyking5 8 24s 20 italygame 7 21s 45 successgr.with 1 3s 56 kouba01 14 42s 64 newsteem.witness 103 5.15m 65 steemgoon.witnez 1 3s 66 aggroed 54 2.7m 70 thecryptodrive 44 2.2m 72 gtg 42 2.1m 73 abit 44 2.2m 74 anyx 38 1.9m 77 pharesim 36 1.8m 83 je...

[ENG] STEEM Security 2.0 - Telegram support implemented

Image
by joviansummer original STEEMIT post: https://steemit.com/blog/@joviansummer/eng-steem-security-2-0-telegram-support-implemented STEEM Security - receive STEEM alert messages via Discord Hello, this is @joviansummer(witness: @jswit). STEEM Security has been update to v2.0, adding Telegram messenger support. Now you can receive STEEM security alert messages via Discord, Telegram, or both. Usage is basically the same as STEEM Security Discord bot. Only difference is that you can use Telegram bot. In your Telegram app or web session, search for "steemsec_bot" and start a chat sesstion. STEEM Security bot will send an alert message for the following transactions. This revision adds power-down transaction: sending STEEM/SBD to another account changing SP delegation account update power-down To add a STEEM account, send "/reg" command. For example, send "/reg joviansummer" to register @joviansummer. To check your registration status, send "/stat...

STEEM Security 2.0 - 텔레그램 지원 기능 추가

Image
by joviansummer original STEEMIT post: https://steemit.com/blog/@joviansummer/steem-security-2-0 STEEM Security - 디스코드를 이용한 스팀 계정 보안 강화 디스코드를 통해 스팀 보안 알림 메시지를 받을 수 있는 STEEM Security 서비스가 버전 2.0으로 갱신되었습니다. 텔레그램 메신저 지원 기능이 추가되어서 디스코드 뿐만 아니라 텔레그램을 통해서 알림을 받을 수 있습니다. 사용법은 디스코드 봇과 사실상 동일합니다. 차이는 텔레그램 메신저를 사용한다는 것 뿐입니다. 텔레그램에서 "steemsec_bot"을 검색하여 채팅을 시작하면 됩니다. 아래의 내용을 탐지하면 알림 메시지를 보내줍니다. 코드 수정으로 파워다운에 대한 알림이 추가되었습니다. 스팀/스팀달러를 다른 계정에 송금 스팀파워 임대량 변경 계정 정보 갱신 파워다운 계정을 등록하려면 "/reg" 명령을 보냅니다. 예를 들어 @joviansummer를 등록하려면 "/reg joviansummer" 이렇게 보냅니다. 등록 상태를 보려면 "/stat" 명령을 보냅니다. 계정 등록을 해제하려면 "/unreg" 명령을 보냅니다. 예를 들어 @joviansummer를 해제하려면 "/unreg joviansummer" 이렇게 보냅니다. 알림 메시지를 통해서 계정 보안에 문제가 생겼을 경우 빠르게 인지하고 대처할 수 있을 것으로 생각됩니다. 감사합니다. @joviansummer의 스팀 프로젝트 스팀 증인노드를 운영중입니다. @jswit에 증인투표해 주시면 감사하겠습니다. ( https://steemitwallet.com/~witnesses ) jswit 증인 노드 프로젝트를 시작합니다. jsup 업보팅(upvoting) 서비스 소개 jsup 수혜자 지정 기능 추가 jsup 2.0 -...

[ENG] STEEM Security update - added power down alert

by joviansummer original STEEMIT post: https://steemit.com/blog/@joviansummer/eng-steem-security-update-added-power-down-alert STEEM Security - receive STEEM alert messages via Discord Hello, this is @joviansummer(witness: @jswit). STEEM Security code has been revised. Previously, STEEM Security was sending alert message via discord for the following 3 kinds of operations: sending STEEM/SBD to another account changing SP delegation account update Now, power down operation has been added. If there is a power down operation, you will also receive alert message. Please check the original post of the above link for detailed information on how to use the service. Thank you for reading, and have a wonderful day! @joviansummer's STEEM projects @jswit witness: I'm running a STEEM witness node. I'd really appreciate it if you vote for my witness account @jswit. ( https://steemitwallet.com/~witnesses ) [ENG] Introducing @jswit witness project @jsup curation: [ENG] Int...

STEEM Security 코드 갱신 - 파워다운 경고 메시지 추가

by joviansummer original STEEMIT post: https://steemit.com/blog/@joviansummer/heq51-steem-security STEEM Security - 디스코드를 이용한 스팀 계정 보안 강화 STEEM Security 코드가 갱신되었습니다. 원래는 아래의 3가지 종류의 트랜잭션이 블럭체인에서 감지될 경우 디스코드로 경고 메시지를 받을 수 있었습니다. 스팀/스팀달러를 다른 계정에 송금 스팀파워 임대량 변경 계정 정보 갱신 이제는 파워다운에 대해서도 경고 메시지를 받을 수 있도록 코드를 갱신했습니다. 서비스 사용법에 대한 자세한 정보는 위에 링크한 포스트를 참고해 주시기 바랍니다. 감사합니다. @joviansummer의 스팀 프로젝트 스팀 증인노드를 운영중입니다. @jswit에 증인투표해 주시면 감사하겠습니다. ( https://steemitwallet.com/~witnesses ) jswit 증인 노드 프로젝트를 시작합니다. jsup 업보팅(upvoting) 서비스 소개 jsup 수혜자 지정 기능 추가 jsup 2.0 - 업보팅을 다시 위대하게 jSTEEM 프로젝트 - 텔레그램 챗봇으로 구현하는 스팀 블럭체인 탐색기 Steemit-Search - 스팀잇 포스팅 검색 STEEM Security - 디스코드를 이용한 스팀 계정 보안 강화

스티미언의 영향력 지수 계산

by joviansummer original STEEMIT post: https://steemit.com/blog/@joviansummer/5qvaqw 오늘 이런 저런 생각을 하다가 문득 떠오른 내용인데, 잊어버리기 전에 적어 둡니다. 스티미언이 스팀 생태계에 행사할 수 있는 정량적인 영향력에 대해 생각해 보았습니다. 좋은 글을 많이 썼다거나 서비스를 개발했다거나 아는 사람이 많다거나 이런 정성적인 영향력과는 별도로, 수량으로 표시할 수 있는 영향력에 대한 것입니다. 일단 직접적인 수량은 보유한 스팀파워입니다. 예를 들어 50만sp를 보유하고 있다면, 아마 고래라고 칭해도 될 것 같습니다. 그런데, 조금 더 생각해 보면 영향력을 보유한 스팀파워만으로 측정하여 고래라고 간주하는 것은 과도하게 단순화시킨 감이 없지 않습니다. 현재 수량화된 측면에서 스팀 생태계에 영향력을 행사할 수 있는 방법은 2가지가 있습니다. 이 2가지 방법은 스팀파워를 지닌 스티미언 모두에게 유효합니다. 첫번째 방법은 업보팅입니다. 스티미언은 나에게 크게 보팅해 주는 사람의 의견에 영향을 받을 수밖에 없습니다. 큰 스팀파워로 보팅해 주는 스티미언이 많을 수록 커뮤니티가 활성화되고 신규 사용자가 유입될 가능성이 높아집니다. 방글라데시 커뮤니티가 실제 사례라고 할 수 있을 것 같습니다. @jungjunghoon님의 일파만파 운동은 보팅의 영향력을 확대하여 커뮤니티를 활성화하려는 시도라고 생각됩니다. @jsup의 후원 보팅 기능도 이러한 취지로 개발되었습니다. 두번째 방법은 증인투표입니다. 스팀 블럭체인은 증인들이 운영하는 서버(증인 노드)에 의해 유지되기 때문에, 누가 블럭체인을 유지할 것인지를 결정하는 증인투표는 일종의 주권 행사라고 할 수 있습니다. 최상위 증인 20명은 한달에 약 1만스팀을 증인 보상으로 받게 됩니다. 서버 운영비를 충당해야 되므로 1만스팀 전체가 수익이 되는 것은 아니지만 그래도 상당한 수입입니다. 하위 증인들은 순위에 따라 보상을 받는데 21위라고 해도 한달에 ...

STEEM Security - 디스코드를 이용한 스팀 계정 보안 강화

Image
by joviansummer original STEEMIT post: https://steemit.com/blog/@joviansummer/steem-security 새로운 실험 프로젝트가 시험 가능한 수준이 되어 공개합니다. 원래는 제 개인적인 필요에서 출발한 개발 작업이었는데, 스티미언 누구나 사용할 수 있도록 하는 방향으로 변경했습니다. "STEEM Security"는 스팀 계정 관련 알림 메시지를 보내 주는 디스코드 봇(bot)입니다. 현재, 아래의 내용이 블럭체인에서 탐지되면 알림 메시지를 보내줍니다. - 스팀/스팀달러를 다른 계정에 송금 - 스팀파워 임대량 변경 - 계정 정보 갱신 디스코드 봇을 설정하는 절차는 아래와 같습니다. 디스코드에 로그인하고 STEEM_SECURITY 서버에 합류합니다: https://discord.gg/pawu8YTAvm 사용자 목록을 보면 "STEEM_SECURITY"라는 봇 계정이 보입니다. 이 계정을 마우스 오른쪽 클릭하고 메시지 보내기를 선택해서 DM(direct message) 채널을 개설합니다. DM 채널에서 "/reg" 명령으로 스팀 계정을 등록합니다. 예를 들어 @joviansummer 계정을 등록한다면 "/reg joviansummer" 이렇게 메시지를 보냅니다. 최대 3개 계정을 등록할 수 있습니다. 현재 등록 상태를 보려면 "/stat" 명령을 보내면 됩니다. 등록을 해제하려면 "/unreg" 명령을 보냅니다. 예를 들면 "/unreg joviansummer" 이렇게 보내서 @joviansummer 계정을 등록해제합니다. 만약 알림 메시지를 받았는데 본인이 스팀에서 뭔가 한 것이 아니라면 다른 누군가가 한 것이겠죠. 알림 메시지에는 해당 오퍼레이션이 기록된 블럭 번호의 링크가 포함되어 있어서 스팀월드(steemworld.org)의 ...

[EN] STEEM-services: dapps/services webpage with sort and search functions

Image
by joviansummer original STEEMIT post: https://steemit.com/blog/@joviansummer/en-steem-services-dapps-services-webpage-with-sort-and-search-functions Hello, this is @joviansummer(witness: @jswit). I expanded Steemit-Search website and made a simple webpage to list STEEM services. You can sort and search the records to find specific service. Here is the link: https://steemit.vercel.app/svcs If you want to add your service/dapp to the list, please write a reply to this post with the following information: category: social, nft, tool, voting, api, etc name: service/dapp name description: brief description for your service/dapp (preferably in English, less than 500 chars) link: link to your corresponding steemit post or webpage dev/admin: developer or admin account @steemchiller and @ety001, I took the liberty of adding SteemWorld, SDS API, and Steem Backup Data Server because I think they are essential services. If you want to add/modify/remove anything, please let me now. Than...

파이썬 beem에서 account history API 사용할 때 유의할 점 (2번째)

by joviansummer original STEEMIT post: https://steemit.com/blog/@joviansummer/beem-account-history-api-2 파이썬 beem에서 특정 계정의 트랜잭션 이력을 조회하는 account history API를 사용할 때 주의할 점을 얼마전에도 포스팅한 적이 있습니다. 아래의 링크입니다. 파이썬 beem에서 Account 객체의 history_reverse() 함수 사용할 때 유의점 account_history_reverse() 함수를 사용할 때 1회당 조회수(batch_size)를 20개 이하로 설정해야 된다는 내용이었습니다. 그런데 최근에 또 다른 제약 사항이 있음을 발견했습니다. 동일한 IP주소에서 요청을 전송할 경우 1초당 10회 미만이 되어야 합니다. 이것은 공식 스팀 API 노드(api.steemit.com)에서 확인한 내용이며, 다른 API 노드에는 이러한 제약이 없을 수도 있습니다. 어쨌든 이력을 조회할 때 통상 for 반복문을 사용하는데, 너무 자주 조회 요청이 나가지 않도록 time.sleep() 함수를 이용해서 최소한 0.1초 이상 쉬는 시간이 있도록 하지 않으면 응답이 제대로 오지 않고 예외(exception)가 발생합니다. 이전 포스트의 코드 예시에 time.sleep()을 추가하면 아래와 같이 될 것입니다. 좀 여유 있게 0.3초 기다린 후에 다음 트랜잭션을 조회하도록 수정한 경우입니다. from beem import Steem from beem.account import Account import time steem_node = ["https://api.steemit.com"] steem = Steem(node=steem_node) account = Account('joviansummer', blockchain_instance=steem) history_data = account.history(start=1, sto...

파이썬 beem에서 Account 객체의 history_reverse() 함수 사용할 때 유의점

by joviansummer original STEEMIT post: https://steemit.com/blog/@joviansummer/beem-account-historyreverse 여기에 기록하는 제약 사항은 스팀(STEEM)에 국한되는 내용입니다. 파이썬 beem을 이용해서 트랜잭션 이력을 조회하는 방법은 아래의 링크입니다. Account 객체의 history_reverse() 함수를 이용하는 방법입니다. 파이썬 beem에서 블러트 계정 트랜잭션 이력 조회 Account 객체의 history() 함수에 대한 내용은 아래의 링크입니다. 파이썬 beem에서 계정 트랜잭션 이력 조회(범위 지정) 예전에 위의 함수들을 이용할 때 1회당 조회수 제한이 적용되었다는 내용을 포스팅했던 바 있습니다. 아래의 링크입니다. 파이썬 beem에서 계정 트랜잭션 이력 조회할 때 요청 1회당 조회수 제한(batch_size) 계정 이력 요청에서 한번에 받을 수 있는 트랜잭션 정보의 개수(batch_size)가 1000개에서 100개로 줄었다는 내용인데요. 최근 스팀잇 안정성 문제가 발생한 이후 이 제한이 더 줄어들어서 20개가 되었습니다. 관련 내용은 증인 @ety001님의 포스트에 공시되어 있으며, 아래의 링크입니다. [NOTICE] Steem Official API has added some new limit rules 따라서, 아래의 예시처럼 batch_size 옵션은 20으로 지정해 주어야 하겠습니다. from beem import Steem from beem.account import Account steem_node = ["https://api.steemit.com"] steem = Steem(node=steem_node) account = Account('joviansummer', blockchain_instance=steem) history_data = account.history(start=1, stop...

스팀잇 API 노드의 계정 이력(account history) 조회에 문제가 있는 듯합니다

by joviansummer original STEEMIT post: https://steemit.com/blog/@joviansummer/api-account-history 스팀잇 API 노드인 https://api.steemit.com의 계정 이력(account history) 조회에 문제가 있는 것 같습니다. 계정 상태정보 조회 등은 제대로 응답이 오는데 이력 조회가 제대로 되지 않고 있습니다. 파이썬 beem 기준으로 Account 객체의 history() 함수를 사용하면서 조금 긴 범위(예를 들어 하루)로 조회 요청을 보내면 제대로 동작하지 않고 예외가 발생하네요. 서버에 문제가 있는 것인지 아니면 일부러 제한을 가해 놓은 것인지 모르겠습니다. 계정 이력 조회는 스팀파워 임대 이력 , 큐레이션 보상 이력 등을 파악할 때 필요하기 때문에 이 기능이 제대로 동작하지 않는 것은 문제가 있다고 생각됩니다. 스팀 관련 서비스가 제대로 동작하기 위해서는 안정적인 API 노드가 필수적인데 얼마전에는 노드 자체가 불안정한 모습을 보이기도 하고, 안정성 측면에서 아쉬운 부분입니다. @joviansummer의 스팀 프로젝트 스팀 증인노드를 운영중입니다. @jswit에 증인투표해 주시면 감사하겠습니다. ( https://steemitwallet.com/~witnesses ) jswit 증인 노드 프로젝트를 시작합니다. jsup 업보팅(upvoting) 서비스 소개 jsup 수혜자 지정 기능 추가 jSTEEM 프로젝트 - 텔레그램 챗봇으로 구현하는 스팀 블럭체인 탐색기 STEEM.NFT - 디지털 아트 보존 프로젝트 Posted through the AVLE Dapp ( https://avle.io )

파이썬 + 스팀: 반복적으로 API 노드에 접속할 때 고려할 점

by joviansummer original STEEMIT post: https://steemit.com/blog/@joviansummer/api 스팀 블럭체인으로부터 정보를 얻기 위해 API 노드에 요청을 보낼 경우, 일회성으로 접속하는 경우에는 별 문제가 없지만 while 또는 for 반복문을 통해서 반복 접속할 경우에는 응답이 제대로 오지 않을 수 있습니다. 예를 들어 특정 스팀 계정에 대한 어떤 정보를 조회하기 위한 함수 func_test()가 있다고 가정해 보겠습니다. 인자(argument)로 스팀 계정을 받아서 API 노드로부터 어떤 정보를 조회한 결과를 돌려주는 기능을 한다면, 아래와 같은 코드를 만들어 볼 수 있겠습니다. steem_id = 'joviansummer' result = func_test(steem_id) print(result) 위의 경우에는 별 문제가 없지만, 예를 들어 100개의 스팀 계정을 리스트(list) 형식으로 가지고 있다면 이들의 정보를 조회하기 위해 아래와 같은 코드를 만들 수 있습니다. account_list = ['joviansummer', 'jsup', 'jswit', ... ] for steem_id in account_list: result = func_test(steem_id) print(result) 코드 자체로는 전혀 문제가 없어 보이지만, 실제로 이러한 코드를 실행해 보면 API 노드에서 처음에는 정상적으로 응답이 오다가 어느 순간 제대로 응답이 오지 않는 경우가 발생할 수 있습니다. 아마도 한꺼번에 과도한 요청이 온다고 판단될 경우 접속에 제한을 하는 것으로 보입니다. 제대로 응답을 받지 못할 경우 API 접속 관련 파이썬 모듈에서 다섯번까지 재시도를 합니다만 결국 응답을 받지 못하는 경우도 발생합니다. 일단 첫번째로 생각해 볼 수 있는 해결책은 API 노드에 좀 더 공손하게(?) 요청을 하는 것입니다. time.sleep()...

파이썬 + 스팀: 트랜잭션(transaction)과 오퍼레이션(operation)

by joviansummer original STEEMIT post: https://steemit.com/blog/@joviansummer/transaction-operation 스팀 블럭체인에서 트랜잭션(transaction)은 특정 계정이 블럭체인에 디지털 서명을 해서 기록하는 거래 단위입니다. 오퍼레이션(operation)은 실제 실행되는 구체적인 작업, 예를 들어 보팅, 송금, 포스팅 등입니다. 이러한 구분이 필요한 이유는 1개의 트랜잭션에 여러개의 오퍼레이션이 존재할 수도 있기 때문입니다. 예를 들어 A에게 송금하는 오퍼레이션과 B에게 송금하는 오퍼레이션을 하나의 트랜잭션으로 묶어서 블럭체인에 기록할 수 있습니다. 이렇게 할 경우 2개의 오퍼레이션이 1개의 트랜잭션ID를 가지게 됩니다. 일반적으로 스팀잇을 사용할 때는 이런 경우가 없겠지만, 서비스를 개발하는 입장에서는 상당히 편리한 기능입니다. API 노드와의 통신을 줄여서 부담을 경감할 수도 있고, 같이 붙여서 한번에 기록하고 싶은 정보들이 있을 수 있기 때문입니다. 어제 포스팅했던 파이선 beem을 이용한 송금 코드를 예로 한번 보겠습니다. 관련 내용은 아래의 링크입니다. 파이썬 beem에서 TransactionBuilder를 이용한 스팀/스팀달러 송금 위의 포스트에 있는 예제 코드를 다시 가져오면 아래와 같습니다. from beem import Steem from beem.transactionbuilder import TransactionBuilder from beembase.operations import Transfer node_list = ["https://api.steemit.com"] steem = Steem(node=node_list) # 보내는 계정: joviansummer sender_id = 'joviansummer' # 보내는 계정의 액티브키 sender_active_key = '5XXXXXX....' # 받는 계정: ...

스팀 seed node가 살아 있는지 확인하기

by joviansummer original STEEMIT post: https://steemit.com/blog/@joviansummer/seed-node 스팀 seed node가 살아 있어서 응답을 하는지 확인하기 위한 간단한 리눅스 명령입니다. 출처는 아래의 포스트입니다. Me and STEEM (3) -- fixing seed node stuck issue 리눅스의 netcat(nc)을 이용해서 seed node에 접속을 하고 응답이 있으면 "Ok", 없으면 "Failed"를 출력합니다. 아래의 명령입니다. [ -n "`echo EOF | nc [seed_node_host] [port] -w 10 -q 2`" ] && echo Ok || echo Failed 여기서 [seed_node_host]는 seed node의 호스트 이름이고 [port]는 포트 번호입니다. 포트 번호는 통상 2001이 많습니다. 스팀잇의 공식 seed node중 하나인 sn1.steemit.com이 정상인지 확인하려면 아래와 같이 하면 되겠습니다. [ -n "`echo EOF | nc sn1.steemit.com 2001 -w 10 -q 2`" ] && echo Ok || echo Failed 문제가 없다면 "Ok"가 출력되어야 합니다. @joviansummer의 스팀 프로젝트 스팀 증인노드를 운영중입니다. @jswit에 증인투표해 주시면 감사하겠습니다. ( https://steemitwallet.com/~witnesses ) jswit 증인 노드 프로젝트를 시작합니다. jsup 업보팅(upvoting) 서비스 소개 jsup 수혜자 지정 기능 추가 jSTEEM 프로젝트 - 텔레그램 챗봇으로 구현하는 스팀 블럭체인 탐색기 STEEM.NFT - 디지털 아트 보존 프로젝트

파이썬 + 스팀 : custom json 트랜잭션의 잠재력

by joviansummer original STEEMIT post: https://steemit.com/blog/@joviansummer/custom-json 스팀 블럭체인에는 포스팅, 업보팅, 스팀파워 임대, 송금 등 다양한 트랜잭션들과 함께 커스텀 json(custom json)이라는 종류의 트랜잭션이 있습니다. 커스텀 json은 일반적인 스팀잇 사용에서는 팔로우/언팔로우, 알림을 읽음으로 표시하기 등에 사용되는 트랜잭션입니다 . 커스텀 json 트랜잭션의 매력은 스팀잇에서 기본적으로 사용하는 것 이외에 개발자가 마음대로 데이터를 정의해서 블럭체인에 저장할 수 있다는 점입니다. 파이썬의 딕셔너리(dictionary) 데이터는 json과 사실상 동일한 형태이므로 그대로 스팀 블럭체인에 저장하는 것이 가능합니다. 스팀에서 파생된 하이브나 블러트도 마찬가지죠. 파이썬의 딕셔너리와 json 사이의 변환은 이전 포스팅을 참고하시기 바랍니다. 파이썬에서 json 형식 문자열(str) - 딕셔너리(dict) 변환 개발자가 자기가 원하는 데이터를, 프로그램이 조회하고 처리하기 편리한 json 형식으로 저장하고 다시 읽어서 사용할 수 있습니다. 이 기능은 단순히 데이터의 저장과 조회 정도가 아니라 스팀 블럭체인 위에 개발자가 정의한 또 다른 블럭체인을 올릴 수도 있습니다. 사용자가 직접 토큰을 발행할 수 있는 스팀-엔진(https://steem-engine.net) 또한 커스텀 json을 활용해서 구현했음이 분명합니다. 처음에 스팀 블럭체인을 설계할 때 이렇게 유연한 커스텀 json 트랜잭션을 포함시킨 것도 그렇고 스팀-엔진도 그렇고 참 기발하다는 생각이 듭니다. 블럭체인을 활용한 창의적인 아이디어가 있다면 그게 무엇이 되었든지간에 커스텀 json을 이용해서 스팀에서 어플리케이션으로 구현이 가능할 것 같습니다. 다른 암호화폐에도 이런 종류의 기능이 있는지 모르겠습니다만, 어쨌든 상당히 매력적이고 잠재력이 큰 기능임은 분명합니다. @joviansumme...

파이썬 beem을 이용해서 현재 스팀파워(SP) 확인하기

by joviansummer original STEEMIT post: https://steemit.com/blog/@joviansummer/beem-sp 파이썬 beem에서 계정의 현재 스팀파워를 조회하는 방법입니다. Account 객체를 이용해서 계정에 대한 정보를 가져와 json()함수를 통해 계정 정보를 딕셔너리(dict) 형식으로 얻을 수 있습니다. 아래의 코드는 @joviansummer 계정의 정보를 가져오는 예시입니다. from beem import Steem from beem.account import Account node_list = ["https://api.steemit.com"] steem = Steem(node=node_list) account = Account('joviansummer', blockchain_instance=steem) acc_json_data = account.json() json() 함수를 이용해서 계정 정보를 딕셔너리 형식으로 변수 acc_json_data에 할당했습니다. 이제 여기에서 필요한 값들을 가져와서 스팀 파워를 파악합니다. 스팀파워는 VEST라는 단위로 조회되며, 조회한 결과를 스팀파워로 변환해서 출력해 주어야 합니다. acc_json_data에 저장된 딕셔너리(dict)에서 소유하거나 임대하거나 임대받은 VEST는 아래의 키(key)를 이용해 찾을 수 있습니다. vesting_shares: 소유하고 있는 스팀파워(단위: VEST) delegated_vesting_shares: 임대한 스팀파워(단위: VEST) received_vesting_shares: 임대 받은 스팀파워(단위: VEST) vesting_shares = acc_json_data['vesting_shares']['amount'] delegated_shares = acc_json_data['delegated_vesting_shares']['...

파이썬 + 스팀 : steem-python 코딩 예시 포스트 모음

by joviansummer original STEEMIT post: https://steemit.com/blog/@joviansummer/39pexs-steem-python steem-python 라이브러리를 이용해서 스팀에서 제공하는 여러 가지 기능을 수행하는 예제들을 모았습니다. 누군가에게는 도움이 될 수도 있을 것 같아서, 제가 개발작업을 하면서 잊어버리지 않으려고 과거에 포스팅했던 내용들을 다시 찾아서 여기에 모아 둡니다. 스팀잇의 검색 기능이 그리 좋지 않아서, 일일이 포스트 제목을 보면서 찾아서 모으는 일도 좀 귀찮긴 하네요. steem-python을 이용해서 개발을 해 보고자 한다면 작게나마 도움이 될 것이라고 생각됩니다. 파이썬(steem-python)에서 현재의 보팅 파워 계산 파이썬(steem-python)에서 업보팅 수행 파이썬(steem-python)에서 api 서버 설정 파이썬(steem-python)에서 스팀잇 계정 정보 확인 파이썬(steem-python)을 이용한 스팀 가격 공시 파이썬(steem-python)을 이용한 보상 클레임 파이썬(steem-python)을 이용한 포스팅 - 블로그 파이썬(steem-python)을 이용한 포스팅 - 댓글 파이썬(steem-python)을 이용한 포스팅 - 커뮤니티 포스트 파이썬(steem-python)에서 스팀잇 계정의 현재 스팀파워(SP) 확인 @joviansummer의 스팀 프로젝트 스팀 증인노드를 운영중입니다. @jswit에 증인투표해 주시면 감사하겠습니다. ( https://steemitwallet.com/~witnesses ) jswit 증인 노드 프로젝트를 시작합니다. jsup 업보팅(upvoting) 서비스 소개 jsup 수혜자 지정 기능 추가

파이썬 + 스팀 : steem-python, beem 라이브러리 사용 예제 웹사이트

by joviansummer original STEEMIT post: https://steemit.com/blog/@joviansummer/7vajdw-steem-python-beem 바로 이전의 "파이썬 + 스팀" 포스팅에서 제시한 라이브러리 사용설명서와 함께, 스팀 어플리케이션 개발을 하고자 한다면 꼭 참조해야할 사이트가 있습니다. 이것도 영어로 되어 있어서 불편합니다만, 개발 예제들이 있기 때문에 소스코드만 봐도 도움이 꽤 됩니다. 우선 이전에 포스팅한 라이브러리 소개는 아래의 링크입니다. 파이썬 + 스팀 : 개발용 라이브러리(steem-python, beem) 우선 steem-python 라이브러리의 예제 코드를 보려먼 "STEEM Developer Portal"이라는 웹사이트로 가면 됩니다. 아래의 링크 입니다. https://developers.steem.io/ 위 웹사이트에서 "TUTORIALS" 항목의 하위에 "Python"이 있습니다. 여기에 파이썬 코드 예제가 있습니다. 중심이 되는 클래스는 Steem입니다. from steem import Steem s = Steem() Steem 클래스에서 제공하는 다양한 함수들을 이용해서 작업을 수행하게 됩니다. beem 라이브러리의 예제 코드는 "HIVE Developer Portal"로 가야 합니다. 아래의 링크입니다. https://developers.hive.io/ 웹페이지 구성은 STEEM Developer Portal과 거의 같습니다. 마찬가지로 "TUTORIALS" 항목의 하위에 있는 "Python"을 보면 됩니다. beem 라이브러리가 하이브 중심으로 이루어지고 있기 때문에 beem 예제는 여기에서 볼 수 있습니다. beem 예제 코드를 보면 Hive 클래스를 사용하고 있는 것을 볼 수 있습니다. from beem import Hive h = Hi...

파이썬 + 스팀 : 개발용 라이브러리(steem-python, beem)

by joviansummer original STEEMIT post: https://steemit.com/blog/@joviansummer/steem-python-beem 스팀 어플리케이션 개발을 위한 파이썬 라이브러리는 2가지가 있습니다. 하나는 steem-python이고, 나머지 하나는 beem입니다. 아쉽게도 사용 설명서는 영어로 되어 있고 예제가 그리 풍부한 것이 아니어서 개발 여건이 그리 좋은 편은 아닙니다. steem-python은 스팀의 공식 파이썬 라이브러리로, 당연히 스팀에 특화되어 있습니다. 반면에 beem은 스팀, 하이브, 블러트에 모두 사용할 수 있는 라이브러리입니다. 만약 스팀에서 개발한 어플리케이션을 하이브나 블러트로 이식해야 한다면 steem-python보다는 beem을 사용하는 것이 유리할 것입니다. steem-python의 사용설명서는 아래의 링크에서 확인할 수 있습니다. https://steem.readthedocs.io/en/latest/ 설치/소개 등 앞부분을 읽어서 어느 정도 감을 잡은 후에, 필요할 때마다 해당되는 기능에 있는지 이리저리 찾아서 공부하는 방식으로 참고했습니다. 어플리케이션 개발 측면에서 가장 많이 보게 되는 항목은 "Transactions and Accounts"와 "Tools"입니다. beem의 사용설명서는 아래의 링크에서 확인할 수 있습니다. https://beem.readthedocs.io/en/latest/ 여기도 마찬가지로 설치/소개 관련 부분을 읽고 나서 필요할 때마다 찾아보는 방식을 택했습니다. 개발 측면에서 가장 많이 보게 되는 항목은 "Modules" 항목 하위에 있는 "beem Modules"입니다. 양쪽 라이브러리를 모두 import해서 혼용해도 문제는 없을 것입니다만, 가능 하다면 하나의 코드에서는 하나의 라이브러리를 택하는 것이 나중에 수정하거나 검토할 때 가독성이 더 좋을 것 같습니다. 제 경우...

파이썬 + 스팀 : 대략의 큰 그림

by joviansummer original STEEMIT post: https://steemit.com/blog/@joviansummer/6vzeti 스팀 어플리케이션은 기본적으로 스팀 블럭체인과 상호작용(조회하거나 기록하는 작업)을 통해서 서비스/기능을 제공합니다. 우리가 글을 읽고 쓰는 스팀잇도 스팀 블럭체인과 상호작용하는 기능을 웹을 통해서 제공하는 서비스라고 볼 수 있습니다. 스팀 어플리케이션과 스팀 블럭체인을 연결해주는 역할은 퍼블릭 API 노드(public API node)에서 합니다. 대표적인 노드가 https://api.steemit.com입니다. 퍼블릭 API 노드와 통신을 하면서 특정한 서비스/기능을 제공할 수 있는 프로그램을 만들면 스팀 어플리케이션이 됩니다. 필요할 때만 잠깐 실행하는 형태가 아니라 - 예를 들어 @jsup 또는 @jswit 프로젝트처럼 - 여러 사용자에게 24시간 제공하는 서비스라면 별도의 서버를 구축해서 운영하게 됩니다. 이 경우에는 어플리케이션 개발과 함께 서버 운영관리가 이루어져야 합니다. 따라서, 어플리케이션 개발과 함께 리눅스 서버 관리도 필요하게 됩니다. 이렇게 써 놓고 보니 어째 내용이 "해 볼 만하다"가 아니라 "골치 아픈 일이다"처럼 된 것 같은데요. 결론적으로 "좀 골치 아픈 문제들이 있지만 그래도 나름 해 볼 만하다" 정도로 생각해 주시면 될 것 같습니다. 선뜻 덤벼들기에는 진입 장벽이 있는 것이 사실입니다만, 사용자가 적고 기능이 아주 복잡하지 않다면 라즈베리파이 같은 싱글보드 컴퓨터로도 충분히 소화할 수 있을 것입니다. 사실 제가 작업을 하면서 가장 크게 느꼈던 스팀 서비스 개발의 실질적인 장애물은 스팀 어플리케이션에 대한 자료와 개발 예제가, 특히 한글로 된 자료가 풍부하지 않아서 직접 이리 저리 시험을 하고 시행착오를 겪어가며 보내는 시간이 은근히 많다는 점이었습니다. (저라도 여건이 될 때마다 포스팅을 해야겠군요) 어플리케이션 개...