Posts

Showing posts with the label jsup

[ENG] jsup.GEN experiment - connecting image AI with Steemit

Image
by joviansummer original STEEMIT post: https://steemit.com/blog/@joviansummer/eng-jsup-gen-experiment-connecting-image-ai-with-steemit Hello, this is @joviansummer(witness: @jswit). jsup.GEN is an experiment to develop a function to generate images on Steemit. I've been looking into image generation AI models for some time, out of personal curiosity. Unfortunately, image generation via AI model is quite computation-intensive and GPU resource is expensive. Because of this, I'm sorry to say that scope and eligibility of this experiment is fairly limited. You're eligible for this experiment if the following 2 conditions are met: more than 1000 SP delegation to @jsup vote for witness @jswit Image generation request can be sent by writing a reply. You don't need to write one to any specific post which means you may just write a reply to your own post. (I simply didn't want anyone to write one-line post just to make a request.) The request must be one-line start...

jsup.GEN 실험 - 스팀잇에서 AI 기반 이미지 생성

Image
by joviansummer original STEEMIT post: https://steemit.com/blog/@joviansummer/jsup-gen-ai jsup.GEN 프로젝트는 스팀잇에서 이미지를 생성하는 기능을 제공하기 위한 실험입니다. 공부 차원에서 작년부터 이것 저것 알아보면서 검토했던 기능인데, 생소한 분야이다 보니 이제서야 실험을 해 볼 수 있는 여건이 되었습니다. 이미지 생성을 요청할 수 있는 계정은 아래의 두가지 조건을 모두 만족하는 경우로 제한합니다. AI를 이용한 이미지 생성은 계산량이 워낙 많고 GPU 자원이 워낙 비싸기 때문에 부득이하게 매우 제한적으로 실험을 할 수밖에 없습니다. 조건은 아래와 같습니다. @jsup에 스팀파워를 1천sp 이상 임대 @jswit에 증인 보팅 이미지 생성 요청은 댓글로 가능하며(댓글 대상 포스트는 정해져 있지 않으므로 본인 포스트에 달아도 됩니다), 반드시 "@jsup !gen"으로 시작해서 다음에 한줄로 영문 프롬프트가 들어가야 합니다. 생성 모델과 설정은 일본 애니메이션/일러스트/만화쪽으로 편향되어 있으므로, 사진처럼 사실적인 이미지보다는 그림에 가까운 이미지를 더 잘 만들어 주는 경향이 있습니다. 예를 들어 아래와 같이 댓글을 작성할 수 있습니다. @jsup !gen beautiful sunset on the beach, clouds, sailboat, watercolors painting style, best quality 이미지 요청이 접수되면 "request received"라는 내용의 대댓글이 생성됩니다. 이미지 생성이 완료되면 이미지 링크가 다시 대댓글로 생성됩니다. 예를 들면 아래와 같은 이미지를 얻을 수 있습니다. 하루에 요청할 수 있는 이미지 개수는 현재 아래와 같으며, 상황에 따라 별도의 공지 없이 변경될 수 있습니다. 스팀파워 임대량 1천sp 이상 ~ 1만sp 미만: 1개 스팀파워 임대량 1만sp 이상 ~...

jsup/avle code update - you don't have to write post everyday

by joviansummer original STEEMIT post: https://steemit.com/blog/@joviansummer/jsup-avle-code-update-you-don-t-have-to-write-post-everyday Hello, this is @joviansummer, developer of @jsup and@avle voting service. Voting service code for @jsup and @avle has been updated. I had been considering this update for a while, and recently I could come up with detailed implementation plan which resulted in a relatively swift code revision. The new added feature is capability to give daily upvote to the first thing you write for the day(timezone GMT+9) regardless of post or comment/reply. Writing a post everyday can be challenging. In that case, you can write a reply to receive daily upvote because writing a reply everyday is much easier and also a good way to engage in your community. Writing a post everyday just to get an upvote can be very tedious and exhausting, and post itself could easily become low-quality. There may be people who enjoy writing a post everyday, but we can't ignore th...

