굳헬로의 스팀 프로그램 일기!! 대망의 시작 #1 Python 프로그램 설치 && steemengine 파이썬 api 설치 && 간단한 steemengine 예제

in sct •  4 years ago 

steem.jpg

안녕하세요. 굳헬로 @goodhello 입니다.

요즘 python을 이용하여 steemsteem engine에 대해 간간히 공부하고 있는데요.

제가 공부하고 있는것을 일기로 남겨보려고 합니다. (굳헬로의 종합일기 사이 사이)

이미 많은 다른 능력자 분들이 유용한 기능들을 구현해 주시고, 간간히 소스 오픈도 해주시고 계신데요.

그런것들을 보고 있자니, 저도 공부해서 뭔가 만들어 보고 싶더라구요.

그리고 코딩을 잘 모르지만, 하나씩 하나씩 배워나가는게 너무 재미있고, 또 그것들을 기록해 보고자 굳헬로의 스팀 프로그램 일기를 시작하게 되었습니다.

능력자 분들이 보기에 시시해 보일지도 모르지만, 코딩을 모르는 분들이 따라서 해볼 수 있도록 기초부터 차근차근 해나가 볼 생각입니다.

이론적인 내용이 들어가면 지루하고, 오히려 코딩이 더 어렵게 느껴질 수 있기에...

그냥 따라해볼 수 있는 예제들을 하나씩 실행해 보면서 steem과 steem engine을 다루어 보려고 합니다.

일단 우선적인 저의 계획은 python 프로그램 설치 부터 시작하여...

먼저 요즘 관심사인 steem engine api를 이용하여

스팀 엔진에 등록되어 있는 다양한 토큰들의 정보를 열람하는 것입니다.

이 후 토큰 클레임과 스테이킹, 전송 등을 살펴보고 나아가 토큰 매수와 매도까지 실행해 보도록 하겠습니다.

이를 이해하고 나면, 이후에는 이를 이용하여 자동으로 토큰을 클레임하고, 전송하는 봇을 만드는게 1차적인 목표입니다.

다음으로는 steem api를 이용하여, 스팀잇에 올라오는 포스팅들을 살펴보고...

자동 보팅과 자동 포스팅, 그리고 필요한 정보를 텔레그램으로 받을수 있도록 텔레그램 봇까지 다루어 볼 예정입니다.

갈길이 멀어 보이지만, 하나씩 하나씩 진행하다 보면 무리없이 해결해 나갈수 있다고 생각하며...

오늘은 그 첫걸음으로 이 모든것을 진행해 나가기 위한 기본적인 프로그램 설치부터 시작해 보겠습니다.

현재 스팀잇 개발자 분들은 python 아니면 node.js 를 많이 사용하고 계시더라구요. 이 둘중 제 생각에 초보자 분들이 조금 더 쉽게 접근할 수 있는게 python 바로 파이썬이라 생각했기에 저는 python으로 스팀을 다루어 보겠습니다.

그리고 저는 현재 윈도우7 환경에서 작업을 진행중인데 윈도우 10 환경에서와 간혹 조금씩 다른부분이 있더라구요.

그래도 기본적인 틀은 같은데.. 제가 놓칠 수 있는 부분이 있으니 그럴땐 댓글을 통해 질문 부탁드립니다. ( 될수 있으면 윈도우 10에서도 테스트를 해보겠습니다.)


#1. Python 프로그램 설치

앞으로는 그냥 파이썬이라 명칭하겠습니다.

파이썬 프로그래밍을 하기 위해서는 파이썬 프로그램을 설치해야 합니다.

파이썬 프로그램은

https://www.python.org/

에서 다운받을 수 있습니다.

대부분 윈도우 환경을 사용하실거라 생각하기에 앞으로 저는 윈도우 환경 기반으로 실습을 해나갈 예정입니다.

위의 파이썬 링크로 들어가셔서 Downloads -> Download for Windows Python 3.7.4 버튼을 눌러 파이썬 프로그램 설치 파일을 다운 받으시면 됩니다.

그리고 다운받은 파일을 실행하여 설치를 하실 때

Add Python 3.7 to PATH 이것을 꼭 체크하시고 설치를 진행해 주시기 바랍니다.

PATA를 설정해둬야만 어디에서든 파이썬 프로그램을 실행할 수 있기에 꼭 체크를 눌러주세요.

설치가 끝난 후 윈도우 버튼을 누르고 cmd 를 치시면 cmd.exe 커맨트 창을 실행하는 파일이 나오는데 실행 하시고

커맨드창에서 python 엔터를 치시고 위와 같은 결과가 나오면 성공적으로 파이썬 프로그램 설치 완료가 된 것입니다.

이 상태에서 파이썬 명령어를 입력하여 파이썬 프로그램을 동작 시킬 수 있지만 일단 이것은 넘어가기로 하고....

혹시

