XO는 Sawtooth SDK에 포함되어있는 transaction family 예제임. 쉽게 틱택토라고 생각하면 됨. 2인용 게임이며 보통 3x3크기의 테이블에 한명씩 돌아가면서 마킹을 하게 되고 1줄을 먼저 잇는사람이 우승하는 게임 틱택토에 대해 더 자세한 설명은 여기
$ xo create {Game name} --username jack --url http://rest-api:8008
username의 파라미터값으로 온 jack은 Player1이 됩니다.
다음 이미지와 같이 Response가 온다면 제대로 게임이 생성된 것입니다.
간혹 --url을 적지 않으면
Error: Failed to connect to http://127.0.0.1:8008/batches: HTTPConnectionPool(host='127.0.0.1', port=8008): Max retries exceeded with url: /batches (Caused by NewConnectionError('<requests.packages.urllib3.connection.HTTPConnection object at 0x7f78baf33cc0>: Failed to establish a new connection: [Errno 111] Connection refused',))
이런 오류가 생기는데 url을 적어주면 문제가 해결됩니다.
XO클라이언트는 부분적으로 인증을 지원합니다. 그래서 REST API가 인증프록시에 연결되어있다면 xo커맨드를 사용할때 --url인자를 추가해주어야합니다.
생성한 게임의 리스트를 확인하기 위해서는 다음 커맨드를 사용합니다.
$ xo list --url http://rest-api:8008
현재 생성한 게임인 example을 확인하기 위해서는 다음 커맨드를 사용합니다.
$ xo show {Game name} --url http://rest-api:8008
현재 게임의 상태 : Player1(Jack)의 차례 게임판에 아무런 마킹이 없는 것을 확인할 수 있습니다.