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