이런 메시지를 보셨다면... 위에서 제가 강조했던 파이썬 프로그램 설치시에 Add Python 3.7 to PATH 부분을 체크 안하셨거나, 파이썬 프로그램이 정상적으로 설치가 안되었으니, 다시 한번 시도해 주시기 바랍니다.

#2. steemengine 파이썬 api 설치

그럼이제 스팀엔진을 파이썬으로 주무르기 위한 steemengine api를 설치해 보겠습니다.

https://github.com/holgern/steemengine

위 링크는 holgern의 steemengine 파이썬 api가 저장되어 있는 곳입니다.

예전 같으면 코드를 다운 받아 직접 설치를 해야 했지만... 이제는 자동으로 다 할수 있답니다.

먼저 이 상태에서 콘트롤(Ctrl) + z 키를 누르셔서 (윈도우10 환경이라면 콘트롤(Ctrl) + z 누르시고 엔터를 치시면 됩니다.)

파이썬 프로그램에서 빠져 나오시고

이제 pip install steemengine 엔터를 하시면

자동으로 steemengine 파이썬 api가 설치되게 됩니다.

전 이미 설치한 상태에서 다시 설치를 시킨거라 이렇게 나왔지만, 여러분들의 화면에서 빨간색 글자가 나오지 않았다면 아마도 정상적으로 설치가 됐을거라 생각합니다.

혹시나 빨간색 화면을 보신분은 커맨드창을 캡쳐해서 댓글 부탁드립니다. 제가 도와드릴수 있는데까지 도움드리겠습니다.

#3. 간단한 steemengine 예제

파이썬 프로그램과 steemengine 파이썬 api가 설치되었으니 이제 간단한 예제를 실행해 보겠습니다.

위에서 언급했던 holgern의 steemengine api

https://github.com/holgern/steemengine

링크에 접속하시면 간단한 예제들이 나옵니다.

먼저

from steemengine.api import Api
api = Api()
print(api.get_latest_block_info())

이 코드를 작성해서 실행해 보겠습니다.

steemengine.api 를 이용하여 최근 블럭들을 출력해주는 예제로 보이네요.

먼저 작업을 위해 적당한 곳에 작업 공간을 만들어 주시고 (저는 로컬 디스크 C: 에 steem 이라는 폴더를 생성하였습니다.)

그리고 메모장을 여시고

위의 코드를 복사해서 붙여놓기를 해줍니다.

그리고 다른 이름으로 저장

파일 형식은 모든 파일 ( * . * )

파일이름은 get_latest_block_info.py

으로 저장을 합니다.

그리고 커맨드 창에서 작업 공간으로 이동을 해줍니다.

저는 로컬 디스크 C: 에 steem이라는 작업공간을 만들어 두었기에

cd c:\steem 엔터를 쳐서

작업공간으로 이동하였습니다.

그리고

python get_latest_block_info.py 엔터

방금 작성한 코드를 실행하시면

뭔가 알수없는(?) 문자들이 줄줄 출력됩니다.

바로 이 문자열이 steemengine.api의 get_latest_block_info() 이라는 명령을 통해 최신의 블록 정보를 가져와서 출력된 것이랍니다.

화면을 살짝 올려보니 blockNumber : 726403 이라고 보이네요.

현재 최근 만들어진 블록이 726403이로군요.

그럼 다음의 코드도 작성하여 실행해 보겠습니다.

이번에는 특정 블록의 정보를 가져오는 예제입니다.

마찬가지로 메모장을 열어

from steemengine.api import Api
api = Api()
print(api.get_block_info(1910))

위의 코드를 복사해서 붙여 넣기 해주시고

다른 이름으로 저장

get_block_info.py 으로 저장을 해줍니다.

그리고 python get_block_info.py 엔터 해주시면

1910번 블록의 정보를 가져와서 출력을 해주는군요.

파이썬으로 steemengine의 api를 이용하여 이렇게 블록 정보를 가져와서 이것을 어떻게 가공하면 원하는 정보들을 쏙쏙 꺼내서 사용할 수 있겠죠.

이제 막 공부를 시작한 분들은 쉽지 않겠지만...

앞으로는 이 정보들을 능숙하게 다룰 수 있도록 함께 실력을 키워나가도록 해봅시다.

마지막으로 예제를 하나만 더 실행하고 오늘의 일기를 마치도록 하겠습니다.

이번에 실행할 예제는 특정 트랜젝션의 정보를 가져오는 예제입니다.

특정 트랜젝션의 정보는 트랜잭션 id를 통해서 가지고 올수 있답니다.

from steemengine.api import Api
api = Api()
print(api.get_transaction_info("e6c7f351b3743d1ed3d66eb9c6f2c102020aaa5d"))

역시 메모장에 붙여 넣기를 해주시고

다른 이름으로 저장

get_transaction_info.py 으로 저장을 해줍니다.

그리고 python get_transaction_info.py 엔터 해주시면

e6c7f351b3743d1ed3d66eb9c6f2c102020aaa5d 블록의 정보가 출력이 됩니다.