jsup/avle 보팅 코드 갱신 - 1일1포스팅 강박에서 벗어나기

by joviansummer original STEEMIT post: https://steemit.com/blog/@joviansummer/jsup-avle-1-1 안녕하세요. @joviansummer입니다. @jsup과 @avle의 보팅 코드를 갱신하여 적용하였습니다. 검토는 상당히 오래전부터 진행해 왔습니다만, 최근에 구체적인 설계 방향이 잡히고 기술적으로 어떻게 할 것인지에 대해서도 결정이 되면서 생각보다 빠르게 코드 수정이 진행되었습니다. 새로운 기능은 신청자에 대해서 포스팅이 아니라 댓글에도 보팅을 하는 것입니다. 매일 포스팅하는 것이 부담스럽고 힘들다면 댓글을 달면 됩니다. 당연히 1일1포스팅보다 1일1댓글이 훨씬 쉽고, 댓글을 많이 쓴다고 나쁠 것도 없다고 생각됩니다. 임대 보팅을 받기 위해 억지로 매일 포스팅하는 것은 본인에게도 괴로운 일이고 포스팅 자체도 결국 저품질화될 가능성이 큽니다. 매일 포스팅하는 것이 즐거운 사용자들도 있겠습니다만, 단지 보팅 때문에 억지로 쥐어 짜서 하루에 하나씩 힘들게 포스팅하거나 사실상 내용이 없다시피 한 포스팅을 하는 사용자들도 있는 것이 현실입니다. 보팅을 받아야 한다는 압박감으로 매일 억지로 포스트를 쓰기 시작하면서 스팀잇은 재미 없고 따분한 곳이 되어 갑니다. 게다가 스팀잇의 트렌딩 페이지는 사실상 대량의 임대 셀프 보팅을 받는 사용자의 포스팅을 모아놓은 공간처럼 되어 있어, 이대로 계속 가면 SNS 본연의 매력은 상실하고 코인 채굴장 그 이상도 이하도 아니게 될까 우려되는 측면도 있습니다. 댓글 보팅이 이런 문제를 완화하는데 조금이나마 기여할 수 있지 않을까 생각됩니다. 대상: @jsup 또는 @avle에 스팀파워를 임대하여 보팅을 받고 있는 계정 신청 방법: @jsup 또는 @joviansummer의 최근 포스트에 "댓글 보팅을 신청합니다"라는 내용으로 댓글을 써 주시면 됩니다. 제가 확인하고 서버에 등록하면 다음날부터 해당 계정은 포스트/댓글 관계 없이 그날 처음 작성하...

스팀 공식 api 노드의 account history 불안정성

by joviansummer original STEEMIT post: https://steemit.com/blog/@joviansummer/5wvuqz-api-account-history 그저께 밤에 스팀 api 노드(api.steemit.com)의 account history 응답이 불안정해서 보팅 서비스에 장애가 있었습니다. 한동안 꽤 안정적으로 잘 동작했는데 가끔씩 이런 문제가 생기네요. 일반 사용자 입장에서는 별 관심이 없을 수도 있겠지만, 서비스 개발/운영 측면에서는 꽤나 성가신 부분입니다. 사실 최근까지도 보팅 코드는 지속적으로 수정이 이루어졌습니다. 포스팅 확인을 좀 더 빠르고 효율적으로 하는 것, 그리고 오류가 발생했을 때 예외 처리를 하는 것이 코드 수정의 주된 목적이었습니다. 여기서 더 고치기 시작하면 소위 로우 레벨(low level) API를 사용해야 하는 부분들이 생기는데, 이렇게 하면 파이썬의 간결성과 편리성이 상당 부분 희생될 것 같습니다. 하지만 account history에 대한 의존성을 줄이려면 어쩔 수 없는 작업인지라 고민이 되는군요. 자체적으로 full node를 구축해서 보팅 서비스가 자체 구축한 노드와 통신하도록 한다면 이런 종류의 코드 수정은 전혀 필요 없겠지만, 이미 적자인 상태에서 추가적으로 서버를 구축하는 것은 불가능하기 때문에 결국 코드에서 해결하는 수밖에 없을 것 같습니다. 한편으로는 매일 장애가 발생하는 것도 아닌데, 어차피 고쳐도 확률을 낮춰줄 뿐이지 장애는 언젠가 다시 발생할텐데, 이 귀찮은 작업을 굳이 해야할 것인가라는 생각도 듭니다. 장애가 자주 발생하는 것은 아니기 때문에 그냥 이대로 놔두고 장애가 나면 그 때마다 복구하는 방식도 현재로서는 충분히 현실적인 선택이 아닌가 생각됩니다. 어차피 당장 뭘 수정할 것은 아니고 현재 진행중인 @jsup 서비스와 구글 블로그를 연결하는 작업이 일단락된 후에 좀 시간을 두고 고민을 해 봐야될 것 같습니다. @joviansummer의 스팀 프로젝트 스...

