I've been fascinated by the idea of trying to create a shared tabletop RPG world in which the various games inside a world are tracked on-chain. The blockchain would essentially serve as a database for what stories are active inside the world, which characters are a part of those stories, and more.
A player should be able to move a character between games seemlessly, for one. DMs should have certain data available about what other groups in the world are doing. Importing into a VTT might even be possible with tooling that knows how to pull from the contracts.
One of the big design questions is precisely what data should be committed on-chain. Large amounts of text are poorly suited, perhaps ruling out full journal-like session summaries, but something like Poster on a chain with low gas fees might make that more plausible.
I've written about this in the past, though since then I've diverged more from Loot and Rarity, and instead of seeing the building blocks of a game on-chain, I'm currently thinking of the chain just as a database, and the magic still happening around the table.
If these ideas interest you, feel free to reach out!
Foundry is a blazing fast, portable and modular toolkit for Ethereum application development written in Rust.
Foundry consists of:
- Forge: Ethereum testing framework (like Truffle, Hardhat and DappTools).
- Cast: Swiss army knife for interacting with EVM smart contracts, sending transactions and getting chain data.
- Anvil: Local Ethereum node, akin to Ganache, Hardhat Network.
- Chisel: Fast, utilitarian, and verbose solidity REPL.
$ forge build$ forge test$ forge fmt$ forge snapshot$ anvil$ forge script script/Counter.s.sol:CounterScript --rpc-url <your_rpc_url> --private-key <your_private_key>$ cast <subcommand>$ forge --help
$ anvil --help
$ cast --help