이렇게 해서 오늘 파이썬을 설치하고 이를 이용하여 steemengine api도 설치하고 블록 정보를 가져오는 예제까지 실행을 해보았네요.

아직 별로 재미가 없지요??

이제 막 발을 담궜기에 너무 겉만 핥아서 그런가 봅니다.

다음 시간에는 스팀엔진의 토큰들을 정보를 살펴보고, 특정 토큰의 거래 내역이라던지..

그리고 나아가 스팀잇의 파이썬 능력자이신 @tradingideas 님이 올려주시는 코드도 살펴보록 하겠습니다. 이게 바로 핵심!!!

그리고 메모장으로 파이썬 코드를 작성하고 실행하는건 조금 불편하기 때문에 파이썬 코드 작성을 위한 프로그램 설치도 해보도록 하겠습니다.

아마도 본격적인 재미는 다음 시간부터 생길테니... 다음 일기도 기대해 주시기 바랍니다.

그럼 오늘 하루도 수고하셨구요.

시간나시면 저보다 빠른 예습 해보시는 것도 좋을 것 같습니다.

감사합니다.

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 STEEM!
Sort Order:  

fur2002ks님이 goodhello님을 멘션하셨습니당. 아래 링크를 누르시면 연결되용~ ^^
fur2002ks님의 미국의 하원의원, ‘비트코인을 죽일 수는 없다”...뻘짓 진행사항

...ar realsunny kgbinternational twinpapa ballantines30 calist goodhellosuman156 topchrome koreaminer ravenkim seo70 luckystrikes do...

우와!!! 굳헬로님~ 상당히 전문가적인 느낌이 납니다!!! 저도 다른분들 코딩볼 때마다 어떻게 하는건가 궁금궁금했었거든요~~ 앞으로 완전기대하겠습니다~^^

하하... 초보자 입니다~ ㅎㅎ

열심히 해보겠습니다~

  ·  4 years ago (Edited)

어제 트아님 예제를 한 번 따라해봤는데 아주 유용하더라구요.
굿헬로님 포스팅 놓치지 않고 보겠습니다.
스몬이랑 파이썬도 따라하면 중간은 간다!~~~

네~ 트아님 소스만 활용하면 뭐든지 다 가능할것 같아요~ ㅎㅎㅎ

앞으로 차근차근 진도나가보겠습니다~

굿굿. 기대 만빵입니다.

Posted using Partiko Android

아직 어렵네요.. ㅜㅜ
그치만 하나씩 하다보면 헬로님 발꿈치는 따라가나요?

코딩을 안해본 사람이라면 어려울수도 있겠지만...

하나씩 하나씩 차근차근 배워가다 보면 감이 좀 올거에요~

대박대박!! 한창 배우고 있어서 엄청나게 도움됩니다~~~ 감사합니다!

별거 아닌데 도움이 된다고 하니 저도 감사합니다~

와~~~ 대박!!! 저도 따라해볼까요? 윈도우10인데 가능할까요?

윈도우 10도 거의 환경이 같아서 잘 될거에요.

저도 둘다 해보고 있는데.. 아직까진 거의 똑같네요~

엄지 척^^
이젠 술을 줄이시고 열공 모드로~
아무거나 열열히 환영,응원합니다
엄지 다시 척

감사합니다~

술과함께하는 공부도 재미있을것 같은데... ㅎㅎㅎ

헬로님!!
저는 따라 하지는 못 하지만 화이팅입니다.

감사합니다~

열심히 해보겠습니다~

이제 프로그램까지 ㄷㄷㄷ

함께 공부하시죠~ ㅎㅎㅎ

Thank you for your continued support towards JJM. For each 1000 JJM you are holding, you can get an additional 1% of upvote. 10,000JJM would give you a 11% daily voting from the 700K SP virus707 account.

Hi @goodhello!

Your post was upvoted by @steem-ua, new Steem dApp, using UserAuthority for algorithmic post curation!
Your UA account score is currently 3.935 which ranks you at #4288 across all Steem accounts.
Your rank has dropped 7 places in the last three days (old rank 4281).

In our last Algorithmic Curation Round, consisting of 173 contributions, your post is ranked at #65.

Evaluation of your UA score:
  • You're on the right track, try to gather more followers.
  • The readers like your work!
  • Good user engagement!

Feel free to join our @steem-ua Discord server

정주행 하겠습니다. ~!!

감사합니다~

열심히 해보겠습니다~

tradingideas님이 goodhello님을 멘션하셨습니당. 아래 링크를 누르시면 연결되용~ ^^
tradingideas님의 [암호화폐] 그것이 알고 싶다!! 하루에 얼마나 채굴되고 있을까? 속편

...팍 옵니다. 스팀이 천 원만 가도 수익이 상당할 것 같습니다. 이제 스팀 가격만 오르면 되는데 말이죠.
goodhello이 웹 버전을 만들고 계십니다. 조만가 더 편하게 일당을 보실 수 있을 것 같습니다.
goodhello님 술...

이제야 보고 있습니다. 열심히 보도록 하겠습니다.
감사합니다.