[EN] jsup-blog experiment: access token for Google Blogger

Image
by joviansummer original STEEMIT post: https://steemit.com/blog/@joviansummer/en-jsup-blog-experiment-access-token-for-google-blogger jsup-blog experiment: bridge between Steemit & Google Blogger To use Google Blogger API, an access token must be issued via protocol called "OAuth 2.0". You get "OAuth client ID" and then generate "credentials.json" file. Of course you must have a Google blog. The procedure is as follows. Sign to your Google Account with using a web browser, and then go to Blogger section of Google for Developers page. Check the link below: Blogger API: Using the API You will see a blue button labeled as "Get an OAuth client ID". Click it, and then select "Create a new project". Specify project name and prduct name. Set category as "Desktop App". Then click "CREATE" button. API setting is complete. Now click "DOWNLOAD CLIENT CONFIGURATION" button to download credentials.json fi...

jsup-blog 실험: 구글 블로그(Blogger) 연동을 위한 액세스 토큰 생성

Image
by joviansummer original STEEMIT post: https://steemit.com/blog/@joviansummer/jsup-blog-blogger jsup-blog 실험: 스팀잇과 구글 블로그 연결 구글 블로그 API를 사용하려면 "OAuth 2.0"이라는 인증 방식을 통해서 액세스 토큰을 받아야 합니다. 우선 "OAuth client ID"라는 것을 발급 받고 credentials.json 파일을 만듭니다. 구글 블로그에 가입해서 블로그를 생성한 후에 진행합니다. 절차는 아래와 같습니다. 일단 구글 계정으로 로그인을 한 후, 구글 개발자 페이지의 블로그 관련 내용으로 갑니다. 아래의 링크입니다. Blogger API: Using the API 이 페이지를 보면 "Get an OAuth client ID"라고 써 있는 파란 버튼이 있습니다. 이 버튼을 클릭한 후 "Select or create project"에서 "Create a new project"를 선택해서 새로운 프로젝트를 생성합니다. 프로젝트 이름(project name)을 지정하고 제품명(product name)을 지정합니다. 종류는 "Desktop App"으로 선택하고 "CREATE" 버튼을 클릭합니다. API 설정이 완료되면 "DOWNLOAD CLIENT CONFIGURATION" 버튼을 클릭해서 "credentials.json" 파일을 다운로드합니다. 이제 @jsup 서비스에 등록하기 위한 토큰 파일을 만드는 절차가 필요합니다. 파이썬이 설치되어 있어야 합니다. 리눅스는 파이썬이 기본으로 설치되어 있고, 윈도우의 파이썬 설치는 아래의 링크를 참고하시기 바랍니다. 윈도우에서 파이썬 설치 절차는 아래와 같습니다. 우선 구글 API를 사용할 수 있는 파이썬 라이브러리를 설치해야 합니다. ...

[EN] jsup-blog experiment: bridge between Steemit & Google Blogger

