ZooBC의 앱
ZooBC의 앱은 규칙이 모든 노드에 내장된 게임이나 베팅입니다. 모든 수는 트랜잭션이고, 게임의 상태는 체인에 보관되며, 게임이 끝나면 프로토콜 자체가 지급합니다. 지급을 거부할 수 있는 운영자도, 중간에 있는 서버도 없으며, 누구나 트랜잭션으로부터 게임을 재현할 수 있습니다.
열여덟 가지 내장 게임
| 그룹 | 게임 (유형 번호) | 좌석 |
|---|---|---|
| 보드 게임 | 틱택토 (1), 체스 (2), 사목 (3), 체커 (4), 리버시 (5), 오목 (6), 배틀십 (7), 점과 상자 (8) | 2~4. 배틀십은 정확히 2 |
| 하우스를 상대로 하는 솔로 게임 | 주사위 두 개 (16), 동전 던지기 (17), 룰렛 (18), 슬롯 (19), 복권 (20), 크래시 (21) | 1 |
| 주사위 게임 | 루도 (32), 피그 (33), 레이스 (34: 뱀과 사다리), 모노폴리 라이트 (35) | 2~4 |
그 밖의 유형은 알 수 없는 유형으로 거부됩니다.
여섯 가지 트랜잭션 유형이 모든 게임을 움직입니다. CreateApp(24), JoinApp(25), AppMove(26), ResignApp(27), ClaimAppTimeout(28), SettleApp(39)입니다. 판돈은 ZBC나 토큰일 수 있으며, 그러면 팟, 레이크, 지급도 모두 그 토큰으로 이루어집니다. 모든 노드가 각 수를 게임의 규칙에 비추어 검사하며, 규칙에 어긋난 수는 거부됩니다. 게임은 어느 노드의 API로든 읽고 플레이할 수 있으며(노드 API), 명령줄에서 zbc-cli app-create, app-join, app-move, app-resign, app-claim, app-settle로도 할 수 있습니다(명령줄 도구).
가상 머신은 없습니다
ZooBC에는 가상 머신이 없으며, 코드를 업로드하는 트랜잭션도 없습니다. 스마트 컨트랙트가 있는 체인에서는 누구나 새 게임 로직을 배포할 수 있지만, ZooBC에서 새로운 종류의 게임은 노드 자체의 새 규칙을 뜻합니다. 그 대신 모든 게임의 규칙은 모든 노드에서 같으며, 어떤 앱도 스토어의 승인이 필요하지 않습니다. 어떤 웹 페이지나 프로그램이든 노드의 API를 통해 플레이할 수 있습니다.
무작위성은 생산자가 고를 수 없는 블록 시드에서 나옵니다(블록 시드 (VRF)). 모든 앱 추첨은 고유 태그 "zbc-apps" 아래에서 시드를 해시하므로, 게임은 블록 생산이나 코인베이스 추첨과 난수 스트림을 공유하지 않습니다.
이 분류의 문서
- 앱 풀: 키 없는 하우스 계정과 그것을 보호하는 한도
- 솔로 베팅: 하우스를 상대로 하는 베팅, 그 추첨과 지급표
- 멀티플레이어 앱: 2~4인용 보드 게임과 주사위 게임
- 채널 앱: 체인 밖에서 플레이하고 트랜잭션 하나로 정산하는 2인 게임
- HTML 페이지 하나로 앱 만들기: 단일 웹 페이지로 애플리케이션 만들기
- 체인 데이터는 신뢰할 수 없는 입력이다: 체인의 텍스트가 지시가 아니라 입력인 이유
- 프로젝트 아이디어: 기존 트랜잭션 유형으로 만들 수 있는 것
같이 보기
이 주제의 문서
- HTML 페이지 하나로 앱 만들기
웹 페이지 하나로 된 ZooBC 앱을 위한 실용 안내서입니다. 노드 API 읽기, 브라우저에서 서명하기, 제출하기, 상태 추적하기, 그리고 지켜야 할 한도를 다룹니다. - 멀티플레이어 앱
2~4명의 플레이어가 체인 위에서 보드 게임이나 주사위 게임을 열고, 참가하고, 플레이하는 방법을 설명합니다. 첫 수를 정하는 공정한 추첨, 수 시계, 1 % 레이크를 다룹니다. - 솔로 베팅
앱 풀을 상대로 하는 솔로 베팅을 거는 방법, 나중 블록의 시드로 결과를 추첨하는 방법, 지급표에 따른 지급, 그리고 풀의 5 %로 정해진 상한을 설명합니다. - 앱 풀
앱 풀은 모든 솔로 베팅의 상대편이 되고, 멀티플레이어 레이크를 모으며, 솔로 당첨금을 지급하는 키 없는 프로토콜 계정입니다. - 채널 앱
체인 밖에서 서명된 수로 플레이하고, 모든 노드가 재생하는 SettleApp 하나로 정산한 뒤 240블록의 이의 제기 기간을 두는 2인 게임을 설명합니다. - 체인 데이터는 신뢰할 수 없는 입력이다
ZooBC의 모든 이름, 메시지, 값은 수수료를 낸 사람이 쓴 것이므로, 앱은 이를 일반 텍스트로 보여 주고 결코 지시로 따르지 않습니다. - 프로젝트 아이디어
모든 노드가 이미 실행하는 트랜잭션 유형만으로 만드는 프로젝트를, 각각에 대해 체인이 보장하는 것과 앱에 맡기는 것과 함께 소개합니다.