Smart Contracts
The smart contracts are public and open source on GitHub.
They are available as a npm package
@lukso/lsp-smart-contracts
.
Welcome to the LUKSO Smart Contracts documentation!
In this section, you will find all the documentation and resources related to the @lukso/lsp-smart-contracts
, the reference contract implementations in Solidity of the LUKSO Standard Proposals.
The @lukso/lsp-smart-contracts
codebase is modular, with each LSP standard and features implemented in separate contracts. This allows smart contract developers to "pick and choose" the contracts for the requirements and behaviors they need for their protocols and applications.
This modular design also helps in making the codebase easier to navigate and understand for developers using it.
Installation
- npm
- yarn
- pnpm
npm install @lukso/lsp-smart-contracts
yarn add @lukso/lsp-smart-contracts
pnpm add @lukso/lsp-smart-contracts
To set up your developer environment, you can check the 👉 getting started section for Smart Contract developers.
Overview
Overall the contracts can be divided by their usage.
Ownership & Access Control
🔐 LSP6 Key Manager
Allows multi-control over the account using different permissions.
🌱 LSP11 Basic Social Recovery
Recover access to your Blockchain based account if you are locked using a social recovery mechanism.
2️⃣ LSP14 Ownable 2 Steps
A module to allow secure owner management of a smart contract using a 2-steps process for transferring and renouncing ownership.
Digital Assets
🔍 LSP4 Digital Asset Metadata
Enables to add metadata to any digital asset contract (token or NFT).
🪙 LSP7 Digital Asset
Creates your own fungible token with the possibility to make it divisible or not.
🎨 LSP8 Identifiable Digital Asset
Creates a non-fungible token where each NFT can be represented differently (numbers, serial numbers, an ERC725Y contract per NFT...).
Accounts & Interactions
👤 LSP0 ERC725 Account
A smart contract based account that can be used to represent an identity on-chain.
📢 LSP1 Universal Receiver
Allows to react on transfers and informations received (token transfers, notifications, etc...)