by joviansummer original STEEMIT post: https://steemit.com/blog/@joviansummer/en-jsup-blog-experiment-bridge-between-steemit-and-google-blogger Hello this is @joviansummer. I'm working on a new experimental service, "jsup-blog". This service aims to enable @jsup's delegator to send his/her Steemit post to his/her own Google Blogger(www.blogger.com) blog. I started to think about this project at the beginning of this year, and have been doing some dev work for a while. It's not an automatic transfer to Blogger. Instead, eligible user will need to write a reply with specific keywords to his/her own post to request transfer. Thus, user can select which post to send. I'm planning to open a testing phase to a few(max. 3 people for now) of @jsup delegators for start. If everything goes smoothly, maybe I could let more people on board after that. One big advantage of Google Blogger is that you can find your previous posts quickly. You can search for your Steemit p...

jsup-blog 실험: 스팀잇과 구글 블로그 연결

by joviansummer original STEEMIT post: https://steemit.com/blog/@joviansummer/jsup-blog 올해초부터 구상해 왔던 실험 프로젝트인데 조금씩 진행을 해 오다가 이제서야 시험운영을 할 수 있는 수준에 가까워지고 있습니다. @jsup에 임대한 계정에서 작성한 스팀잇 포스트를 본인의 구글 블로그(www.blogger.com)에 보낼 수 있는 기능입니다. 모든 포스트를 보내는 것이 아니라, 선택한 본인의 포스트에 특정 키워드가 포함된 댓글로 전송 요청을 하면 보내는 형태입니다. 작성자 본인도 나중에 다시 찾아 볼만한, 그리고 다른 사람에게도 유익한 내용의 포스트를 선택해서 구글 블로그로 전송 요청을 하면 됩니다. 조만간 이와 관련된 구체적인 내용을 포스팅할 예정이며, @jsup 임대자를 대상으로 시험 참여자를 모집하려고 합니다. 우선은 3명 이하로 시험을 시작하고, 서비스가 안정화되면 조금씩 늘리는 방안을 생각하고 있습니다. 구글 블로그에서는 내가 작성한 과거 포스트를 매우 빠르게 찾을 수 있습니다. 스팀잇 포스트의 경우 제가 작업한 Steemit-Search 를 이용해서 나름 신속한 검색이 가능합니다만, 내가 쓴 글만 모아서 보거나 특정 내용의 글을 찾고 싶을 때는 구글 블로그의 검색이 더 편리하더군요. 또한, 구글 블로그에 게시되는 스팀잇 포스트는 출처(스팀잇 링크)가 명시되기 때문에 방문자들에게 스팀잇을 알릴 수 있는 계기가 될 수도 있으리라 생각됩니다. 게다가, 만약 유용한 글이 많아서 블로그 방문자가 늘어난다면 구글 애드센스와 연결해서 광고를 게시할 수도 있지 않을까 싶기도 하네요. 구글 블로그에 접근하기 위해서는 해당 블로그의 액세스 토큰(access token)을 @jsup 서비스에서 사용해야 하는데, 좀 귀찮지만 어쩔 수 없이 진행해야 하는 과정이 있습니다. 액세스 토큰에 대한 내용은 별도의 포스트로 설명할 예정입니다. 11월이 가기 전에 시험운영을 시작하는 것을 목표로 작업을 ...

jsup 2.0 - 후원을 받고 있는데 나도 jsup에 임대하면 어떻게 되나

