RPC Remote Procedure Call?

- 경량 소프트웨어 커뮤니케이션 프로토콜 

- 클라이언트가 다른 네트워크 상에 있는 서버랑 커뮤니케이션 할 수 있도록 함

예) 로컬 컴퓨터에서 리모트 서버에 request 할 때, RPC 콜 사용

- 블록체인에선 dApp이 클라이언트고 서버가 RPC노드라고 볼 수 있음

 

 

그렇다면 RPC노드가 무엇이냐?

-디앱 돌리고 있는 컴퓨터! 이더리움으로 치면 두 인프라레이어*(execution layer and consensus layer)돌리는 서버 다 노드라고 봄

 -이더리움: 라이트노드 풀노드 아카이발노드

- 솔라나: 벨리데이터 노드 / RPC노드 

 

 

솔라나의 노드를 더 자세히 보면

- validator node: 컨센서스 프로토콜 돌리기 가눙ㅇㅇ 리워즈 배당 가눙 ㅇㅇ

- RPC node: 걍 HTTP(웹)에서 오는 데이터 리퀘스트 받아서 맞는 블록체인 데이터 내어주는 문 같은 노드. RPC엔드포인트라고도 함 

 

 

 

솔라나 RPC node(=end point)의 종류

- 퍼블릭

 ㄴ공개됨 누구나 리퀘스트가눙 / 어떤 플젝이나 회사가 뒷바침하는게 아님 그냥 공개된 블록체인 데이터 가진 노드 

 

- 프라이빗

 ㄴ특정 디앱 전용 엔드포인트

 ㄴ프라이빗 노드 제공하는 싸스 회사들이 알케미같은 곳

 

- 앨터네이티브

 ㄴ프라이머리 rpc endpoint가 잘 안돌아갈 때 대비하여 갖춰놓는 대비용 엔드포인트 

 ㄴsingle point of failure방지

 

 

 

The JSON-RPC Protocol

- 클라이언트(디앱)에서 유저가 액션을 하면 JSON-RPC 콜으로 필요 정보를 가져옴 

- 걍 웹에서 블록체인 데이터를 가져오는 리퀘스트 콜이라고 보면 됨

 

 

 

 

 

 

 

솔로나 개발할 때 RPC노드 구축 옵션 

1) 노드 프로바이더 서비스를 이용한다

2) 셀프로 호스팅한다

 3) 퍼블릭 rpc 타고 요청한다 (사용이 간단하고 뜸할 경우 가능)

 

 

1) 의 경우 Alchemy, Syndica, Quicknode, Triton  등이 있음 

https://www.syndica.io/product 

 

Product - Syndica

Syndica product

syndica.io

 

+ Recent posts