Posts

Showing posts with the label witness

Making a table format on Discord

Image
by joviansummer original STEEMIT post: https://steemit.com/blog/@joviansummer/making-a-table-format-on-discord Hello, this is @joviansummer. My code revision of the automated missed-block reporter for witness Discord channel continues. After implementing mentioning(pinging) capability , I'm trying to convert reporting format to tabular form. It was requested by witness @steemchiller). On Steemit, creating a table is easy thanks to markdown table support. On Discord, unfortunately, table is not supported. Discord only supports a limited subset of markdown and table is not available. Thus, it seems the only way to make something similar is to use code block. In code block, text alignment possible because every character occupies the same width. You can see the difference from the screenshot below: Now, I need to make sure each field occupies pre-determined length. Thankfully, python provides a really useful capability called f-string. Here is an example. name = '@joviansumm...

How to mention(ping) user on a Discord channel with web hook

Image
by joviansummer original STEEMIT post: https://steemit.com/blog/@joviansummer/how-to-mention-ping-user-on-a-discord-channel-with-web-hook Hello, this is @joviansummer. I've been providing automated hourly report of missed blocks on witness Discord channel. Considering witness @faisalamin's suggestion, I did some research and test to find out how to mention(ping) discord users when their witness nodes are missing blocks. The reporter process uses web hook to send missed blocks report. Discord's developer document for web hook is at https://discord.com/developers/docs/resources/webhook . I decided to write this post because it took me a bit of time to figure out how to ping a user. It might be of a little help for anyone interested in working with Discord web hook. When you use Discord with your web browser, mentioning someone is simple. You just type Discord username with preceding '@'. If you mention Discord user joviansummer for example, you just type @joviansu...

증인 노드에서 블럭체인의 블럭 내용을 조회하기 위한 플러그인

by joviansummer original STEEMIT post: https://steemit.com/blog/@joviansummer/8ab30 최근에 파이썬 beem의 Block 객체를 이용해서 블럭체인으로부터 특정 블럭을 조회하는 방법들을 살펴보고 있는데요. 증인 노드에서 이러한 조회에 대한 응답을 해 주기 위해 필요한 플러그인을 검토해 보았습니다. Account 객체에서 계정 이력을 조회하는 등 다른 종류의 조회는 논외로 하고 블럭체인의 블럭 조회 관련된 부분만 생각해 보면 증인 노드의 config.ini 파일에 아래의 항목이 필요할 것으로 생각됩니다. 증인 노드의 8090번 포트를 통해 조회 요청을 하는 경우입니다. plugin = witness webserver p2p json_rpc database_api block_api webserver-http-endpoint = 0.0.0.0:8090 스팀의 현재 상황에 대한 통계가 없는 것 같아서 제가 직접 코딩을 해서 파악을 해 볼까 생각을 해 봤는데, 일단 블럭체인의 내용을 조회하는 요청이 상당히 많이 발생할 것 같아서 공식 API노드를 사용하는 것보다는 제가 운영중인 증인 노드에서 조회하는 것이 낫겠다는 생각이 들더군요. 아직은 그냥 막연하게 생각만 해 보고 있는 단계라 실제로 작업을 할지 어떨지는 좀 더 시간이 지나야 할 것 같습니다. @joviansummer의 스팀 프로젝트 스팀 증인노드를 운영중입니다. @jswit에 증인투표해 주시면 감사하겠습니다. ( https://steemitwallet.com/~witnesses ) jswit 증인 노드 프로젝트를 시작합니다. jsup 업보팅(upvoting) 서비스 소개 jsup 수혜자 지정 기능 추가 jsup 서비스에 큐레이션 보상 분배 기능이 추가되었습니다. jSTEEM 프로젝트 - 텔레그램 챗봇으로 구현하는 스팀 블럭체인 탐색기 STEEM.NFT - 디지털 아트 보존 프로젝트 Posted through the AVLE ...

파이썬 beem을 이용한 스팀 가격 공시

by joviansummer original STEEMIT post: https://steemit.com/blog/@joviansummer/6kkblh-beem 파이썬 beem을 이용해서 스팀 가격을 공시하는 방법입니다. 액티브키(active key)를 필요로 하며, 증인 노드에서 가격을 공시할 때 사용할 수 있습니다. Witness 객체에서 제공하는 feed_publish() 함수를 사용하면 됩니다. 예제 코드는 아래와 같습니다. from beem import Steem from beem.witness import Witness steem_nodes = ['https://api.steemit.com'] # 증인 계정 @jswit wit_id = 'jswit' # 액티브키 priv_key = '5XXXX...' # 스팀 가격: 0.265라고 가정 steem_price = 0.265 s = Steem(node=steem_nodes, keys=[priv_key]) witness = Witness(wit_id, blockchain_instance=s) # 가격 공시 witness.feed_publish(feed_val, account=wit_id) steem-python을 이용한 스팀 가격 공시 방법은 이전 포스트를 참고하시기 바랍니다. 아래의 링크입니다. 파이썬(steem-python)을 이용한 스팀 가격 공시 @joviansummer의 스팀 프로젝트 스팀 증인노드를 운영중입니다. @jswit에 증인투표해 주시면 감사하겠습니다. ( https://steemitwallet.com/~witnesses ) jswit 증인 노드 프로젝트를 시작합니다. jsup 업보팅(upvoting) 서비스 소개 jsup 수혜자 지정 기능 추가 jSTEEM 프로젝트 - 텔레그램 챗봇으로 구현하는 스팀 블럭체인 탐색기 STEEM.NFT - 디지털 아트 보존 프로젝트