by joviansummer original STEEMIT post: https://steemit.com/blog/@joviansummer/jsup-2-0-jsup jsup 2.0 - 업보팅을 다시 위대하게 @jsup 2.0을 통해 다른 사람의 후원을 받고 있는데, 나도 @jsup에 임대를 하면 어떻게 될까요? 예를 들어 누군가 나에게 임대량중 500sp를 할당해서 후원을 하고 있다면, @jsup으로부터 최소 5천sp 상당의 보팅을 매일 받게 될 것입니다. 이 상태에서 내가 500sp를 @jsup에 임대하면, 합산되어 보팅됩니다. 즉, 후원 500sp에 자가임대 500sp가 더해져서 1000sp가 할당되고, 최소 1만sp 상당의 보팅을 받게 됩니다. 만약 이 보팅에 의해 발생한 큐레이션 보상이 1스팀이라고 한다면, 이중 90%인 0.9스팀이 분배 대상이고 0.1스팀은 포스팅하지 않은 임대자들을 위한 패시브 보상으로 사용됩니다. 그런데 2명의 스팀파워가 5:5로 합쳐져 보팅이 이루어졌기 때문에, 큐레이션 보상도 비율대로 나누어 분배됩니다. 즉 0.45스팀은 내가 받고 나머지 0.45스팀은 후원자에게 갑니다. 현재 @jsup 서비스는 자체 스팀파워가 약 6천sp가 있고, 개발자(@joviansummer) 및 증인(@jswit) 계정에서 총 1만2천sp 상당의 스팀파워를 지원하여 임대 계정의 보팅에 가산하고 있습니다. 여기에 큐레이션 보상도 90%를 그대로 매일 돌려받기 때문에 임대량 1만5천sp 이하에서 매우 좋은 수준의 수익률이지 않나 생각합니다. 복리의 효과를 누리고 싶으면 돌려받은 보상을 이용해서 임대량을 늘리면 될 것이고, 다른 사용처가 있다면 필요에 따라 사용하면 될 것입니다. 또한 임대하고 매일 포스팅하지 않아도 패시브 보상이 있어서 매일 보상을 받습니다. 여기에 다른 사람을 후원할 수 있는 기능도 있기 때문에, 자화자찬이긴 합니다만, 어쨌든 나름 괜찮은 서비스라고 생각합니다. 감사합니다. @joviansummer의 스팀 프로젝트 스팀...

[ENG] jsup 2.0 - make your upvote great again

by joviansummer original STEEMIT post: https://steemit.com/blog/@joviansummer/eng-jsup-2-0-make-your-upvote-great-again Hello, this is @joviansummer, developer of @jsup service. Beneficiary feature of @jsup service has been updated. For more information about the beneficiary feature, please check the following post: How to support your family members and friends with @jsup curation project Previously, if you specified beneficiary, the beneficiary also received curation reward generated by upvote. Now, there are 2 modes of support for beneficiary. Upvote only: Daily upvote goes to the beneficiary, but curation/passive reward goes to the delegator. If the beneficiary does not write post, passive reward goes to the delegator. Full support: Same as before. Curation/passive reward goes to the beneficiary. You can specify beneficiary by replying to the latest post of @jsup or @joviansummer. Default mode is upvote only. If you want go give full support to your beneficiary, please...

jsup 2.0 - 업보팅을 다시 위대하게

by joviansummer original STEEMIT post: https://steemit.com/blog/@joviansummer/jsup-2-0 @jsup 서비스 개발자 @joviansummer입니다. @jsup의 후원 기능 강화 작업을 마무리하고 서비스에 적용하였습니다. 관련 내용은 아래의 링크를 참고해 주시기 바랍니다. jsup의 후원(수혜자 지정) 기능 강화 검토 - 2023.6.8 아직은 jsup 서비스를 포기할 수 없는 이유 기존의 수혜자 지정 기능은 보팅으로 발생한 큐레이션 보상도 수혜자에게 분배되는 형태였으나, 이제는 수혜자 지정을 하면서 아래와 같이 둘 중 하나를 선택할 수 있습니다. 보팅 지원: 보팅은 수혜자에게 가고, 이를 통해 발생한 큐레이션 보상은 임대자에게 돌아옵니다. 수혜자가 포스팅하지 않으면 패시브 보상이 임대자에게 돌아옵니다. 발생한 큐레이션 보상의 90%를 받고 나머지 10%는 패시브 보상으로 분배됩니다. 아래의 링크를 참고하시기 바랍니다. jsup 서비스에 패시브 보상 기능이 추가되었습니다. 전면 지원: 보팅과 이를 통해 발생한 큐레이션 보상 또는 패시브 보상이 모두 수혜자에게 갑니다. 수혜자 지정은 댓글로 신청하시면 되고, "보팅 지원"인지 "전면 지원"인지 명시해 주시면 되겠습니다. 별도로 명시하지 않을 경우 기본은 보팅 지원으로 설정합니다. 수혜자 지정 기능과 관련된 자세한 내용은 아래의 링크를 참고해 주시기 바랍니다. jsup 서비스를 활용한 커뮤니티/가족/친구 후원 10배수 이상 증폭된 보팅으로 커뮤니티/가족/친구를 후원하고 이를 통해 증폭된 큐레이션 보상을 받는 방식입니다. 업보팅 본연의 의미를 부활시켜서 셀프보팅에 파묻혀 스러져가는 커뮤니티를 재건하는 계기가 되었으면 하는 바램입니다. 감사합니다. @joviansummer의 스팀 프로젝트 스팀 증인노드를 운영중입니다. @jswit에 증인투표해 주시면 감사하겠습니다. ( https://ste...

