[개발] 스팀 발전을 위한 NODE 설정 및 관리체계 성립
steemd
- steem 블록을 동기화/생성/기타 기능성제공(API) 하는데 사용
중요 설정
config.ini
p2p-seed-node
블록 정보를 받아올때 사용함. 여러 시드 노드 설정이 있으면 안정적으로 블록 동기화를 수행 할 수 있음.
현재 전체적인 시드 노드에 대한 목록 정보가 공유 및 업데이트 되는 곳은 없음.
plugin
https://developers.steem.io/tutorials-recipes/plugin-and-api-list
스팀 블록체인 관련 제공하는 서비스.
- 스팀 블록 (모든데이터 적재)
- plugin 블록 정보를 기능별로 손쉽게 탐색할 수 있도록 도움
노드 구분
( 아래 SEED, FULL 구분은 현재 운영하고 있는 기준으로 설명 )
- SEED 의 경우 별도 플러그인 추가가 없어도 동작할 것으로 보여짐
- WITNESS 의 경우(증인블럭 생성) witness 만 추가해도 될 것 같음.
1. SEED
witness 부분을 주석처리하면 증인 블럭은 생산(브로드캐스팅)하지 않음
plugin = witness
plugin = condenser_api network_broadcast_api account_by_key database_api
2. FULL
plugin = witness
plugin = webserver p2p json_rpc account_by_key reputation market_history
plugin = database_api account_by_key_api network_broadcast_api reputation_api market_history_api condenser_api block_api rc_api
3. SEED 설정?!
p2p-endpoint = 0.0.0.0:2001
의 설정 여부에 따름
위와 같이 포트를 개방하면 해당 포트를 통해 증인 블럭을 가져올 수 있다.
steemd 에서 블록 정보 동기화 이전 최초 로드하는 정보임
4. WITNESS 설정?!
plugin = witness
추가 여부에 따름
위와 같이 설정을 하면 증인 블럭을 생성할 수 있다.
( 물론 브레인키 전송, active key 설정, 증인 계정명, 브레인키 개인키 설정 등이 필요 )
5. FULL 설정?!
위와 같이 모든 플러그인을 설정한다.
다양한 기능의 API 를 제공하도록 하며, 추후 jussi 와 연동 가능
노드 관리
steemd
https://github.com/steemit/steem-docker
https://developers.steem.io/quickstart/#quickstart-steemd-nodes (최신본이 아님)
위키가 되었던, 스팀 공홈이 건 뭔가 지속적으로 관리해주는 매체가 필요
- 서버 스펙 구분/관리 ( SEED, WITNESS, FULL ) 에 대한 공식 가이드가 없음.
- SEED NODE 정보를 설정(config.ini) 에 추가 해야 되는데, 해당 정보를 관리하는 사이트가 없음.
jussi
- API NODE 또한 ( api.steemit.com 같은 API ) 공홈 API만 주로 사용하여 부하가 많이 생김
- 다양한 API NODE에 대한 정보를 관리하는 공식 사이트가 필요
hivemind
https://github.com/steemit/hivemind
일단 요것은 동기화 중, 동기화 완료 되면 (6w남음) 관련 자료 및 추가적인 사항을 확인 해 볼 예정
- DB에 posting 내용을 저장하여, 이를 활용한 다양한 서비스 제공 가능
- followers, discussions, content, content_replies
스팀 서비스 유지
개인적으로 생각하는 증인의 기본소양?은 steemd + jussi + hivemind 까지를 구성해야 된다 생각합니다.(minimum : steemd + jussi ).
그리고 안정적 서비스 구현을 위해 seed 노드에 대한 URL 정보를 공유/또는 통합관리, 마지막으로 RPC 서비스인 jussi 와 hivemind 의 서비스 제공 URL 에 대한 정보를 공유가 필요하다 생각합니다.
그래야 많은 Daap들이 해당 RPC 서비스(RPC20 REST API)를 사용하여 더 다양한 서비스 제공을 할 수 있을 것이라 생각 됩니다.
사실 steemit 이라는 사이트가 변화가 없다고 불평인 분들이 많은데, 물론 공홈에서 지속적인 update 를 해주면 best 이겠지만 그것이 없다면 사실 RPC 서비스(RPC20 REST API)를 활용하여 별도의 사이트를 구축하는 것도 좋은 방법입니다.
특히 커뮤니티 기능을 적극 활용하여 특화된 사이트를 만들어 보면 좋겠죠. 물론 사이트 운영 및 참여 유도는 쉽지 않을 것입니다.
( SNS 로그인 기능 도입을 통한 사이트 운영으로 좀 더 빠른 참여 가능 )
참조
맺음말
사실 이 글을 적으면서도
스팀 서비스 유지
에 대한 내용을 다시 한번 읽어 보며, 과연 이것이 맞을까 ? 라는 생각은 들긴 합니다. 하지만 좀 더 앞으로 나가려면 분명 변화는 있어야 된다 생각합니다.
기타 궁금하신 사항은 아래 댓글로 부탁 드립니다.
[광고] STEEM 개발자 커뮤니티에 참여 하시면, 다양한 혜택을 받을 수 있습니다.
@wonsama transfered 2 KRWP to @krwp.burn. voting percent : 58.42%, voting power : 18.02%, steem power : 1956159.43, 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 [63409628 - bec3b5072f8fcca8ec9d2e72c09c50d6368b188f]
정보 공유 감사합니다.