[steem] 풀노드 구축하기 기초지식 편

스크린샷

docker 기반 steemd + jussi + hivemind 가 기동 중 인 모습
( 추가로 subdomain 용 reverse proxy : nginx )
( 현재 hivemid 동기화 진행 중 )

스팀 노드 구축하기

사실 source 를 build 하여 개별적으로 service 를 올리는 방법이 있지만, build 과정에서 os 등의 다양한 환경에 따라 빌드가 실패하거나 다른 의존성을 요구하는 것이 많기 때문에 요즘은 그냥 docker 환경에서 빌드된 이미지를 가지고 작업을 많이 한다.

스팀노드 구성

일부 증인들은 steemd 의 witness plugin 정도 포함하여 node 를 운영하는데 이는 steem service 를 사용하는데 있어 부하를 가중할 수 있기 때문에 증인 별 fullnode set ( steemd(full) + jussi + hivemind ) 의 구성을 통해 서비스분산을 하는 것이 좋다. 매번 모든 서비스가 https://api.steemit.com 을 통해 호출되면 서비스의 부하가 많이 발생되기 때문이다.

steemd

steemd 는 steem blockchain 의 핵심으로 기존 노드를 동기화 하며, 다른 노드와 합의를 통해 블록을 검증 생성하는 역할을 한다. 또한 다양한 기능에 따라 api 를 구현하여 효과적으로 블록을 찾을 수 있게 도와 준다. ( 물론 db 처럼 개별 index 처리를 하지는 않아 세부 기능적으로 보면 느리다 라고 생각 할 수 있음. 하지만 그런 것은 별도 db : hivemind 등을 통해 극복할 수 있다. 아니면 third party dapp 이나 ... )

jussi

jussi 는 steemd 와 연계하여 블록 내 정보를 손쉽게 찾을 수 있도록 도와주는 json rpc node(service) 이다. ( rpc20 서비스로 method 를 call 하면 됨 ) https://api.steemit.com 같은 것을 보고 api 서비스 라고도 불리는데 이게 바로 jussi 로 구현한 rpc20 서비스다. 부분의 daap 이 ( steemit.com 스코판 등 ) 위 rpc node 를 이용하는데 이때 다른 rpc node 를 이용하면 서비스를 정상적으로 사용할 수 있다.

hivemind

사실 jussi 를 통해 다양한 기능을 제공하나, 그 보다 더 많은 기능을 제공하기 위해 hivemind가 만들어 졌다. 기능적으로 보면 모든 ( 특정 기능에 관련된 ) 블록 정보를 postgresql (db) 에 담아 놓고 빠르게 조회할 수 있도록 api 서비스를 구현한 것이다. (자세한 기능은 hivemind github 참조 )


reference


works

steem node, tron node, ethereum node, web3js, nodejs, express, pug, svelte, svelte-kit, graphql, prism, spring, springboot, struts, jsp, docker, docker-compose, mysql, oracle, postgresql, mongodb, git, blender, godot, phaser3 ( 나름 다 해보긴 함 그렇다고 잘 하는 것은 ... 음음 ... )


맺음말

하이브마인드까지 동기화 완료 되면 FULL NODE SET 설치 완벽편 ! 을 공유 하도록 하겠습니다.
추가로 궁금한 점은 댓글로 ...

Sort:  

[광고] STEEM 개발자 커뮤니티에 참여 하시면, 다양한 혜택을 받을 수 있습니다.

@wonsama transfered 2 KRWP to @krwp.burn. voting percent : 54.49%, voting power : 19.30%, steem power : 1953174.51, STU KRW : 1200.
@wonsama staking status : 1793.429 KRWP
@wonsama limit for KRWP voting service : 1.793 KRWP (rate : 0.001)
What you sent : 2 KRWP
Refund balance : 0.207 KRWP [63245949 - c5679e4294df706ac90a5a0185e9027f450a4c93]

정보 공유 감사합니다. 스팀 노드가 이렇게 구성되어있군요.

Coin Marketplace

STEEM 0.04
TRX 0.32
JST 0.075
BTC 62960.15
ETH 1651.33
USDT 1.00
SBD 0.41