아직은 jsup 서비스를 포기할 수 없는 이유

by joviansummer original STEEMIT post: https://steemit.com/blog/@joviansummer/6k8w8m-jsup 좀 오래된 얘기입니다만, 친구와 내기 아닌 내기를 했습니다. 엄밀히 말하면 뭘 걸고 한 것은 아니니까 내기는 아니죠. 한 친구와 우연히 스팀 얘기를 하게 되었습니다. 처음엔 지나가는 말로 얘기했는데 의외로 진지하게 흥미를 보이길래 제가 아는 한에서 자세하게 설명을 해 주고 제가 하고 있는 개발 프로젝트에 대해서도 얘기해 주었습니다. 그 당시에는 그냥 재미있게 얘기하고 끝났는데, 얼마 있다가 이 문제로 연락이 왔습니다. 저에게 미래가 없는 곳에 시간과 노력과 비용을 계속 그렇게 쏟을 가치가 없는 것 같다고 하더군요. 그 친구가 제 얘기를 듣고 본인도 해 볼까 싶어 나름 열심히 알아보고 찾아보고 연구를 좀 했던 모양입니다. 제가 왜 그렇게 생각하느냐고 구체적으로 얘기해 달라고 하면서 논의가 꽤 길어졌습니다. 친구랑 메모까지 해 가면서 스팀 얘기를 하게 될 줄은 몰랐습니다. 외부인의 시각에서 하는 얘기라 꽤나 신랄하고 불편할 수 있습니다만, 저에게는 매우 고마운 충고였습니다. 친구가 지적한 스팀잇의 한계와 문제점을 제가 여기에 대강 요약해서 정리해 보자면 이렇습니다. 스팀잇은 핵심 기능이 SNS입니다. 여기에 참여하는 사용자들중 실질적으로 플랫폼의 미래에 큰 영향을 줄 수 있는 사람은 2가지 종류입니다. 첫번째는 스팀에 많은 돈을 투자하여 상당한 수준의 스팀파워를 소유한 고래들이고, 두번째는 유용한 정보나 재미 있는 내용을 담은 컨텐츠를 포스팅할 수 있는 창작자들입니다. 문제는 이 두 종류의 특징을 한 사람이 모두 가지기는 쉽지 않다는 것입니다. 그러므로, 플랫폼이 성공하려면 양쪽이 서로 협력하여 선순환하는 환경이 형성되어야 합니다. 유용하고 가치 있는 포스팅이 고래들의 후원을 받고 이를 통해 우수한 창작자들이 모이면 플랫폼의 인지도가 상승하여 사용자가 확대되고, 확대된 사용자들이 투자자 또는 ...

스팀파워, 보팅파워, 보팅 비중(vote weight)과 보상의 상관 관계

