# LUKSO Tech Documentation ## Docs - [ERC725](contracts/contracts/@erc725/smart-contracts/contracts/ERC725): ERC-725 - [ERC725](contracts/contracts/ERC725/ERC725): ERC-725 - [LSP0ERC725Account](contracts/contracts/LSP0ERC725Account/LSP0ERC725Account): LSP-0-ERC725Account - [LSP11BasicSocialRecovery](contracts/contracts/LSP11BasicSocialRecovery/LSP11BasicSocialRecovery): LSP-11-BasicSocialRecovery - [LSP14Ownable2Step](contracts/contracts/LSP14Ownable2Step/LSP14Ownable2Step): LSP-14-Ownable2Step - [LSP16UniversalFactory](contracts/contracts/LSP16UniversalFactory/LSP16UniversalFactory): LSP-16-UniversalFactory - [LSP17Extendable](contracts/contracts/LSP17ContractExtension/LSP17Extendable): LSP-17-ContractExtension - [LSP17Extension](contracts/contracts/LSP17ContractExtension/LSP17Extension): LSP-17-ContractExtension - [Extension4337](contracts/contracts/LSP17Extensions/Extension4337): LSP-17-Extensions - [OnERC721ReceivedExtension](contracts/contracts/LSP17Extensions/OnERC721ReceivedExtension): LSP-17-Extensions - [LSP1UniversalReceiverDelegateUP](contracts/contracts/LSP1UniversalReceiver/LSP1UniversalReceiverDelegateUP): LSP-1-UniversalReceiver - [LSP1UniversalReceiverDelegateVault](contracts/contracts/LSP1UniversalReceiver/LSP1UniversalReceiverDelegateVault): LSP-1-UniversalReceiver - [LSP20CallVerification](contracts/contracts/LSP20CallVerification/LSP20CallVerification): LSP-20-CallVerification - [IPostDeploymentModule](contracts/contracts/LSP23LinkedContractsDeployment/IPostDeploymentModule): LSP-23-LinkedContractsDeployment - [LSP23LinkedContractsFactory](contracts/contracts/LSP23LinkedContractsDeployment/LSP23LinkedContractsFactory): LSP-23-LinkedContractsDeployment - [IPostDeploymentModule](contracts/contracts/LSP23LinkedContractsFactory/IPostDeploymentModule): LSP-23-LinkedContractsFactory - [LSP23LinkedContractsFactory](contracts/contracts/LSP23LinkedContractsFactory/LSP23LinkedContractsFactory): LSP-23-LinkedContractsFactory - [LSP25MultiChannelNonce](contracts/contracts/LSP25ExecuteRelayCall/LSP25MultiChannelNonce): LSP-25-ExecuteRelayCall - [LSP4DigitalAssetMetadata](contracts/contracts/LSP4DigitalAssetMetadata/LSP4DigitalAssetMetadata): LSP-4-DigitalAsset-Metadata - [LSP6KeyManager](contracts/contracts/LSP6KeyManager/LSP6KeyManager): LSP-6-KeyManager - [LSP7Burnable](contracts/contracts/LSP7DigitalAsset/extensions/LSP7Burnable): LSP-7-DigitalAsset - [LSP7CappedSupply](contracts/contracts/LSP7DigitalAsset/extensions/LSP7CappedSupply): LSP-7-DigitalAsset - [LSP7DigitalAsset](contracts/contracts/LSP7DigitalAsset/LSP7DigitalAsset): LSP-7-DigitalAsset - [LSP7Mintable](contracts/contracts/LSP7DigitalAsset/presets/LSP7Mintable): LSP-7-DigitalAsset - [LSP8Burnable](contracts/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Burnable): LSP-8-IdentifiableDigitalAsset - [LSP8CappedSupply](contracts/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8CappedSupply): LSP-8-IdentifiableDigitalAsset - [LSP8Enumerable](contracts/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Enumerable): LSP-8-IdentifiableDigitalAsset - [LSP8IdentifiableDigitalAsset](contracts/contracts/LSP8IdentifiableDigitalAsset/LSP8IdentifiableDigitalAsset): LSP-8-IdentifiableDigitalAsset - [LSP8Mintable](contracts/contracts/LSP8IdentifiableDigitalAsset/presets/LSP8Mintable): LSP-8-IdentifiableDigitalAsset - [LSP9Vault](contracts/contracts/LSP9Vault/LSP9Vault): LSP-9-Vault - [UniversalProfile](contracts/contracts/UniversalProfile/UniversalProfile): UniversalProfile - [⛓ Deployed Implementation Contracts](contracts/deployed-contracts): List of base implementation and factory contracts addresses deployed on LUKSO Mainnet. - [Interfaces IDs](contracts/interface-ids): Interface IDs are not the most secure way to ensure that a contract implements a specific set of functions, as they are manually set and can be set to any value. - [Introduction](contracts/introduction): Welcome to the LUKSO Smart Contracts documentation! - [LSP10Utils](contracts/libraries/LSP10Utils): LSP-10-ReceivedVaults - [LSP17Utils](contracts/libraries/LSP17Utils): LSP-17-ContractExtension - [LSP1Utils](contracts/libraries/LSP1Utils): LSP-1-UniversalReceiver - [LSP2Utils](contracts/libraries/LSP2Utils): LSP-2-ERC725YJSONSchema - [LSP5Utils](contracts/libraries/LSP5Utils): LSP-5-ReceivedAssets - [LSP6Utils](contracts/libraries/LSP6Utils): LSP-6-KeyManager - [⛽️ Execute Relay Call (Meta Transactions)](contracts/overview/ExecuteRelayCall): Sequential relay calls in the same channel - [Follower System](contracts/overview/FollowerSystem): How to interact with and implement the LUKSO LSP26 Follower System in your dApps and smart contracts. - [🔐 Key Manager](contracts/overview/KeyManager): The Key Manager uses the concept of permissions to authorize any addresses (dApps, protocols, devices, etc…) to do certain specific actions on the contract it is linked to. But why should you give anybody access to your smart contract? What is the intention behind doing this? - [⚙️ Extendable & Extension Contracts](contracts/overview/LSP17ContractExtension): Contracts that use the LSP17 standard are called Extendable Contracts. Meaning they can extend their functionalities by linking Extension Contracts to them for specific functionalities that they do not support natively. - [🔊 Universal Receiver](contracts/overview/LSP1Delegate): There are two default implementations of the LSP1 Delegate contracts available, each for different use cases. - [Create a Non Fungible Token](contracts/overview/NFT/create-nft-collection): LSP8 NFT extensions - [Customize transfer behaviour](contracts/overview/NFT/customise-transfer-behaviour): The LSP8IdenfitiableDigitalAsset contract implementation includes the beforeTokenTransfer and afterTokenTransfer functions that offer the ability to specify custom logic that can run before or after the token transfer has happen (= before or after the balances in the contract state have been updated). - [🖼️ Identifiable Digital Asset (NFT)](contracts/overview/NFT/index): The LSP8CompatibleERC721 contracts have been deprecated and deleted from the @lukso/lsp-smart-contracts package since version 0.15.0, because of their unsafe nature and security considerations (See PR #845 for more details). - [Set NFT Metadata](contracts/overview/NFT/set-nft-metadata): The function setDataBatchForTokenIds(...) can be used to set multiple data key-value pairs at once for one or multiple tokenIds. - [Create a Fungible Token](contracts/overview/Token/create-token): LSP7 Tokens extensions - [Customize transfer behaviour](contracts/overview/Token/customise-transfer-behaviour): beforeTokenTransfer and afterTokenTransfer hooks - [🪙 Digital Asset (Token)](contracts/overview/Token/index): The LSP7CompatibleERC20 contracts have been deprecated and deleted from the @lukso/lsp-smart-contracts package since version 0.15.0, because of their unsafe nature and security considerations. They are not recommended to be used. However, if you want to still use them, they remain available up to the version 0.14.0. - [🆙 Universal Profile](contracts/overview/UniversalProfile): The UniversalProfile.sol smart contract is a combination of two LSP standards: - [LSP1 Notification Type IDs](contracts/type-ids): The LSP1 Type IDs listed below are unique identifiers used across the LSP standards for the Universal Receiver notification mechanism. - [Feature Requests](faq/lukso/feature-requests): LUKSO ecosystem feature requests: developer events, hackathons, grants. - [General Information](faq/lukso/general-information): General information about the LUKSO ecosystem: LYXt, LYXe, and LYX, token supply, LUKSO as a Layer-1. - [Project Differentiation](faq/lukso/project-differentiation): How does LUKSO differentiate from other projects? - [Project Origins](faq/lukso/project-origins): The project origins of LUKSO, LUKSO Genesis Deposit Contract, and the LUKSO Reversible Initial Coin Offering (rICO). - [Project Timeline](faq/lukso/project-timeline): LUKSO project timeline: L14, L16, Testnet, LUKSO Mainnet. - [Blockchain Architecture](faq/network/blockchain-architecture): LUKSO blockchain architecture overview. - [Network Configuration](faq/network/network-configuration): LUKSO network configurations: ports, minimal network speed, data traffic. - [Node Security](faq/network/node-security): LUKSO node security considerations. - [Node Setup](faq/network/node-setup): LUKSO node setup and supported clients: Geth, Erigon, Nethermind, Besu, Prysm, Lighthouse, Teku, Nimbus - [Peer Connections](faq/network/peer-connection): LUKSO peer connections overview. - [Staking](faq/network/staking): Staking LYX on the LUKSO network. - [Validators](faq/network/validators): LUKSO validators overview: validator deposit key, validator mnemonic seed, validator fee recipient address. - [LUKSO Standard Proposals](faq/onboarding/lukso-standards): LUKSO Standard Proposals (LSPs) overview: main features of LSPs, the difference between ERC721, ERC1155, LSP7, LSP8, and LUKSO phygital assets. - [Tools and Services](faq/onboarding/tools-and-services): LUKSO tools and services overview. - [Universal Profiles](faq/onboarding/universal-profiles): Universal Profiles: Universal Profile Explorer, compatibility with regular wallets, and supported coins. - [Benefits of the LUKSO Standards](learn/benefits-lukso-standards): Overview of the benefits of using LUKSO Standard Proposals (LSPs) - [Glossary](learn/concepts): Most frequently used terminology related to the LUKSO Ecosystem: Universal Profiles, Controllers, Transaction Relay Service. - [Choose between LSP7 or LSP8](learn/digital-assets/choose-lsp7-vs-lsp8): Discover which standard is best suited for your token or NFT project between LSP7 or LSP8. - [Getting started building Tokens & NFTs](learn/digital-assets/getting-started): Create a Hardhat project and start building your smart contracts for LUKSO. - [Set LSP7 Token Metadata](learn/digital-assets/metadata-management/edit-token-metadata): Learn how to update LSP4 Metadata of digital assets on LUKSO using ethers.js, web3.js, or Hardhat. - [Metadata Preparation](learn/digital-assets/metadata-management/metadata-preparation): Learn how to prepare and use assets for LUKSO Universal Profiles and digital assets (LSP7 / LSP8). - [📑 Read Digital Asset Data](learn/digital-assets/metadata-management/read-asset-data): Learn how to read Digital Asset (LSP7) and Identifiable Digital Assets (NFT/LSP8) data from their smart contracts. - [Create an NFT Collection Using LSP7](learn/digital-assets/nft/create-nft-collection-lsp7): Learn how to create an NFT Collection on LUKSO using LSP7 Digital Asset standard. - [Create an NFT Collection Using LSP8](learn/digital-assets/nft/create-nft-collection-lsp8): Learn how to create an NFT Collection on LUKSO using LSP8 Identifiable Digital Asset standard. - [Create NFT Collection with a contract address as tokenId](learn/digital-assets/nft/create-nft-collection-with-lsp7-tokenId): Learn how to create a NFT collection where each NFT is a contract - [Read LSP8 NFT Metadata](learn/digital-assets/nft/read-nft-metadata): Learn how to read the metadata specific to a LSP8 NFT. - [Set LSP8 NFT Metadata](learn/digital-assets/nft/set-nft-metadata): Learn how to set the metadata of a NFT part of a LSP8 Identifiable Digital Asset Collection. - [🗃️ Retrieve Token Type](learn/digital-assets/retrieve-token-type): Retrieve LUKSO LSP token types and detect if an asset is a Token, an NFT, or a collection. - [🪙 Create a LSP7 Token](learn/digital-assets/token/create-lsp7-token): Learn how to create your own basic fungible token on LUKSO using the LSP7 Digital Asset standard. - [Transfer Tokens / NFTs in Batch](learn/digital-assets/transfer-batch): This guide shows you how to transfer a token to multiple addresses or multiple NFTs from a collection to the same or different recipient addresses. - [Quick Start](learn/getting-started): Introduction to the LUKSO Ecosystem - why choose LUKSO? Who is LUKSO intended for? - [🪙 Migrate ERC20 to LSP7](learn/migrate/migrate-erc20-to-lsp7): Learn how to migrate your ERC20 token to the LSP7 Digital Asset standard on LUKSO. - [🖼️ Migrate ERC721 to LSP8](learn/migrate/migrate-erc721-to-lsp8): Learn how to migrate your ERC721 token to the LSP8 Identifiable Digital Asset standard on LUKSO. - [Migrate to LUKSO](learn/migrate/migrate-to-lukso): What to consider when building on LUKSO with LSPs (LUKSO Standard Proposals)? - [Add Mini-App to a Grid](learn/mini-apps/add-mini-app-to-grid): Add a Mini-App to a Universal Profile Grid on universaleverything.io from an external website. - [Connect to a Mini-App](learn/mini-apps/connect-upprovider): How to connect your Mini-App using the UP Provider - [Setting Your Grid](learn/mini-apps/setting-your-grid): Learn how to set up LSP28 Grid on your Universal Profile — encode Grid JSON, build VerifiableURI, and write on-chain with erc725.js. - [🧪 Testing Mini-Apps Locally](learn/mini-apps/testing-miniapps): How to run and test your Mini-App locally - [Deploy Multichain Contracts](learn/other-guides/deploy-multichain-contracts): Learn to deploy contracts with the same addresses on multiple blockchains using LSP16-UniversalFactory. - [Using NFC on LUKSO](learn/other-guides/NFC-NFT): Learn how NFC technology can be used on LUKSO blockchain for innovative applications. - [Run Graph Node on LUKSO](learn/other-guides/run-graph-node): A step-by-step guide to setting up a Graph Node on LUKSO using Docker. - [Use IPFS Storage](learn/other-guides/utilize-ipfs-storage): Learn how to integrate IPFS storage solutions for dApps. - [🌏 Overview](learn/overview): Introduction to the LUKSO Ecosystem - why choose LUKSO? Who is LUKSO intended for? - [Standard Detection](learn/standard-detection): Learn how to detect different smart contract interfaces and a set of metadata keys related to the LSP (LUKSO Standards Proposals) using ERC165 interface Ids and the 'SupportedStandards:{StandardName}' data key. - [Deploying a Universal Profile using LSP23 Factory](learn/universal-profile/advanced-guides/deploy-up-with-lsp23): Learn how to deploy a Universal Profile using LSP23. - [Extend a Universal Profile Functionalities](learn/universal-profile/advanced-guides/extend-profile-functionalities): Learn to enhance your Universal Profile with added functionalities in JavaScript, covering extension deployment, interface extension, and practical use cases. - [Integrate EIP-4337 into your Universal Profile](learn/universal-profile/advanced-guides/extension): Learn how to integrate the EIP-4337 extension into your Universal Profile. - [Upgrade Key Manager](learn/universal-profile/advanced-guides/upgrade-key-manager): This advanced tutorial shows how you can upgrade the `owner()` of a Universal Profile. For instance upgrading the Key Manager with a better one. - [Connect a Universal Profile](learn/universal-profile/connect-profile/connect-up): Learn how to connect your Universal Profile to a dApp (decentralized application) on LUKSO. - [Log-in a Universal Profile (SIWE)](learn/universal-profile/connect-profile/siwe): Learn how to log-in a Universal Profile using SIWE (Sign-In With Ethereum). - [Execute Batch Transactions](learn/universal-profile/interactions/batch-transactions): Discover how you can do batch transactions with your Universal Profile Browser Extension, such as transferring different tokens and NFTs to different addresses in one transaction. - [Deploy Contracts](learn/universal-profile/interactions/deploy-contracts): Learn how to deploy a contract from your Universal Profile. - [Interact with other contracts](learn/universal-profile/interactions/interact-with-contracts): This guide shows how to interact with any smart contracts programmatically from a dApp using the UP Browser Extension and ethers.js (or web3.js). - [Transfer LYX](learn/universal-profile/interactions/transfer-lyx): Learn how to write a simple dApp code to transfer LYX from your Universal Profile Browser Extension programmatically. - [Transfer Tokens & NFTs](learn/universal-profile/interactions/transfer-tokens-and-nfts): Learn how to transfer LSP7 tokens and LSP8 individual NFT tokenIds from a Universal Profile to any address on the LUKSO Blockchain, using the UP Browser Extension. - [Execute Relay Transactions](learn/universal-profile/key-manager/execute-relay-transactions): In this guide, you will learn how to sign and execute gas-less transactions. Such transaction can be executed by any trusted third party who will pay for the gas on behalf of the user (= address) who signed the transaction. - [Get List of Permissioned Addresses](learn/universal-profile/key-manager/get-controller-permissions): Learn how to retrieve the list of controller addresses and their associated permissions from a Universal Profile on LUKSO. - [Grant Permissions](learn/universal-profile/key-manager/grant-permissions): Learn how to give some permissions to an address to perform specific actions on a Universal Profile on LUKSO. - [Adding Custom Data](learn/universal-profile/metadata/adding-custom-data): Universal Profiles are powered by LSP2, a standard that allows them to function as generic key-value data stores. Beyond the predefined data keys from standards like LSP3 Profile Metadata, you can define and set your own completely custom data keys. - [Edit a Universal Profile](learn/universal-profile/metadata/edit-profile): Learn how to edit the LSP3Profile Metadata of a Universal Profile using viem + wagmi, ethers.js, or web3.js. - [Read Data from your Universal Profile](learn/universal-profile/metadata/read-profile-data): Learn how to read profile data from your Universal Profile. - [Register Issued Assets](learn/universal-profile/metadata/register-lsp12-issued-assets): Learn how to register Issued Assets under an Universal Profile. - [Get Profile's Owned Assets](learn/universal-profile/metadata/retrieve-owned-assets): Learn how to retrieve the list of assets owned by a Universal Profile. - [Accept & Reject Assets](learn/universal-profile/universal-receiver/accept-reject-assets): Each user can create a Universal Receiver Delegate contract with some custom logic, which can run automatically on calls to the universalReceiver(..) function of the user's Universal Profile based on specific typeIds. - [Create a Token Forwarder](learn/universal-profile/universal-receiver/create-receiver-forwarder): This smart contract tutorial guides you on how to create a LSP1 Delegate contract that forwards portion of received tokens automatically to any address. - [Universal Receiver](learn/universal-profile/universal-receiver/deploy-universal-receiver): This guide will teach you how to deploy and set the default implementation of the Universal Receiver Delegate (URD) used by the Universal Profile. The URD will register the addresses of the received assets and vaults and remove them on a balance equal to 0. It requires the SUPER_SETDATA and REENTRANCY permissions to interact with the 🆙. - [Create a Vault](learn/vault/create-a-vault): This guide might contain outdated information and will be updated soon. - [Edit Vault Data](learn/vault/edit-vault-data): This guide might contain outdated information and will be updated soon. - [Grant Vault Permissions](learn/vault/grant-vault-permissions): This guide might contain outdated information and will be updated soon. - [Interact With Contracts](learn/vault/interact-with-contracts): This guide might contain outdated information and will be updated soon. - [Create Deposit Keys](networks/advanced-guides/create-validator-keys): Learn how to create validator keys for your LUKSO node. - [Exit Validators](networks/advanced-guides/exit-validators): Learn how to exit validators on the LUKSO Network. - [Switch Between Clients](networks/advanced-guides/switch-consensus-clients): Learn how to switch consensus clients on LUKSO to help improve client diversity: switch from Prysm to Lighthouse or Teku. - [Update the Clients](networks/advanced-guides/update-clients): Discover how to check for new blockchain client versions on LUKSO. - [Update Gas Price](networks/advanced-guides/update-gas-price): Learn how to adjust the minimum gas price for validators on the LUKSO Network. - [Update the Node](networks/advanced-guides/update-the-node): Discover how to check your LUKSO CLI version and update it to the latest one. - [Update Validator Withdrawals](networks/advanced-guides/withdrawal-update): Update the LUKSO Validator withdrawals to be able to withdraw staked LYX/ LYXt. - [Become a Validator](networks/mainnet/become-a-validator): Become a LUKSO Mainnet validator using the LUKSO Deposit Launchpad and deposit 32 LYX per validator. - [Network parameters](networks/mainnet/parameters): Network Parameters for LUKSO: Execution Block Explorer, RPC providers, Chain ID. - [Running a Node](networks/mainnet/running-a-node): Run a Mainnet LUKSO node with one of the three options: Dappnode, LUKSO CLI, or Docker. - [Become a Validator](networks/testnet/become-a-validator): Become a LUKSO Testnet validator using the LUKSO Deposit Launchpad and deposit 32 LYX per validator. - [Network parameters](networks/testnet/parameters): Network Parameters for LUKSO Testnet: Execution Block Explorer, RPC providers, Chain ID, LUKSO Testnet faucet. - [Running a Node](networks/testnet/running-a-node): Run a Testnet LUKSO node with one of the three options: Dappnode, LUKSO CLI, or Docker. - [LSP14 - Ownable 2-Step](standards/access-control/lsp14-ownable-2-step): LUKSO's LSP14 - Ownable2Step: an extended version of EIP173 - Contract Ownership Standard for transferring and renouncing ownership. - [LSP6 - Key Manager](standards/access-control/lsp6-key-manager): LUKSO's LSP6 - Key Manager for controlling a LUKSO LSP0ERC725Account. - [Universal Profiles](standards/accounts/introduction): Introduction to LUKSO's Universal Profiles. - [LSP0 - ERC725 Account](standards/accounts/lsp0-erc725account): LUKSO's LSP0 - ERC725 Account. - [LSP1 - Universal Receiver](standards/accounts/lsp1-universal-receiver): LUKSO LSP1 Universal Receiver Delegate. - [LSP1 - Universal Receiver Delegate](standards/accounts/lsp1-universal-receiver-delegate): LUKSO LSP1 Universal Receiver for notifying upon incoming transactions. - [LSP15 - Transaction Relayer API](standards/accounts/lsp15-transaction-relayer-api): LUKSO's Transaction Relay Service API Standard. - [LSP17 - Contract Extension](standards/accounts/lsp17-contract-extension): LUKSO's LSP17 - Contract Extension for enabling smart contracts to support new functions through extensions. - [LSP20 - Call Verification](standards/accounts/lsp20-call-verification): LUKSO's LSP20 - Call Verification for delegating the the verification of a function call to another smart contract. - [LSP25 - Execute Relay Call](standards/accounts/lsp25-execute-relay-call): Learn about meta transactions using the LSP25 Execute Relay Call standards and how to use multi-channel nonces to dispatch transactions that are order independent or not. - [LSP26 - Follower System](standards/accounts/lsp26-follower-system): LUKSO's LSP26 Follower System for managing on-chain following relationships between addresses. - [LSP9 - Vault](standards/accounts/lsp9-vault): LUKSO LSP9 - Vault for holding assets and interacting with other smart contracts. - [ERC725](standards/erc725): ERC725X operations: call, create, create2, staticcall, delegatecall, and ERC725Y Generic Data Key/Value Store. - [Complete Event Reference](standards/event-reference): Technical reference of all Solidity events defined across LUKSO Standard Proposals (LSPs), with keccak256 topic0 hashes for building indexers and event-processing systems. - [LSP16 - Universal Factory](standards/factories/lsp16-universal-factory): LUKSO's LSP16 - Universal Factory for deploying the same smart contracts to the same address across different chains. - [LSP23 Linked Contracts Factory](standards/factories/lsp23-linked-contracts-factory): LUKSO's LSP23 Linked Contracts Factory to allow the deployment of primary and secondary smart contracts that are linked together. - [Introduction](standards/introduction): Introduction to LSPs (LUKSO Standard Proposals). - [LSP10 - Received Vaults](standards/metadata/lsp10-received-vaults): LUKSO LSP10 - Received Vaults for keeping track of all the vaults owned by a smart contract. - [LSP12 - Issued Assets](standards/metadata/lsp12-issued-assets): LUKSO LSP12 - Issued Assets for keeping track of all the assets issued by a smart contract. - [LSP2 - ERC725Y JSON Schema](standards/metadata/lsp2-json-schema): LUKSO's LSP2 - ERC725Y JSON Schema for better abstraction on top of the storage of a smart contract. - [LSP3 - Profile Metadata](standards/metadata/lsp3-profile-metadata): LUKSO LSP3-Profile-Metadata: a Metadata standard that defines specific data keys to describe a profile. - [LSP5 - Received Assets](standards/metadata/lsp5-received-assets): LUKSO LSP5 - Received Assets: a standard for referencing and keeping track of received assets. - [Types of LSPs Standards](standards/standard-types): Discover the different type of LUKSO Standards Proposals: smart contracts interfaces and standardised metadata keys. - [Tokens & NFT 2.0](standards/tokens/introduction): Introduction to LUKSO Tokens (LSP7-DigitalAsset ) and NFTs 2.0 (LSP8-IdentifiableDigitalAsset). - [LSP4 - Digital Asset Metadata](standards/tokens/LSP4-Digital-Asset-Metadata): LUKSO LSP4 - Digital Asset Metadata for defining data keys to describe a Digital Asset. - [LSP7 - Digital Asset](standards/tokens/LSP7-Digital-Asset): LUKSO LSP7 - Digital Asset for fungible assets. - [LSP8 - Identifiable Digital Asset](standards/tokens/LSP8-Identifiable-Digital-Asset): LUKSO LSP8 - Identifiable Digital Asset for non-fungible assets. - [🔍 Indexer API](tools/apis/indexer-api): The Envio Indexer provides a powerful way to query any information, past events or metadata from the LUKSO blockchain. It offers flexible querying capabilities with support for filtering and real-time subscriptions. - [⛽ Transaction Relay API](tools/apis/relayer-api): The LUKSO Transaction Relay Service enables gasless transactions for Universal Profiles. Registered Universal Profiles receive a free monthly gas quota of 20 million gas. - [🆙 Relayer User API](tools/apis/relayer-user-api): This feature is currently in private beta. If you are interested, please contact us. - [🆙 Additional RPC APIs](tools/apis/up-rpc-api): LUKSO's RPC API supported methods. - [EIP191Signer](tools/dapps/eip191-signerjs/Classes/EIP191Signer): hashEthereumSignedMessage - [Getting Started](tools/dapps/eip191-signerjs/getting-started): - GitHub Repository - [Getting Started](tools/dapps/erc725js/getting-started): This package is currently in the early stages of development. Feel free to report issues or feature requests through the Github repository. - [Methods](tools/dapps/erc725js/methods): Encoding - [Providers](tools/dapps/erc725js/providers): The provider by which @erc725/erc725.js will request blockchain data is set on the instantiation of the class through the configuration object. - [Schemas](tools/dapps/erc725js/schemas): For more details on schemas, see the official specification of the LSP2 ERC725 JSON schemas standard specification - [Getting Started](tools/dapps/lsp-factoryjs/getting-started): @lukso/lsp-factory.js makes it easy to deploy smart accounts and tokens on LUKSO (and other EVM chains). Instead of manually deploying and wiring up multiple contracts, the factory handles everything in a single call: - [Getting Started](tools/dapps/lsp-utils/getting-started): This package is currently in the early stages of development. Please use it for testing or experimentation purposes only. - [IPFS](tools/dapps/lsp-utils/IPFS): validateIpfsUrl - [LSP12IssuedAssets](tools/dapps/lsp-utils/LSP12IssuedAssets): addIssuedAssets - [LSP23LinkedContractsFactory](tools/dapps/lsp-utils/LSP23LinkedContractsFactory): deployUniversalProfile - [LSP2ERC725YJSONSchema](tools/dapps/lsp-utils/LSP2ERC725YJSONSchema): decodeAssetUrl - [LSP3ProfileMetadata](tools/dapps/lsp-utils/LSP3ProfileMetadata): getProfileMetadata - [LSP4DigitalAssetMetadata](tools/dapps/lsp-utils/LSP4DigitalAssetMetadata): addDigitalAssetCreators - [LSP5ReceivedAssets](tools/dapps/lsp-utils/LSP5ReceivedAssets): generateReceivedAssetKeys - [LSP6KeyManager](tools/dapps/lsp-utils/LSP6KeyManager): createValidityTimestamp - [API Reference](tools/dapps/up-modal/api-reference): setupLuksoConnector - [Customization](tools/dapps/up-modal/customization): The modal supports visual customization via CSS variables. Set them on :root or any ancestor of the `` element. - [Getting Started](tools/dapps/up-modal/getting-started): The @lukso/up-modal package provides a connect modal for LUKSO Universal Profiles. It offers a responsive connection dialog with support for desktop and mobile, automatically detecting UP Mobile (via WalletConnect), UP Browser Extension (via EIP-6963), and other EOA wallets. Modal works with apps that use Wagmi, a library to interact Ethereum. Wagmi handles the underlying connection management, so you can use its APIs alongside the modal. - [Internationalization](tools/dapps/up-modal/internationalization): The modal ships with English (en_US) translations by default. You can customize any text string or add support for other languages. - [Getting Started](tools/dapps/up-provider/getting-started): The @up-provider library lets dApps run as mini-apps on Grid and allows parent applications to one-click-connect to your mini-app. - [Grid Providers](tools/dapps/up-provider/grid-providers): Developers can use Grid Providers to host and connect mini-apps on their pages. - [🏭 Node Docker Factory](tools/docker-factory): Docker Factory is a web app that allows you to easily create a custom docker-compose file to connect to a LUKSO network. Simply select your desired clients, add the additional options, copy your generated docker-compose file and run it. For more information visit the Docker Factory website. - [🔍 Explorers & Debug Tools](tools/explorers-debuggers): Block Explorers - [🪢 Integrations](tools/integrations): ⛓️ Looking to integrate LUKSO? or already integrating? - [Constants](tools/lsp-smart-contracts/constants): The constants.ts file exposes many useful variables. - [Contracts ABI](tools/lsp-smart-contracts/contracts-abi): You can import the LUKSO smart contracts ABIs from the /artifacts folder: - [Getting Started](tools/lsp-smart-contracts/getting-started): - GitHub: lukso-network/lsp-smart-contracts - [Solidity Contracts](tools/lsp-smart-contracts/solidity-contracts): The solidity sources of the LUKSO smart contracts are available in the /contracts folder. - [Working with LSPs on Remix IDE](tools/lsp-smart-contracts/working-with-remix): This guide will walk you through the process of building and deploying LSP smart contracts using Remix IDE. - [🔑 Authorize Controller](tools/management-tools/authorize): Authorize Controller Tool - [Tools](tools/tools): Explore the different tools available for developers to build dApps, smart contracts and protocols more easily on LUKSO.