Open beta
Use Tableland on testnet and mainnet chains while the protocol is in development.
Synopsis
Tableland is currently in open beta. It’s live on many mainnet chains (including Ethereum, Optimism, Arbitrum One, Arbitrum Nova, Polygon, and Filecoin), allowing developers to use Tableland as their permissionless relational database. Tableland is planning to move into production (the Tableland mainnet) in 2024 (subject to change). This launch will include a data migration process and introduces a new cost component for table writes.
During the open beta phase (between now and the production release), projects deployed on both testnet and mainnet chains will, essentially, use the same Tableland network (ignoring some validator node nuances). However, only projects that created tables on mainnet chains during the beta period will be migrated to production. The Tableland team will provide the necessary tooling and support for developers during this process.
SUBJECT TO CHANGE—As Tableland grows in its adoption, there will be plenty of new learnings that could impact the future migration plan. The following information is a current-state overview of what the migration will look like. Please ensure you stay up to date with the latest Tableland news and our path from an open beta to a production release by tuning in on and joining our Discord.
Migrating to Production
What tables are in scope?
Only projects using Tableland on mainnets will be in scope. Namely, tables that were minted on mainnet chains will be the only ones included in the transition plan from beta to production. This should happen sometime in 2024, and we will do our best to deliver on the ensuing points.
What will Tableland be responsible for?
TL;DR—Coordinating & executing the data migration from the Tableland beta environment to the production environment.
- Nodes will copy in scope table data from the database used during the open beta period to a new production-only database. Other protocol-level aspects will be accounted for.
- The data migration should be handled automatically—if a table was minted on a mainnet chain, we will do our best to port the data from beta to production Tableland without any developer actions required.
- The Tableland team will also provide developer support, as needed.
As a developer, what do I need to do?
TL;DR—The data migration process should happen automatically (with one caveat), and we will do our best to auto-redirect queries from mainnet chains to the Tableland production environment…but to be safe, ensure you’ve taken the proper precautions.
- In terms of moving table data deployed during the beta phase into production tables, we will do our best to ensure developers need to do—nothing. However, there is one caveat: Tableland should handle the data migration process automatically for anything deployed on mainnet chains, but there may be a cost component introduced that would require developers to take action.
- Please be sure to read the section below around production data availability and costs, as there are some actions noted there around table writes.
- Also, as the Tableland network grows during the beta period, there are always new learnings that could change the migration path to production. We don’t anticipate any issues or major changes to arise and will continue to focus our R&D efforts around this topic.
- If you referenced the testnets Tableland gateway during the beta (
https://testnets.tableland.network
or legacyhttps://tesnet.tableland.network
) from within a mainnet chain deployment, update this value to point to the production gateway athttps://tableland.network
- We will make our best effort to auto-redirect queries to the right chain, but just to be certain, please make sure
baseURI
is updatable. - In particular, NFT smart contracts should be able to update their
baseURI
,tokenURI
, or any other method that references the thetestnets
gateway on a mainnet contract.
- We will make our best effort to auto-redirect queries to the right chain, but just to be certain, please make sure
- Another option is to future-proof your smart contracts to make sure upgradeability patterns are possible. This is not required but a potentially useful pattern to implement.
- Note—since this is a future endeavor, documentation on how to make these changes in your project does not exist yet but will be shared closer to the migration date. In the meantime, check out OpenZeppelin’s
Ownable
(e.g., anonlyOwner
modifier for altering abaseURI
) and upgradable contracts.
Are there costs involved?
TL;DR—There is not a cost to migrating data to Tableland’s production environment, and this process should be automatic. There is, however, a cost to keeping data available in production, and this process is not automatic (it requires the developer to take action) and is not free.
- In terms of physically migrating the beta period’s data to the production database—no. The data migration should happen automatically and does not require additional payment.
- In terms of updating smart contracts—yes. If you have a contract that, for example, must change an NFT’s
baseURI
variable to point to a new Tableland gateway, this cost must be handled by the developer and will not be covered by Tableland. - New!—a new cost component will be introduced: additional payment for writes.
- With the Tableland production launch, there will be an additional cost for writing to tables that are stored by validator nodes. Thus, every write query comes with an on-chain transaction cost plus an additional fee; this additive cost is still being researched.
- For example, a table deployed on a mainnet chain during the beta period should automatically be moved to a production table. Thus, once the table has transitioned, all new writes from that point onward must take into account these new additive costs and will require developers to take action.
Will there be "downtime"?
Tableland is a decentralized network, so validator nodes will already be live and running during the Tableland beta phase. The primary action validators must take is to copy the table data (from a database dedicated to the beta period) to a production database. Validators should be able to seamlessly transition tables from the beta to production.
As with any software release that requires social coordination, we will do our best to make sure there are no bumps in the road.
What happens to the open beta version of Tableland? Can I still use Tableland on testnet chains & contracts?
Yes, you can still use Tableland on testnet chains. With the production launch, two Tableland environments will exist: one intended for production, and one intended for testing. A validator’s database that was used during the open beta phase will transition to only supporting testing-related environments, whereas before, a single database supported both testnets and mainnets. Meaning, the database used during the beta phase will only be used to support testnet chains.