by joviansummer original STEEMIT post: https://steemit.com/blog/@joviansummer/b1f50-vote-weight 스팀잇을 오래 사용한 분들은 이미 대부분 아시는 내용일 수도 있으나, 보팅과 보상에 대해 궁금증을 가진 분들도 있을 수 있어서 간략하게 제가 아는 한도내에서 정리를 해 봅니다. 내용이 좀 복잡하긴 합니다만, 스팀잇을 사용자라면 알아 두는 것도 좋을 것 같습니다. 보팅으로 발생하는 보상은 보팅하는 계정의 스팀파워, 보팅파워, 보팅 비중(vote weight)에 비례합니다. 좀 더 구체적으로 말하자면, 스팀파워, 보팅파워, 보팅 비중의 곱에 비례하게 됩니다. 보상 ~ 스팀파워 * 보팅파워 * 보팅 비중 예를 들어 스팀파워가 1000sp인데 보팅파워가 90%인 계정이 풀보팅(보팅 비중 100%)하는 것과, 스팀파워가 900sp인데 보팅파워가 100%인 계정이 풀보팅하는 것과, 스팀파워가 1800sp인데 보팅파워가 100%인 계정이 50% 비중으로 보팅하는 것이 같다고 보시면 되겠습니다. 보팅파워는 보팅을 할 때마다 감소하는데 풀보팅을 할 경우 2% 정도 감소합니다. 50%로 보팅하면 1%가 감소하겠죠. 그리고 시간이 지나면서 서서히 회복됩니다. 회복량은 하루에 20% 정도 됩니다. 보팅파워가 낮아지면 보상도 감소하기 때문에 적정한 수준의 보팅파워를 유지하는 것이 좋겠습니다. 스팀잇에서 포스트를 보면 보상액이 달러($)로 표시되는데요. 이것은 현재 시세를 반영해서 환산한 표시값이고 정확한 수치는 아닙니다. 간혹 내가 보팅을 했더니 보상액이 갱신되면서 마치 보상액이 줄어든 것처럼 표시되는 경우도 있지만 실제로는 줄어들지 않습니다. 보팅 보상은 달러가 아니라 rshares라는 별도의 단위로 기록되며 포스팅 시점에서 7일후 정산될 때 스팀/스팀달러/스팀파워로 환산되어 지급됩니다. 업보팅을 하면 해당 포스트의 rshares 값이 증가하고 다운보팅을 하면 rshares값이 감소합니다. 제가 스팀...

파이썬 beem에서 계정 이력 확인 관련 문제

by joviansummer original STEEMIT post: https://steemit.com/blog/@joviansummer/3aca97-beem 우선 파이썬 beem에서 계정 트랜잭션 이력을 조회할 때 datetime 객체를 이용하는 방법은 아래의 링크입니다. 파이썬 beem에서 계정 트랜잭션 이력 조회(datetime 객체를 이용한 범위 지정) 왜 그런지는 모르겠지만, 간혹 datetime 객체를 이용해서 큐레이션 보상을 조회할 때 같은 트랜잭션을 2번 가져오는 경우가 발생하는 것을 확인했습니다. 항상 그런것은 아니고 어쩌다가 한번씩 그러는 것 같은에 정확한 원인을 모르겠네요. 블럭체인에 중복 기록되어 있는 것은 아닐 것이고, API 노드에서 조회 요청에 중복된 응답을 주거나 또는 beem에 오류가 있어서 중복된 데이터를 결과로 반환하는 것이 아닐까 추정할 뿐입니다. 임대량 계산 같은 작업은 문제가 없지만, 보상 분배를 위한 파워다운이나 송금에서는 중복 계산될 수 있기 때문에, 가져오는 응답 데이터에 중복이 없는지 확인을 하는 기능을 추가하는 것이 필요합니다. 현재 작업중인 @jsup 큐레이션 보상 분배 기능에서도 이것은 중요한 문제여서, 중복 확인을 하도록 코드를 수정하고 있습니다. 코드 수정이 완료되면 시험을 시작할 예정입니다. 빠르면 내일, 늦으면 며칠 더 걸릴 지도 모르겠습니다. @joviansummer의 스팀 프로젝트 스팀 증인노드를 운영중입니다. @jswit에 증인투표해 주시면 감사하겠습니다. ( https://steemitwallet.com/~witnesses ) jswit 증인 노드 프로젝트를 시작합니다. jsup 업보팅(upvoting) 서비스 소개 jsup 수혜자 지정 기능 추가 jSTEEM 프로젝트 - 텔레그램 챗봇으로 구현하는 스팀 블럭체인 탐색기 STEEM.NFT - 디지털 아트 보존 프로젝트 Posted through the AVLE Dapp ( https://avle.io )

