The LUKSO Standard Proposals (LSPs)
Discover the LSPs, the standards that represent the foundation of LUKSO's ecosystem. They can be used as building blocks and combined to create new and innovative protocols or dApps on the LUKSO Blockchain.
👉 📺 Watch Fabian's Presentation from ETHCC6 2023 for a an high-level overview! 🦅
The LSPs introduce new concepts like blockchain-based accounts (e.g: Universal Profiles), Digital Assets, NFT 2.0 and Permissions Management. This section describes the fundamentals of the standards, their technical aspects and their applications and use cases across the LUKSO ecosystem.
The LUKSO Standards Proposals (LSPs) represent the main building blocks of the LUKSO ecosystem. People, groups, and organizations can use them to build blockchain-based applications that aim to maximize the user experience, allow more flexibility and interaction, and open doors to innovation.
The use of smart contracts and standards like the LSPs can mitigate some centralization risks by allowing for decentralized ownership and control of accounts and assets.
👤 LSP0
ERC725 Account
Blockchain account for asset ownership and use by individuals or entities.
📢 LSP1
Universal Receiver
Notification receiver for incoming and outgoing transactions or information.
🗄️ LSP2
ERC725Y JSON Schema
Describes ERC725Y data key-value pairs interpretation including encoding and decoding.
🌐 LSP3
Profile Metadata
Set of ERC725Y data keys describing a smart contract based blockchain profile.
🔍 LSP4
Digital Asset Metadata
Describes metadata of digital assets via a set of ERC725Y data keys.
📒 LSP5
Received Assets
Defines ERC725Y data keys storing addresses of received assets.
🔐 LSP6
Key Manager
Contract with permissions controlled through multiple addresses.
🪙 LSP7
Digital Asset
Standard for fungible or non-fungible digital assets with a unified interface.
🎨 LSP8
Identifiable Digital Asset
Interface for uniquely identifiable digital assets with specific metadata.
🏦 LSP9
Vault
ERC725 smart contract variant representing a blockchain vault.
📘 LSP10
Received Vaults
ERC725Y keys to list owned LSP9 Vaults.
🌱 LSP11
Basic Social Recovery
Contract that enables to recover access to any ERC725-based smart contract
📗 LSP12
Issued Assets
List of issued assets by an individual or entity via ERC725Y keys.
2️⃣ LSP14
Ownable 2 Steps
Module for secure two-step ownership management of smart contracts.
📬 LSP15
Transaction Relayer API
A standard set of API methods to create a service that acts as a relayer and dispatch transactions on behalf of users.
🏭 LSP16
Universal Factory
Factory that facilitates the deployment of smart contracts at the same address across multiple chains.
🧩 LSP17
Contract Extension
Extends smart contract functionalities with addable and removable plugins.
💸 LSP18
Royalties
Set of data keys to store informations about royalty recipient addresses and their claimable percentage.
🔄 LSP20
Call Verification
Facilitates smart contract interactions without resolving the owner first.
🏭 LSP23
Linked Contracts Factory
Factory pattern standard for deploying two linked contracts across chains.
⛽ LSP25
Execute Relay Call
Generic interface for meta transactions, so that interactions and gas can be paid on behalf of users.
🔍 LSP26
Follower System
Contract that act as a registry that keep track of a list of addresses that follow each other for social interactions.
LSPs are not order-dependent. They can be related to each other in a backward or forward order. Meaning a standard could use another one that comes after or before in order. For example LSP0 - ERC725Account uses LSP1 - UniversalReceiver, LSP2 - ERC725YJSONSchema and could use LSP3 - ProfileMetadata, etc.
Smart Contracts in Solidity
The default implementation of these standards in Solidity is available as Open Source Software. They can be used as a base by developers to build their applications.
See the Contracts section for the Solidity implementation of these standards and their ABI docs.
LSP Standard Specifications
See LUKSO Improvement Proposals - LIPs (GitHub) if you are looking for the design and formal specifications of each LSP Standards.
Developers wishing to understand the logic behind the standards and their tradeoffs within are well-advised to read these documents alongside the Solidity code itself.
Further Resources
- The New Standard for Blockchain Accounts and NFT 2.0 (YouTube)
- Tech Time with Fabian Ep.1 - LUKSO NFT's 2.0 Explained (YouTube)
- Fabian Vogelsteller talks at BLOCKCHANCE 2021 about LUKSO (YouTube)
- Fabian Vogelsteller talks at NFT.NYC 2021 about the new Standards (YouTube)
- Developer DAO - Dev & Tell | Yamen - LUKSO Network (YouTube)
- LUKSO Build 🆙 #1 Hackathon (YouTube)
- ERC725 Alliance website