Skip to content

Fullcount Devlog #8: Trusted Executors

Fullcount Devlog

Welcome back! We hope you’ve been enjoying Fullcount. It has now been three weeks since we launched the Nova League beta, and the game continues to grow. We now have over 100 users and 10,000 transactions on Arbitrum Nova. 

We’ve listened carefully to the feedback from our early users, and today’s devlog presents a fix we are implementing to address one of their most common requests: to make the game run more quickly and smoothly. In addition to giving Long Ball Silver, Sasquatch, and their pals more hustle, this fix should have broad cross-game applications, allowing games with on-chain mechanics to run smoothly and reduce their gas expenditures. We call it a Trusted Executor. 

Trusted Executors

A Trusted Executor is an address that submits game records to the blockchain on a player’s behalf. This speeds up the at-bat without sacrificing on-chain records of play. Instead of recording each move in real time, the Trusted Executor submits the full record of moves at the end of each at-bat.

How does it work?

A player sends a request to the FullcountPlayer API, telling it to start or join a trusted off-chain at-bat on their behalf. Then, each time the player makes a move, they request that the FullcountPlayer API record a pitch or swing for their character (NFT). The game state is stored in a database. At the end of each at-bat, the trusted executor submits the record of the game to the blockchain in a single transaction.

What are the benefits?

The Trusted Executor flow reduces the number of transactions per at-bat from an average of four or five to one. This means faster playtimes for both PvP and campaign mode. Because we still use nonces with every move, the validity of the game can still be verified, so we boost the speed without compromising the integrity of the game. 

Trusted Executor also:

  • Reduces dependency on blockchain speeds by submitting records to the blockchain only at the end of an at-bat. 
  • Reduces the gas cost involved in running or playing the game by minimizing the number of transactions per at-bat.

Backwards compatibility

Of course, some players might prefer to continue playing with the original commit/reveal transactions, rather than authorizing the Trusted Executor to act on their behalf. We are happy to let them do that. Our update will preserve the current functionality of the contract while introducing Trusted Executors as an option. This means that players can choose their approach. For those playing through our UI (currently the vast majority of players), we can add a toggle option to allow them to select between play with a Trusted Executor and move-by-move play.

Building with User Feedback

In the previous devlog, I mentioned how much we value user feedback. Trusted Executor is a perfect example of how we most like to build on our users’ experience. From a common issue, we’ve built a piece of technology that will improve both the user experience and the costs for the studio for numerous on-chain games. Thanks again to everyone who has given feedback, and please keep it coming!

Up next

  • We’ll test the Trusted Executor flow next week, and you should see a jump in the campaign bot’s reaction times.
  • We’re also working on sound design, and we’ve just approved the sketches for some new Beer League Baller portraits. 
  • Behind the scenes, we’re beefing up our analytics and error reporting so that we can continue to respond to our users’ experiences.