A TicTacToe game that runs on the Solana blockchain.
It is built using the IronStack consisting of the following tools:
- shank which extracts IDL data from the Rust program
- solita which generates a TypeScript SDK from the extracted IDL
- amman which allows debugging and testing the program on a local validator
This workshop is implemented via pull requests. Each pull request adds a tool or feature and explains how this was done and how you as a developer can experiment with the contract at the current stage.
In most cases this involves building the Rust program, updating the SDK and running some functions against that program after it is deployed on a local validator via amman.
- install solana in order to make a
local validator available on your machine as well as gain access to commands like
cargo build-bpf
cd program && cargo build-bpf
cd ts && yarn install
cd ts && yarn api:gen
cd ts && yarn test
- adding solana rust program with processor method stubs
- setup SDK package
- preparing SDK generation
- generating IDL and TypeScript SDK
- setup amman and added initialize game test
- fix build (you may skip that one)
- add init game functionality
- amman account providers and renderers
- implement join player instruction
- resolving errors with cusper
- implement and test move instruction
NOTE:
Each step/pull-request is tagged and thus you can check them out via:
git switch <step> -c pr/<step>
.
For example to checkout step 2 you'd do: git switch 2 -c pr/2
.
- Figma Board used to explain the MetaStack.
MIT