The Garage includes a collection metrics dashboard, Rig profiles, collector profiles, and a dedicated gallery with Rig-specific trait filters. The app relies on publicly queryable Tableland tables, which are controlled by the Rigs smart contract. The tables contain data that can be queried as ERC721 metadata and data for pilot sessions (see “Flight Time” below).
The Garage is maintained by the Tableland team, but since the underlying data is decentralized, anyone can use the Rig tables to build their own Garage app or create a new experience. The code is open-source and can be found on GitHub. You can browse the Rig data table names here.
Earn Flight Time (FT)
Flight Time (FT) is a non-transferable reputation metric for the Tableland ecosystem. It is stored and tracked within Tableland. You can earn FT by “piloting” your Rig. Rigs that are “in-flight” can't be sold and are only transferrable using the Garage or with the safeTransferWhileFlying contract method. Piloting is a form of soft-staking where the NFT remains in your wallet but is locked. In exchange for taking your Rig off the market, you earn FT.
Pilots and training
Rig Pilots are dynamically displayed in the bottom right-hand corner of a Rig image, as well as in ERC721 metadata. This functionality is powered by the Tableland protocol and is completely decentralized.
Rigs implement ERC-4906 (EIP-721 Metadata Update Extension), which was developed by OpenSea. This means that Pilot changes are automatically reflected on OpenSea without requiring a manual metadata refresh.
Each Rig must go through a training phase with a trainer pilot to re-learn how to fly (see “Story” below). Training takes 172,800 blocks, or approximately 30 days. After training, you can use any ERC721 token that you own to pilot your Rigs. Pilot history is stored on Tableland and can be queried and reflected in metadata.
Below is Rig #1018 in the Garage. This Rig is on its third flight session, and has accumulated a total of 996,331 FT.
To query the same data for Rig #1018 shown in the Garage above, you can use the Tableland CLI.
> tableland read "SELECT * FROM pilot_sessions_1_7 WHERE rig_id=1018" --chain homestead --format pretty
│ (index) │ end_time │ id │ owner │ pilot_contract │ pilot_id │ rig_id │ start_time │
│ 0 │ 16141361 │ 1 │ '0xdd8a5674eca6f1367bd0398d4b931d5b351c0be6' │ null │ null │ 1018 │ 15967006 │
│ 1 │ 16963336 │ 1102 │ '0xdd8a5674eca6f1367bd0398d4b931d5b351c0be6' │ '0x8ec93001b6d4ca39f29b46244bb856f4151a2bd9' │ 51 │ 1018 │ 16141361 │
│ 2 │ null │ 2345 │ '0xdd8a5674eca6f1367bd0398d4b931d5b351c0be6' │ '0x942bc2d3e7a589fe5bd4a5c6ef9727dfd82f5c8a' │ 18711 │ 1018 │ 16963354 │
As Tableland grows, there will be more ways to earn FT, such as being a network validator and voting on community projects and stewards through the Garage (coming mid-2023).
Generic Token Reputation
FT represents a generic concept called Token Reputation. In mid-2023, we plan to develop an EIP for Token Reputation in the hopes that other projects can leverage this unique mechanism enabled by Tableland. Exciting use-cases for Token Reputation include:
Authorize arbitrary on-chain actions
Possible use-cases include token airdrops, mint passes, weighted voting, ability to write to a Tableland table, and more.
Authorize arbitrary off-chain actions
Possible use-cases include event passes, Discord bots, ability to take an action in an application, and more.