A comprehensive set of code examples and development playground for building on the LUKSO blockchain with the LSP standards.
This repository contains Typescript and Solidity code examples to help you get started building dApps and smart contracts with LUKSO's LSP standards.
This repository uses bun to manage packages and run scripts. Make sure to install it first.
Clone this repository and install its dependencies:
git clone https://github.com/lukso-network/lukso-playground.git
cd lukso-playground && bun installInteractive examples and scripts demonstrating LUKSO standards integration:
universal-profile: Universal Profile related scriptsdigital-assets: Digital assets (LSP7/8) scriptsinterface-detection: Verify EIP165 Standard Compatibilitykey-manager: Permission Management of Controller Keysmetadata-detection: Verify ERC725Y Storage Compatibilitytransfer-lyx: Coin Transfers for Backend and Extensionuniversal-factory: Universal Factory related scripts
Run any DApp script from the root directory:
bun run dapps/universal-profile/fetch-json-data.tsSee the DApps README for detailed usage instructions.
Hardhat-based smart contract development environment with example contracts and deployment scripts:
- Example Contracts: LSP1 Universal Receivers, LSP25 Delegated Voting, NFT collections (basic & dynamic), digital tokens (LSP7/LSP8)
- Deployment Scripts: Deploy tokens and collections as EOA or Universal Profile, attach metadata, mint tokens
- Verification Tools: Blockscout contract verification setup
Navigate to the smart-contracts directory for contract development:
cd smart-contracts
# Install smart contract-specific dependencies
bun install
# Compile contracts
bun run compile
# Deploy contracts by running one of the scripts
bun hardhat --network luksoTestnet run <scripts/deployTokenAsEOA.ts>See the Smart Contracts README for detailed development instructions.
@erc725/erc725.js: Library for interacting with ERC725 contracts@lukso/lsp-smart-contracts: LUKSO Standard Proposals smart contract implementations
- Mainnet:
https://rpc.mainnet.lukso.network - Testnet:
https://rpc.testnet.lukso.network
For development purposes, this repository uses:
- IPFS Gateway:
https://api.universalprofile.cloud/ipfs
⚠️ Production Recommendation: We highly recommend that developers use their own IPFS gateway solutions like Pinata or Infura for production applications.
Contributions are welcome! Please check out our Contributing Guidelines for details on how to get started.