Project & Development Holiday Special
December 24, 2022
Good morning, pilots. Happy holidays to all those who celebrate!
Remember to take advantage of this time of year the best you can. Now is the perfect time to step away and enjoy some nice relaxation with your loved ones (or just yourself). We all deserve a break considering how 2022 has unfolded. (Here’s to 2023!)
Reminiscing, it was one year ago today when we delivered our first project update for The Citadel community, so while it hasn't been long since our last update, we figured we'd carry on the tradition with a brief holiday post.
Let's dive in. 👇
🔹 Progress
- Separated the genesis sale and ship contracts for cleanliness and size reduction
- Conformed ships contract to Ownable for broader marketplace support
- Updated the yellowpaper to increase pain
- Drafted written sample proposals
- Packaged the belt generator for tuning
- Decreased compute requirement for belt generator runs
- Created charts for hosting an auto-scaling graph node
- Created auxiliary contracts for the core team
- Completed additional in-game avatars
- Completed additional GUI Windows (Wallet Ledger, Ore Description, Search Function)
🔹 The Citadel Channel
Project Update #16 Team Q&A Recording
We've published a recording of the casual team Q&A we hosted after the last update was posted, for those who missed it and were interested.
If you're looking for a specific topic we covered during the Q&A, we've embedded chapters for your convenience. We look forward to hosting another Team Q&A after project update #17.
Watch it here
🔸 Yellowpaper Changelog
Throughout the course of our audit with Macro, we made several changes to our contracts to improve security, scalability, and readability. To ensure that our documentation remains accurate, we have mirrored these changes in the yellowpaper.
Ship Reveals & Trait Batches
Motivation
During the audit we noticed that, in order to supply different traits for construction bay ships, the core team would have to retain an admin role for the ships contract so that it could grant TRAITS_ADMIN_ROLE
to new FixedShipTraits
contracts. Our goal is to retain as few permissions as possible after launch, so we started looking for a way of eliminating the need for this one. Our solution was to merge FixedShipTraits
and GenesisShipTraits
into a single contract, with a generalized trait selection algorithm and a trait batching system.
Changes
- Updated random request block count to reflect changes made as a part of the audit
- Updated final paragraph of reveals section to reflect that there is a single ship traits contract
- Added trait batch section detailing the merged ship traits contract
Belts
Motivation
Macro caught a potential issue with our old belt logic: if the core team maliciously refused to publish a belt, mining ships could get locked there. Of course, the game contracts could be upgraded to fix this, but it would be unfair to the affected pilots. Following their advice, we added a failsafe that allows miners to leave unpublished belts. Because the belt is unpublished, it is impossible to compute and distribute rewards to them, but we believe it is a better alternative to locking ships.
Changes
- Added paragraph explaining the failsafe
Construction Bay
Motivation
Err… the ZK construction bay. We’ll give a short description, just in case you’ve been living under a rock. Previously, our construction bay consisted of two components: a smart contract and an off-chain backend that was responsible for collecting bids and choosing the winner. We maintain that this was secure because manipulating the winning bid would not benefit the core team and the core team could be punished for inaccurate results anyway. Still, with Macro’s support, we made the choice to rework the construction bay to allow the entire auction process to happen on chain, using zero-knowledge proofs.
Changes
- No more off-chain process section!
- Updated bidding and revealing sections to cover the proofs they involve
- Added onchain winning bid selection section
- Added depositor rewards interlude to cover the math for single-step claims
- Updated claiming section
- Updated governance withdrawal section
- Updated section structure to match the new order of construction bay states
Read it here
🔸 Team Wellness
While a lot has changed since we started the project, we've always had long term sustainability in mind, and that includes taking care of ourselves! So in that spirit, the team will be taking the last week of the year to relax, spend time with family, and recharge as we head into 2023.
Because we’ll be returning at the beginning of January, Project Update #17
will likely arrive around the beginning of February.
🔹 2023
Looking back at our first project update, we’re humbled to notice the growth of not only the project, but also the community and the core team.
We are as dedicated as ever to the vision outlined here one year ago: a community owned, onchain virtual world built with engineering rigor, sustainable economics, strategic depth, and pixel spaceships.
We hope you're all as excited as we are for 2023, the year we all get to play and build The Citadel together.