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