Contracts part
SDK contracts
SDK includes a set of engine smartcontracts that can be inherited to enable specific features.
Engine contracts cover the core ZK gaming concepts. Contracts integration is the most flexible way of integration
allowing to implement advanced provable games logic while inheriting useful platform features
Competitions and leaderboard system
Allows to integrate and manage free and paid competitions in the game. For competitions leaderboard is created
- Engine contract: engine/GameHub.ts
- Usage example: arkanoid/ArkanoidGameHub.ts
Matchmaking system
Allows to integrate players queue, opponent finding that makes possible PvP games
- Engine contract: engine/MatchMaker.ts
- Usage example: randzu/RandzuLogic.ts
Lobby manager
Allows to create custom lobby rooms e.g. to play with friends
- Engine contract: engine/LobbyManager.ts
- Usage example: ThimblerigLogic.ts#L89
Pseudorandomness support
Allows to integrate players queue, opponent finding that makes possible PvP games
- Engine contract: engine/Random.ts
- Usage example: arkanoid/GameContext.ts#L497
Proof of shuffle
To be announced
On-chain games parts examples
Example game on-chain part can be found in chain/src/randzu and chain/src/arkanoid