파이썬(steem-python)을 이용한 스팀 가격 공시

by joviansummer original STEEMIT post: https://steemit.com/blog/@joviansummer/4vvjru-steem-python steem-python을 이용해서 스팀 가격을 공시할 수 있습니다. @jswit 증인 노드에서 자동으로 가격을 공시하기 위해 필요한 부분입니다. 가격을 공시하기 위해서는 액티브키(private active key)가 필요하며, 아래의 예시와 같이 해 볼 수 있습니다. Steem 객체의 commit.witness_feed_publish()를 사용합니다. from steem import Steem # 증인 계정 witness_id = 'jswit' # 액티브키 priv_key = '5*******...*' # 스팀 가격: 0.495라고 가정 steem_price = 0.495 # 가격 공시 s = Steem(keys=priv_key) s.commit.witness_feed_publish(steem_price, account=witness_id) 업비트에서 시세를 가져오는 기능과 조합해서 가격을 공시하는 방식으로 작업할 예정입니다. 파이썬으로 업비트 거래소의 스팀 가격 조회 https://steemit.com/hive-141029/@joviansummer/6bstk5

파이썬으로 업비트 거래소의 스팀 가격 조회

by joviansummer original STEEMIT post: https://steemit.com/blog/@joviansummer/6bstk5 업비트(Upbit) 거래소에서 코인 시세 조회를 위한 API를 제공하는데요. 이를 이용해서 스팀 가격을 조회하는 작업을 파이썬으로 수행할 수 있습니다. @jswit 증인 노드에서 스팀 가격을 공시해야 하는데, 업비트의 스팀 시세를 이용하기 위해 필요한 부분입니다. 달러 기준으로 시세를 공시해야 하므로 업비트의 BTC-STEEM 시세와 USDT-BTC 시세를 가져온 후 USDT-STEEM 시세를 계산하여 공시하려고 합니다. 파이썬의 requests 모듈을 이용해서 업비트에 API 요청을 보내면 json 형식으로 응답이 오는데요, 이것을 딕셔너리로 변환하여 작업합니다. import requests # 업비트 API 접속 주소 (BTC-STEED, USDT-BTC) ticker_url = "https://api.upbit.com/v1/ticker?markets=BTC-STEEM,USDT-BTC" # HTTP GET 요청으로 접속하여 응답 수신 response_raw = requests.get(ticker_url) # json 형식의 응답을 딕셔너리(dict) 형식으로 변환 response = response_raw.json() # BTC-STEEM 시세 btc_steem_price = response[0]['trade_price'] # USDT-BTC 시세 usdt_btc_price = response[1]['trade_price'] # USDT-STEEM 시세 계산 steem_price = btc_steem_price * usdt_btc_price print('STEEM 가격:', steem_price)

jswit 증인 노드 구축에 도움이 된 포스트 모음

by joviansummer original STEEMIT post: https://steemit.com/blog/@joviansummer/2x7njh-jswit @jswit 증인 노드를 구축하면서 공부하는데 많은 도움이 되었던 스팀잇 포스트 목록입니다. 이것 말고도 더 있었지만 저에게 큰 도움이 된 주요 포스트들이니까 누군가에게도 참고가 될 듯하여 모아둡니다. @ayogom님 포스팅: 스팀 증인 노드 세팅하기 1탄 https://steemit.com/hive-101145/@ayogom/3didaz-1 스팀 증인 노드 세팅하기 2탄 https://steemit.com/hive-101145/@ayogom/6i8cmu-2 @etainclub님 포스팅: [Steem on RPi] Sync Failed (제목은 failed라도 본문과 댓글 모두 큰 도움이 되었습니다) https://steemit.com/hive-192037/@etainclub/steem-on-rpi-sync-failed [Steem on RPi] Updates https://steemit.com/hive-192037/@etainclub/steem-on-rpi-updates @steem-supporter님 포스팅: Installing a Full API server with HF version 0.23.1 with MIRA https://steemit.com/witness-category/@steem-supporter/installing-a-full-api-server-with-hf-version-0-23-1-with-mira @klye님 포스팅: The Complete Noob Guide to STEEM Witness Setup https://steemit.com/witness-category/@klye/the-complete-noob-guide-to-steem-witness-setup

초기에 증인 노드 버전이 0.0.0으로 나오는 문제

