Solidity implementation of the Game of Go. For the first time in history.
Go Onchain is the very first implementation of the game of Go in Solidity.
The user paste a his opponent’s wallet address, then he can send him/her the link of the game. In the background, a new contract is deployed through the factory contract.
The players take turns placing stones on the board, just as they did over 2,000 years ago. The project enforces the official rules of the game.
Porting the game on-chain opens up a whole new range of possibilities:
The project uses Hardhat for writing the Solidity contracts, unit tests and deployment script.
The user interface uses Next.js, Reown (formerly Web3Modal), Ethers.js and Chakra UI. People can connect with their email, Google, Farcaster, Github, or with their favorite Web3 wallet (it supports more than 4à different wallets).
It was tough to fully implement the official rules of the game, including the notions of a group of stones, capturing, scoring the points, and other specific rules.