Universal Location for Bridgeless Minting

The spec for constructing Universal Locations is drafted in this Github issue.

In this section we illustrate its usage for Bridgeless Minting, allowing any chain to point to a LAOS sibling collection. The second main usage serves DAME, allowing LAOS to point to any asset in any chain.

Universal Location to be used as BaseURI

The specification of the Universal Location, to be used as the returned string in tokenURI queries to ERC721 contracts, beyond the Polkadot ecosystem, is drafted in this Github issue.

As a summary, the following Universal Location string:

uloc://GlobalConsensus(0:0x4756c4042a431ad2bbe61d8c4b966c1328e7a8daa0110e9bbd3d4013138a0bd4)/Parachain(2001)/PalletInstance(51)/AccountKey20(0xabc....def)/GeneralKey(666)

would refer to:

  • an asset with tokenId = 666,

  • in the sibling collection at contractAddress = 0xabc....def,

  • in the KLAOS Nova chain, which is always specified by providing the same triplet:

    • GlobalConsensus = 0:0x475...bd4 (Testnet Rococo Relay Chain),

    • Parachain = 2001,

    • PalletInstance = 51.

The template contract described above takes care to append the /GeneralKey(tokenId) suffix to the current value of baseURI.

The uloc:// prefix and public gateways

The uloc:// prefix tag serves the same purposes as, for example, the ipfs:// tag, indicating how the rest of the string is to be interpreted.

Services ready to interpret and operate with these standards, such as browsers (e.g. Brave), marketplaces (e.g. Opensea), or nodes (e.g. the Universal Node), are free to permissionlessly implement their own means to resolve and deal with these locations.

For example, in the IPFS case, some services resolve ipfs:// to popular public gateways, such as https://ipfs.io.

Likewise, the public https://uloc.io gateway can be used to resolve uloc:// prefixed locations.

Until Bridgeless Minting and Evolution becomes more widely adopted by the ecosystem, it is advisable to use the public gateway instead of the prefix tag as baseURI. The uERC721 template provides the option to migrate from the former to the latter in the future, and lock its value to the prefix tag.

Last updated