Image
by joviansummer original STEEMIT post: https://steemit.com/blog/@joviansummer/0-0-0 처음 증인 노드 운영을 시작했을 때, 스팀월드의 @jswit 계정 정보 페이지( https://steemworld.org/@jswit )에서 @jswit 계정의 증인 정보(witness details)를 보면, 증인 노드의 버전(running version)이 0.0.0으로 표시되었습니다. 0.23.1 버전의 소스 코드를 이용해서 빌드한 노드인데 0.0.0이라고 나와서 서버에서 뭔가 설정을 잘못한 것은 아닐까 생각되어, 이것 저것 한참을 찾아보고 뭐가 문제일까 상당히 고민을 했었습니다. 그런데, 블럭을 처음으로 생성하고 난 후부터 버전 정보가 0.23.1로 표시가 되더군요. 생성한 블럭이 없을 때는 버전이 0.0.0으로 표시되는 모양입니다. 어쨌든 증인 노드는 정상적으로 잘 동작하고 있고 업보팅 개발 작업도 계속 진행되고 있습니다.

우분투 18.04에서 빌드한 steemd, cli_wallet을 우분투 20.04에서 실행

by joviansummer original STEEMIT post: https://steemit.com/blog/@joviansummer/18-04-steemd-cliwallet-20-04 우분투 18.04LTS에서 steemd와 cli_wallet을 빌드해서 우분투 20.04LTS에서 실행해 보았습니다. 우선 steemd는 문제 없이 잘 실행되는 것 같습니다. 다행이네요. cli_wallet은 오류가 발생하는데, libreadline.so.7 파일이 없다는 내용입니다. 우분투 20.04LTS의 라이브러리 파일을 살펴보았습니다. /lib/x86_64-linux-gnu/ 디렉토리에 있습니다. 20.04에서는 libreadline.so.8이 있네요. libreadline.so.8.0에 심볼릭 링크(symbolic link)로 연결되어 있습니다. 버전이 7에서 8로 올라간 모양입니다. 호환성에 큰 문제는 없을 것으로 생각되어 libreadline.so.7을 심볼릭 링크로 만들어 libreadline.so.8.0에 연결했습니다. cd /lib/x86_64-linux-gnu/ sudo ln -s libreadline.so.8.0 libreadline.so.7 다시 cli_wallet을 실행해 보니, 해당 오류 메시지가 사라졌습니다. 아마도 문제 없을 것으로 보입니다. 빠르면 오늘중으로 증인 노드 구동을 시도해 볼 수 있을 것 같습니다.

스팀 블럭체인 데이터 다운로드

by joviansummer original STEEMIT post: https://steemit.com/blog/@joviansummer/4c6ntp 스팀 증인 노드를 구동할 때 처음부터 블럭체인 데이터를 받으면서 동기화를 시작하면 최신 블럭에 도달할 때까지 시간이 많이 걸리기 때문에, 블럭체인 데이터를 모아서 압축해 놓은 파일을 다운로드하는 쪽이 더 효율적입니다. @ety001님이 운영중인 웹사이트에서 블럭체인 데이터를 다운로드할 수 있습니다. 아래의 링크입니다. https://files.steem.fans/ 증인 노드의 경우에는 "steem_witness"로 시작되는 파일을 다운로드하면 됩니다. 리눅스에 wget을 사용할 경우 아래와 같이 다운로드하면서 압축을 풀어서 저장할 수 있습니다. wget -c -qO- https://files.steem.fans/data/steem_witness-20210908.tar.lz4 | lz4 -d | tar x

스팀(steemd) 소스 코드 0.23.1

by joviansummer original STEEMIT post: https://steemit.com/blog/@joviansummer/steemd-0-23-1 얼마전에 @etainclub님의 라즈베리파이 스팀 증인 노드 구축 작업과 관련해서 소스 코드 버전에 대한 글을 쓴적이 있습니다. 아래의 링크입니다. ARM CPU에서 스팀 증인 노드 구축 - 소스 코드 버전 https://steemit.com/hive-101145/@joviansummer/6q1ub3-arm-cpu 그 당시에 구동 스크린샷에 블럭체인 버전이 0.23.0이어서 괜찮을까 싶기도 했는데요. @etainclub님의 최근 포스트에서 버전 0.23.1 소스 코드에 대한 얘기가 나왔네요. 아래의 링크입니다. [Steem on RPi] Sync Failed https://steemit.com/hive-192037/@etainclub/steem-on-rpi-sync-failed 위의 포스트에 달린 댓글에 있습니다. 0.23.1 소스 코드의 깃허브(github) 페이지는 아래의 링크입니다. https://github.com/hfang1989/steemhf/tree/hf0.23.1 왜 소스 코드가 스팀 공식 깃허브 페이지에 없고 별도로 이렇게 떨어져 있는지는 모르겠지만, 어쨌든 가장 최신 버전의 소스 코드는 이것 같습니다.