RPC API 사용하기

아래는 Symverse Blockchain 의 RPC API 를 호출하는 방식에 대한 설명 문서입니다.

블록체인 노드에서 제공하는 JSON RPC API를 JAVA 언어로 변환한 코드입니다. 노드에서 제공하는 상세한 API 가 궁금하시다면 해당 링크를 참고해 주시기 바랍니다.

Symverse 노드 접속

API를 호출하기 위해선 아래 Service 코드를 작성해야합니다.

// 테스트넷 노드 연결 시 Network.TEST_NET 삽입
Network network = Network.MAIN_NET 
// Network network = Network.TEST_NET 

SymHttpService httpService = new SymHttpService(PublicWorkNode.fromNetwork(network)
GSymCitizen gsym = GSymCitizen.build(httpService);

메인넷과 테스트넷은 퍼블릭 체인으로써 각 고정으로 사용하는 호스트 정보를 라이브러리 내부에서 관리하고 있습니다. 따라서 개발자는 실제 호스트 주소의 정보를 알 필요 없이 PublicWorkNode.fromNetwork함수를 통해 특정 네트워크에 해당하는 호스트를 랜덤으로 요청할 수 있습니다.

블록체인 데이터 호출하기

블록체인에 기록된 정보(Block, Transaction, Citiz, SCT) 를 조회하기 위해서 아래와 같이 작성합니다.

Block 조회

메인 블록 정보를 조회 합니다

Transaction Nonce 조회

유저의 SymID가 현재까지 발행한 트랜잭션 count를 조회합니다.

Transaction 조회

트랜잭션 해쉬(hash) 기반으로 트랜젹션 기록을 조회 합니다

Transaction Receipt 조회

트랜잭션 해쉬(hash) 기반으로 트랜젹션 영수증을 조회 합니다

DID 조회

SymID 기반으로 DID 정보를 조회 합니다

SCT 조회

SCT API를 통해 생성된 Token의 정보를 조회합니다

트랜잭션 전송하기

트랜잭션을 전송하기 위해서는 반드시 서명에 필요한 Keystore가 필요합니다. 때문에 API를 사용하기 위해서는 지갑에서 Keystore 를 Export 한 뒤 사용해주시기 바랍니다.

기본 트랜잭션 전송

트랜잭션을 전송하기 위해서는 symGetTransactionCount 함수를 통해 반드시 트랜잭션의 Nonce값을 작성해야합니다. ( 이중 지불 문제 방지 )

SCT 트랜잭션 전송

SCT의 경우 Sct.Maker 가 존재합니다. 해당 클래스를 통해서 손 쉽게 파라미터를 작성할 수 있습니다.

아래 예제는 SCT21에 대한 생성 코드 입니다.

Last updated