업보트 보상, 스팀 파워, 보팅 파워의 상관 관계

by joviansummer original STEEMIT post: https://steemit.com/blog/@joviansummer/6cgrac 업보트 1개의 가격이 어떤 식으로 결정되는지는 사실 크게 신경을 쓰지 않았던 부분인데요. 직접 업보팅 서비스를 개발해 보니까 자연스럽게 관심이 생겨서 찾아보았습니다. 업보트 가치 계산은 아래의 링크에 제시되어 있습니다. Rewards:Formulas - Steem Center https://www.steem.center/index.php?title=Rewards:Formulas 이것 저것 복잡한 공식이 많이 나와 있는데요. 제 입장에서 직접적으로 관련되는 부분은 아래의 공식입니다. (해당 페이지에서 "Worth of a vote" 부분입니다.) Vote = Vp / 50 * SP * w * g 여기서 계산 결과인 Vote가 업보트의 가격입니다. 변수를 하나씩 보자면 이렇습니다. Vp: 보팅 파워(voting power) SP: 스팀 파워(steem power) w: 보팅 비중(vote weight) g는 편의상 일종의 가격 결정 계수 정도로 생각하면 될 것 같습니다. 스팀 시세(price) 등 5개 변수에 의해 결정되는데요. 잘 모르겠지만 결정 변수가 모두 "global variable"이라고 되어 있는 것을 보면 개별 사용자가 마음대로 설정할 수 있는 부분이 아닌 것으로 보입니다. 여기서 알 수 있는 점은, 업보트의 가격이 보팅 파워, 스팀 파워, 보팅 비중의 곱에 비례한다는 사실입니다. 현재 운영중인 @jsup 업보팅 서비스를 생각해 보면, SP는 임대 받은 스팀파워와 클레임한 큐레이션 보상의 합이 되고, w는 임대한 스팀파워가 전체 임대량에서 차지하는 비율에 의해 결정됩니다. 이제 남은 것은 Vp입니다. 보팅 파워를 높은 상태로 유지해야 업보트 보상의 가격이 높게 나옵니다. 현재 @jsup 업보팅 서비스는 보팅 파워가 90% 이상으로 유지되고 있어...

파이썬에서 스팀잇 웹접속을 통한 최근 포스팅 주소(url) 확인

by joviansummer original STEEMIT post: https://steemit.com/blog/@joviansummer/url jsup/templar-kr 업보팅 서비스 보완을 위한 작업과 관련하여 필요한 사항이라 메모해 둡니다. 보완 방안에 대한 내용은 아래의 링크입니다. jsup/templar-kr 업보팅 서비스 보완 방안 https://steemit.com/hive-141029/@joviansummer/7j3zha-jsup-templar-kr 최근 포스팅 목록을 api 서버를 통하지 않고 steemit.com 웹서버에 접속해서 확인하는 방법입니다. 파이썬의 requests 모듈을 활용합니다. 스팀잇 사용자의 포스팅 목록의 접속 주소는, 예를 들어 joviansummer의 포스팅 목록은 https://steemit.com/@joviansummer/posts 에 있습니다. requests를 이용해서 웹 접속에 대한 응답을 받아올 수 있습니다. import requests steem_id = 'joviansummer' post_list_url = 'https://steemit.com/@' + steem_id + '/posts' # HTTP GET 요청으로 포스트 목록 받아오기 response = requests.get(post_list_url) 위와 같이 하면 response.text에 응답으로 온 html 데이터가 문자열(string) 형식으로 저장됩니다. 우선 html 태그(tag)의 시작 지점인 '<' 기준으로 여러 줄로 분할합니다. # 태그 시작점을 기준으로 줄바꿈(\n)을 추가하여 multiline_response에 할당 multiline_response = response.text.replace('<','\n<') 각 포스트의 주소는 아래와 같은 형태의 항목에서 확인 가능합니다. \<a class=...