A secure, fast, and easy-to-use VRF for on-chain games built using MUD
Having access to secure randomness is a key ingredient to building fun and fair on-chain games. To make it easy for developers to access randomness, I built a MUD module which can be installed within seconds to access randomness from a VRF in your MUD app.
The security assumption of the randomness is that the VRF provider and the chain itself will not collude. In the future, we can have the VRF be powered by a VDF or a MPC protocol, which will provide more security at the cost of latency.
As a demo, I built a BlackJack game on top of MUDVRF.
Our system was built using the MUD modules system, which makes it easy to install new systems and tables into world contracts.
The off-chain actors are written in Go and use the Chainlink ECVRF libraries, which are available as open-source software. The on-chain contracts are built using the Chainlink ECVRF library as well, which makes the off-chain and on-chain components compatible.
Our on-chain components heavily rely on tables built using MUD Store and our off-chain components use events emitted by MUD Store to keep track of VRF requests and respond to them within seconds.