brunch

You can make anything
by writing

C.S.Lewis

by 꼼마 Dec 02. 2018

블록체인과 사용자는 어떻게 대화하나요?

blockchain api

메디블록 블록체인에는 휴대폰이 달려있다.

휴대폰이라고 말하는 이유는 간단하다.

문자메시지통화를 할 수 있기 때문이다.

문자메시지는 한번 질문하면 한번 대답한다.

반면 통화는 한번 질문하면 끊임없이 대답한다.




문자메시지형 통신


사용자는 블록체인에 다음과 같은 질문을 던질 수 있다. '너 몇 번 블록을 가지고 있니?'

블록체인은 대답한다. '나 10번 블록까지 가지고 있어'


이 대화는 '문자 메시지'처럼 하나의 질문에 하나의 대답을 던지고 끝이 난다.

아래 주소를 클릭하면 사용자가 블록체인 노드의 상태를 문자로 물어보고 답변을 받는 상황을 볼 수 있다.


http://testnet-node.medibloc.org/v1/node/medstate


현재 메디블록의 블록체인에서는 아래와 같은 종류의 문자메시지형 응답을 요청하고 받을 수 있다.

    1. 어떤 계정에 대한 정보를 말해줘!

    2. 어떤 블록에 대한 정보를 말해줘!

    3. 여러 개의 블록 정보를 보내줘!

    4. BP 후보자들을 다 알려줘!

    5. 블록체인을 구성하고 있는 BP들의 정보를 말해줘!

    6. 블록체인 노드 상태를 말해줘!

    7. 처리 대기 중인 요청(transaction)을 알려줘!

    8. 어떤 요청에 대한 정보를 말해줘!

    9. 어떤 요청의 처리 상태를 말해줘!

    10. 이 요청을 처리해줘!

    11. 지금 나랑 대화할 수 있어?




통화형 통신


하지만 다음과 같은 대화를 생각해보자.

'블록체인아. 네가 블록 하나 만들 때마다 나한테 말해줘!'


이 질문에 대한 대답은 한 번으로 끝나는 것이 아니라 사용자가 '그만 말해줘!'라고 하기 전까지 계속된다.

이런 대화에서는 문자메시지를 이용하는 것보다 전화를 걸고 계속 듣고 있는 것이 효율적이다.

이 전화를 우리는 'Subscribe'라고 말한다.


사용자는 블록체인에 어떤 정보를 듣고 싶은지 말할 수 있다.

현재 메디블록의 블록체인에서는 다음과 같은 5가지 정보를 기본으로 제공하고 있다.

    1. 새로운 블록이 생길 때 (Tail)

    2. 블록이 취소될 때 (Revert)

    3. 더 이상 취소될 수 없는 블록이 생길 때 (LIB)

    4. 요청(트랜잭션)이 들어왔을 때 (Pending)

    5. 요청(트랜잭션)이 처리되었을 때 (Executed)


만약 사용자가 1, 4에 대한 요청을 한다면 블록체인은 새로운 블록이 생기거나 요청이 들어올 때마다 사용자에게 이에 대한 정보를 말해줄 것이다.


위에서 언급한 5가지 정보 외에도 '계정'에 대한 정보를 요청할 수도 있다.

예를 들어 블록체인에 'ggomma'라는 계정이 있다고 하자.

그럼 사용자는 블록체인에 다음과 같은 질문을 던질 수 있다.


'ggomma에 관련된 정보가 업데이트될 때마다 알려줘!'


블록체인은 이에 대해 다음 4가지 상황이 발생할 때 사용자에게 전화로 정보를 말해준다.

    1. 'ggomma'가 보낸 요청이 처리되었을 때

    2. 'ggomma'가 보낸 요청이 처리를 기다리고 있을 때

    3. 누군가가 'ggomma'와 관련된 요청을 보냈을 때

    4. 'ggomma'에 관련된 요청이 삭제되었을 때


이를 통해 사용자는 자신의 계정 혹은 특정 계정 정보의 변화를 실시간으로 감시할 수 있다.


아래 주소를 클릭해보면 '새로운 블록이 생길 때마다 말해줘'라는 전화를 걸게 된다.


http://testnet-node.medibloc.org/v1/subscribe?topics=chain.newTailBlock




본 포스트는 메디블록 회사와는 관련없는 개인적인 끄적거림입니다.



매거진의 이전글 리카르디안 컨트랙트

작품 선택

키워드 선택 0 / 3 0

댓글여부

afliean
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari