xLux is a decentralized knowledge exchange platform that enables creators and communities to grow, engage, and improve by providing an easy way to exchange “Knowledge NFTs” containing exclusive content such as techniques, strategies, theories, and experiences.
- Features
- Getting Started
- Reset Wallets
- Mint NFT
- Sell NFT
- Buy NFT
- Accept Buy Offer
- Accept Sell Offer
- Cancel Buy Offer
- Cancel Sell Offer
- Get NFT Data from IPFS
- List Account NFTs
- List Account NFT Offers
- List Account NFT Buy Offers
- List All xLux Accounts
- List All NFTs in xLux
- List All NFT Offers in xLux
- Append Address to Database
- Mint, Sell, Purchase, Cancel and Exchange NFTs in the Ripple Ledger using the latest XLS-20 standard
- Check the latest offers and bids for NFTs with all addresses registered
- Sign & Submit transactions asyncronously
- Decentralized file storage system using IPFS & NFT.Storage
- Simulate Account Generation and Transaction Execution
- Easy to use API for implementing the XLS-20 standard in a python script
1. git clone https://github.com/Nate8888/xluxopen.git
Now go inside the project folder xluxopen and run the following command to install the dependencies (python 3+ required)
2. pip install -r requirements.txt
3. IPFS_KEY=KEY_HERE
4. python3 xluxApiDemo.py
All API requests interact with NFT-Devnet wallets that are currently stored in memory. You are able to change the default wallets in the API and you are also able to generate complete new ones throughout the demo.
Sets the account for the NFT issuer:
POST /set_seller_accountBody Parameter:
{
"secret": "NFT-Devnet-Secret"
"sequence": "NFT-Devnet-Sequence"
"address": "NFT-Devnet-Address"
}Sets the account for the NFT Buyer:
POST /set_buyer_accountBody Parameter:
{
"secret": "NFT-Devnet-Secret"
"sequence": "NFT-Devnet-Sequence"
"address": "NFT-Devnet-Address"
}Generate two random accounts to act as the NFT issuer and buyer:
POST /generate_accountsMint an NFT to the NFT issuer's account.
POST /mintForm Parameter:
"name": "NFT-Name"
"description": "NFT-Description"
"sellprice": "NFT-Sell-Price"File Parameter:
"files[]": "NFT-Image"Sell an NFT to the NFT buyer's account.
POST /sell-nftForm Parameter:
"NFTokenID": "NFT-Token-ID"
"sellprice_in_xrp": "NFT-Sell-Price"Buy an NFT from the NFT issuer's account.
POST /buy-nftForm Parameter:
{
"NFTokenID": "NFT-Token-ID",
"buyprice_in_xrp": "NFT-Buy-Price"
}Accept a buy offer for an NFT.
POST /accept_buy_offerForm Parameter:
{
"buy_offer_index": "NFT-Buy-Offer-Index"
}Accept a sell offer for an NFT.
POST /accept_sell_offerForm Parameter:
{
"sell_offer_index": "NFT-Sell-Offer-Index"
}Cancel a buy offer for an NFT.
POST /cancel_buy_offerForm Parameter:
{
"buy_offer_index": "NFT-Buy-Offer-Index"
}Cancel a sell offer for an NFT.
POST /cancel_sell_offerForm Parameter:
{
"sell_offer_index": "NFT-Sell-Offer-Index"
}Get NFT data from IPFS.
GET /get-nft-data-ipfsQuery Parameter:
{
"url": "ipfs.io/ipfs/<hash>/metadata.json"
}List all NFTs in an account.
GET /list-acc-nftsList all sell offers in a NFT.
GET /list-acc-sell-nft-offersForm Parameter:
{
"NFTokenID": "NFT-Token-ID"
}List all NFT buy offers in an account.
GET /list-acc-nft-buy-offersForm Parameter:
{
"NFTokenID": "NFT-Token-ID"
}List all accounts registered in the xLux platform.
GET /list-all-xlux-accsList all NFTs in the xLux platform.
GET /list-all-nfts-in-xluxList all NFT offers in the xLux platform.
GET /list-all-nft-offers-in-xluxAppend an address to the database.
POST /append-add-to-dbBody Parameter:
{
"address": "NFT-Devnet-Address"
}