Tavern

Tavern

Play together with your community. Create onchain games without writing a line of code.

138
Built at Onchain Summer Buildathon

The problem Tavern solves

We believe playing together makes communities stronger. Everything we do, we try to enable and empower existing communities and their members. We just believe in the power of play.

Tavern enables web3 communities to launch their own onchain games without writing a single line of code. Games can be created, customized, and playable in minutes using the open-source Tavern protocol.

Challenges I ran into

  1. Solidity is strongly typed and doesn't support generics. It has limitations around sharing mappings between contracts and a very nuanced array typing implementaiton. This biggest challenge was building an abstract system within the confines of Solidity. I got around this by iterating constantly and not being afraid to throw out code that wouldn't enable the right capabilities. Once I started figuring out what works, I was able to use features of the protocol to build out the core functionality of the protocol - see the FlowEntity.

  2. Tavern is technically dense, and I was deep in it for a long while. As I come out of that developer cave, it's incredibly complicated to explain concepts and abstractions for an ideally non-technical audience. I haven't gotten over this one yet, but chatgpt helps and I'm constantly trying to explain how it works to new people.

  3. I want to support arbitrary multiple chains. I wrote some utility functions to track deployed addresses on different chains from the foundry/hardhat side, and then a custom hook and some typescript to dynamically and correctly load the appropriate address.

Tracks Applied (2)

OnchainKit

We use onchainkit because the react components are beautiful. Our protocol is not deployed on mainnet (and won't be), ...Read More

Creator Track

Tavern is for creators. Our protocol enables anybody to create their own games onchain without writing any code. Our t...Read More

CREATOR with Zora

Cheer Project

Cheering for a project means supporting a project you like with as little as 0.0025 ETH. Right now, you can Cheer using ETH on Arbitrum, Optimism and Base.

Discussion