Skip to main content

Migrating To Datil From Earlier Networks

Lit is launching three new networks, Datil-dev, Datil-test, and Datil, to improve performance and stability for production users compared to previous Lit networks like Cayenne, Manzano, and Habanero.

The Datil networks use a new rollup blockchain called Chronicle Vesuvius, which replaces the Chronicle blockchain that powered Lit's earlier networks. You will learn how to migrate data between these chains below.

Depending on the existing Lit network you are using, you should migrate to its corresponding Datil network to take advantage of these improvements:

Currently AvailableRequires PaymentMinimum Lit Package VersionYour Current NetworkNetwork to Migrate toDescription
n/ahabanerodatilDecentralized mainnet designed for production use cases
n/amanzanodatil-testDecentralized testnet designed for pre-production deployment
6.1.0cayennedatil-devCentralized testnet designed for early-stage development

Like their counterparts, datil and datil-test require developers to pay for usage of the Lit network via Capacity Credits; however, datil-dev does not.

Breaking Changes and Important Updates

Chronicle Vesuvius' chain facts are available here.

New Network, New PKPs

PKPs minted on the existing Lit networks: cayenne, manzano, and habanero exist on the Chronicle blockchain. Because of this, when migrating to the new Datil networks: datil-dev, datil-test, and datil, your PKPs will need to be re-minted on the Chronicle Vesuvius blockchain. This also means transferring ownership of assets owned by PKPs minted on Chronicle, to the newly minted ones on Chronicle Vesuvius.

To reduce the friction of re-minting PKPs on Chronicle Vesuvius, we've written a migration script that will take a list of PKP public keys, fetch their configured Auth Methods and Scopes, and mint new PKPs on a target Lit Network, setting the same Auth Methods and Scopes for each PKP.

After re-minting PKPs on Chronicle Vesuvius, your users could use both the old Chronicle based network PKPs and the new Chronicle Vesuvius PKPs with the same auth methods. However, the corresponding Ethereum address for each PKP will be different. Your users may have things tied to the old PKP Ethereum address, like assets, or Account Abstraction wallets that see that PKP as an authorized signer. So the next step is to migrate these items for your users, or notify them they need to migrate to the new Ethereum address themselves.

caution

The migration script will not handle migration of any assets the existing PKPs own such as tokens. Assets held by existing PKPs will need to be manually transferred to a new PKP's Ethereum address (or some another address of your choosing) using a blockchain transaction.

Additionally, the newly minted PKPs on the target Lit network will have new Ethereum addresses, so anything that uses the existing PKP's Ethereum address for things like permissions, will need to be manually updated to us the new PKP's Ethereum address.

Encrypted Data

Because each Lit network undergoes it's own Distributed Key Generation (DKG), and therefore has it's own BLS root key, any encrypted data on one Lit network is not able to be decrypted using a different Lit network. For example, data encrypted using cayenne's public BLS key, will not be able to be decrypted using the datil-dev network.

As a result, to migrate existing encrypted data, you must first decrypt it using the Lit network it was encrypted on, then re-encrypt that data using the Datil network you're migrating to.

There were no API changes made to the SDK for encrypting and decrypting, so you're existing code should work with Datil. See here for a guide on encrypting data, and here for decrypting.

How to Connect to a Datil Network

note

Currently only the datil-dev network is live and available to connect to. This page will be updated when the other Datil networks come online.

The only code changes required to make use of the new Datil networks are as follows:

  • Upgrade the Lit packages to the latest version that supports Datil
    • 6.1.0 is the minimum version of the packages that supports datil-dev
  • Specify the Datil network when instantiating Lit node clients from the SDK
    • This is done by specifying the litNetwork property when connecting a Lit client to one of the following Datil networks:
      • datil
      • datil-test
      • datil-dev

Making these changes shouldn't cause your existing implementations to break, assuming you've handled migration of PKPs and encrypted data as mentioned above.

If you do run into issues after migrating from an existing network to a Datil network, please reach out to us on our Telegram for support.