03.Transaction Processor Tutorial Java 1

이 문서는 hyperledger sawtooth 1.0.4을 docker for windows(18.03.01-ce-win65)에서 다루며 os는 window 10 pro임

1. Overview

이전 문서에서는 xo게임을 powershell환경에서 실행해보는것을 해봤습니다. 이번 문서에서는 Sawtooth SDK에 기반하여 Java언어로 구성된 Sawtooth transaction family를 다뤄보겠습니다. 소스코드에 관한 자세한 설명은 다음문서에서 계속!

첨부된 sdk폴더에는 xo게임의 완전히 구현된 버전이 포함되어있습니다. 이번 문서와 다음문서에서는 완전한 구현을 만드는 대신 만들어진 소스코드의 개념을 설명하는 것에 초점을 맞췄습니다. SDK는 여러 언어로 구성되어있으므로 여기 를 참조해주세요.

2. Prerequisites

이전문서에서 xo게임을 실행까지 성공하고 따라해주세요.

Download Java sdk

Intellij에서 프로젝트를 만들었습니다.

첨부된 sawtooth폴더와 protos폴더, pom.xml를 다운로드
첨부된 파일들은 이곳을 참고

Java project를 생성한 뒤, sawtooth폴더는 src밑으로, protos와 pom.xml은 각각 알아서 추가해줍시다.

Alt text

프로젝트 구성을 마치고나서 build하게되면 pom.xml에 적힌 dependancy가 외부라이브러리로 다운받아지게되고 소스코드의 빨간줄이 사라지게 됩니다. (야-호!)

이 구성을 제대로 설명해둔데가 없어서 매우 고생함^^

Address Setting

자바 프로그램을 빌드하기 전, main파라미터의 값으로 sawtooth가 돌아가고있는 도커의 ip와 포트를 적어줘야 합니다.

 TransactionProcessor transactionProcessor = new TransactionProcessor("tcp://validator의ip(도커의ip):4004");

만약 로컬에서 돌리고있다면 이렇게 적어주면 됩니다.

 TransactionProcessor transactionProcessor = new TransactionProcessor("tcp://localhost:4004");

3. Run

Run program

sawtooth-shell-default bash가 실행되고 있는 상태부터 시작
구성을 끝낸 뒤의 자바 프로그램을 실행해봅시다.
현재는 아무런 트랜잭션이 오고가고 있지 않으므로 빈 화면입니다. Alt text

두명의 플레이어의 key를 구성해준뒤, 게임판을 만들어봅시다. Alt text 자바 프로그램에 game을 만들었다는 화면이 디스플레이 됩니다.

다음 첫번째 플레이어부터 마킹을 시작해봅시다. Alt text java프로그램에서 트랜잭션의 결과를 확인할 수 있습니다.

트랜잭션이 실패하였을 때 exception처리도 이곳에서 확인할 수 있습니다. Alt text


댓글남기기