Getting started building Tokens & NFTs
The LUKSO ecosystem offers smart contract developers a lot of new standards and tools to build powerful, modular, and standardized blockchain applications.
This page will guide you in setting up your development environment to build and deploy tokens and NFTs on LUKSO.
For more low level information about the Tokens Contracts (LSP7 and LSP8), see the dedicated contracts section.
Playground Repositoryβ
In the following guides, we will use the lukso-playground
repository with a full Hardhat setup, including ready-to-go network configurations, sample contracts, and scripts to deploy and verify LSP-based contracts on LUKSO.
This repository uses the bun toolkit to manage packages and run scripts. Make sure to install it first.
Clone the Playground Repositoryβ
First, clone the playground repository and navigate into the smart-contracts-hardhat folder:
git clone https://github.com/lukso-network/lukso-playground.git
cd lukso-playground/smart-contracts-hardhat
To install all the dependencies, run the below command:
bun install
You can then go ahead to create a .env
file within the root folder of the Hardhat repository and the following contents:
PRIVATE_KEY=0x...
The private key will be used to deploy the smart contracts to the network and can either be a standalone Externally Owned Account or a controller of a Universal Profile. If you want to deploy the smart contracts as a Universal Profile, you also have to provide the related address of the Universal Profile.
Never share your private key that you will put into the .env
file!
To pay for the gas deployment fees, you will need LYXt. You can request LYXt from the LUKSO Testnet faucet.
We now have a base Hardhat setup that we can use to develop and deploy our smart contracts.
Run locallyβ
Run the TypeScript code of one file within the terminal using bun
.
bun file-path/script.ts