Skip to content

Commit

Permalink
Merge pull request #1182 from lukso-network/new-home-page
Browse files Browse the repository at this point in the history
New home page
  • Loading branch information
CJ42 authored Dec 18, 2024
2 parents a2309b1 + adb6266 commit af0b843
Show file tree
Hide file tree
Showing 169 changed files with 5,833 additions and 2,811 deletions.
2 changes: 1 addition & 1 deletion docs/faq/onboarding/tools-and-services.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ If you want to experiment with simple code snippets for LSPs, please look at the

## Which tools can be used to develop dApps on LUKSO?

We have a [full set of tools](../../tools/libraries/getting-started/) and libraries that you can use to build on LSPs and interact with Universal Profiles. You can also [install the latest Universal Profile Extension](/install-up-browser-extension) to connect Universal Profiles with dApps.
We have a [full set of tools](../../tools/) and libraries that you can use to build on LSPs and interact with Universal Profiles. You can also [install the latest Universal Profile Extension](/install-up-browser-extension) to connect Universal Profiles with dApps.

## Where can I get LYXt for test deployments?

Expand Down
2 changes: 1 addition & 1 deletion docs/learn/benefits-lukso-standards.md
Original file line number Diff line number Diff line change
Expand Up @@ -133,7 +133,7 @@ Below are the benefits offered by the LUKSO Token standards [**LSP7 Digital Asse
| ----------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [**🔘 Easier functions for developers**](#-easier-functions-for-developers) | You are a developer? Stop learning different functions for each new ERC token standard! (ERC20, ERC721, ERC1155, etc...).<br/>LSP7 and LSP8 use the **same function names** for transfer and operator approvals, whether it is a token or NFT transfer. |
| [**🗄️ Unlimited & Dynamic Metadata for Tokens & NFTs**](#️-unlimited--dynamic-metadata) | Your NFT is not only an image. It can now hold as many information as can be imagined (custom traits, attributes, ...). This information can evolve overtime. |
| **䷓ Flexible Batching functionalities** | Distribute multiple tokens or NFTs easily to users with [`transferBatch(...)`](../contracts/contracts/LSP8IdentifiableDigitalAsset/LSP8IdentifiableDigitalAsset.md#transferbatch) or perform multiple actions in a single transaction with [`batchCalls(...)`](../contracts/contracts/LSP8IdentifiableDigitalAsset/LSP8IdentifiableDigitalAsset.md#batchcalls). <br/> _(e.g: authorize multiple operators, transfer an NFT and update its metadata)_. |
| **䷓ Flexible Batching functionalities** | Distribute multiple tokens or NFTs easily to users with [`transferBatch(...)`](../contracts/contracts/LSP8IdentifiableDigitalAsset/LSP8IdentifiableDigitalAsset.md#transferbatch) or perform multiple actions in a single transaction with [`batchCalls(...)`](../contracts/contracts/LSP8IdentifiableDigitalAsset/LSP8IdentifiableDigitalAsset.md#batchcalls). <br/> _(e.g: authorize multiple operators, transfer an NFT and update its metadata)_. |
| [**📢 Notify sender & recipient(s) on transfer and new operators**](#-notify-on-transfers) | Sender is notified _"I have sent tokens"_, recipient is notified _"I have received tokens"_ and both can have custom logic to react on these notifications. <br/><br/>**Finished the old _"`approve(...)` then `transferFrom(...)`"_ flow!**. Using the Universal Receiver and automatic reactions on notifications is the new way! |
| **⚙️ Extendability with pluggable Extensions** | New features (like new function selectors not present by default in the smart contract code) can be added to a Digital Asset, using a system of extensions. |
| [**✋🏻 Safety parameter (by default!) to prevent accidental transfers**](#-safety-to-prevent-accidental-transfers) | Prevent bad web3 user stories and reduce the number of Google searches for:<br/> _"Transferred tokens to the wrong wallet address. How can I recover them?"_. |
Expand Down
78 changes: 0 additions & 78 deletions docs/learn/developer-content.json

This file was deleted.

4 changes: 3 additions & 1 deletion docs/learn/digital-assets/.assets.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ sidebar_position: 4
description: Learn how to prepare and use assets for LUKSO Universal Profiles and digital assets (LSP7 / LSP8).
---

<!-- TODO: finish guide for uploading asset metadata -->

# 📃 Working with assets

When creating/editing Universal Profiles or Digital Assets, you will need to upload assets (such as images, icons, videos, etc.) and [metadata JSON files](../../standards/tokens/LSP4-Digital-Asset-Metadata.md). This can be tricky, but this guide will help you get through this process.
Expand Down Expand Up @@ -241,7 +243,7 @@ The `generateLSP4JSONVerifiableURI` will return you directly what needs to be se

## Encode the LSP4 Metadata

To encode the LSP4 Metadata with ease, you can use the 🛠️ [`erc725.js`](../../tools/libraries/erc725js/getting-started.md) library. The tool provides all necessary LSP Schemas and the `encodeData()` function.
To encode the LSP4 Metadata with ease, you can use the 🛠️ [`erc725.js`](../../tools/dapps/erc725js/getting-started.md) library. The tool provides all necessary LSP Schemas and the `encodeData()` function.

```js
import { ERC725 } from '@erc725/erc725.js';
Expand Down
2 changes: 1 addition & 1 deletion docs/learn/digital-assets/getting-started.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import TabItem from '@theme/TabItem';

# Getting started building Tokens & NFTs

The LUKSO ecosystem offers smart contract developers a lot of [new standards](../../standards/introduction.md) and [tools](../../tools/libraries/getting-started.md) to build **powerful, modular, and standardized** blockchain applications.
The LUKSO ecosystem offers smart contract developers a lot of [new standards](../../standards/introduction.md) and [tools](../../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.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -121,7 +121,7 @@ To implement Cascade and Sense support, you can reference [this](./cascade-and-s

:::tip Convenience Tool

You can use the 🛠️ [`erc725.js`](../../../tools/libraries/erc725js/getting-started.md) library
You can use the 🛠️ [`erc725.js`](../../../tools/dapps/erc725js/getting-started.md) library
to encode the LSP4 Metadata. The tool provides all necessary LSP schemas as well as the `encodeData()` function.

:::
Expand Down
14 changes: 7 additions & 7 deletions docs/learn/digital-assets/metadata-management/read-asset-data.md
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ npm i @lukso/lsp-smart-contracts @erc725/erc725.js

:::info

If you are using the 📃 [lsp-smart-contracts](../../../tools/libraries/lsp-smart-contracts/getting-started) library, you can fetch the list of `interfaceId` directly from the package's [constants](../../../tools/libraries/lsp-smart-contracts/constants) called `INTERFACE_IDS`.
If you are using the 📃 [lsp-smart-contracts](../../../tools/lsp-smart-contracts/getting-started) library, you can fetch the list of `interfaceId` directly from the package's [constants](../../../tools/lsp-smart-contracts/constants) called `INTERFACE_IDS`.

Optionally, you can also find a full list of interface IDs on the [Contracts > Interface ID](https://docs.lukso.tech/contracts/interface-ids/) page and input them manually.

Expand Down Expand Up @@ -176,7 +176,7 @@ The following data keys can be fetched 👇
| `LSP4TokenSymbol` | The utf8 hex characters of the string representing the asset's symbol. |
| `LSP4TokenName` | The utf8 hex characters of the string representing the asset's name. |

To retrieve and decode the value stored under this data keys, we will use [erc725.js](../../../tools/libraries/erc725js/getting-started.md) and instantiate the class with:
To retrieve and decode the value stored under this data keys, we will use [erc725.js](../../../tools/dapps/erc725js/getting-started.md) and instantiate the class with:

1. the LSP4 Schema that defines the data keys above and how to decode them
2. the address of your digital asset
Expand All @@ -200,9 +200,9 @@ const erc725js = new ERC725(

We can fetch the digital asset data in three ways:

1. using [`getData()`](../../../tools/libraries/erc725js/methods#getdata) without parameters. This will fetch the value of all data keys at once.
1. using [`getData()`](../../../tools/dapps/erc725js/methods#getdata) without parameters. This will fetch the value of all data keys at once.
2. using `getData("DataKeyName")` to fetch the value of a specific data key. For instance `getData("LSP4Metadata")`.
3. using [`fetchData('LSP4Metadata')`](../../../tools/libraries/erc725js/methods.md#fetchdata) which decodes the `VerifiableURI` to extract the JSON metadata file link and fetch its content from IPFS (or another storage service).
3. using [`fetchData('LSP4Metadata')`](../../../tools/dapps/erc725js/methods.md#fetchdata) which decodes the `VerifiableURI` to extract the JSON metadata file link and fetch its content from IPFS (or another storage service).

### Asset Name and Symbol

Expand Down Expand Up @@ -232,10 +232,10 @@ console.log(tokenSymbol);

### Global Token Information

To fetch the whole JSON file of the asset's metadata, you can use the following 2 functions of the [`erc725js`](../../../tools/libraries/erc725js/getting-started.md) library:
To fetch the whole JSON file of the asset's metadata, you can use the following 2 functions of the [`erc725js`](../../../tools/dapps/erc725js/getting-started.md) library:

- [`fetchData('LSP4Metadata')`](../../../tools/libraries/erc725js/methods.md#fetchdata): This will download and decode the content of `VerifiableURI` as JSON.
- [`getData(LSP4Metadata)`](../../../tools/libraries/erc725js/methods#getdata): This will retrieve the raw data value from the smart contract. You will then need to decode the `VerifiableURI` maunually using [`decodeData(...)`](../../../tools/libraries/erc725js/methods.md#decodedata).
- [`fetchData('LSP4Metadata')`](../../../tools/dapps/erc725js/methods.md#fetchdata): This will download and decode the content of `VerifiableURI` as JSON.
- [`getData(LSP4Metadata)`](../../../tools/dapps/erc725js/methods#getdata): This will retrieve the raw data value from the smart contract. You will then need to decode the `VerifiableURI` maunually using [`decodeData(...)`](../../../tools/dapps/erc725js/methods.md#decodedata).

```ts
// Download and verify the asset metadata JSON file
Expand Down
6 changes: 3 additions & 3 deletions docs/learn/digital-assets/nft/read-nft-metadata.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,8 @@ If neither _Token ID Metadata_ nor _Base URI_ are set, you should fall back and

We will need the following dependencies to follow this guide:

- [`lsp-smart-contracts`](../../../tools/libraries/lsp-smart-contracts/getting-started.md) to import the LSP8 contract ABI.
- [`erc725.js`](../../../tools/libraries/erc725js/getting-started.md) to easily get [ERC725Y](/standards/erc725.md) data keys and decode their values.
- [`lsp-smart-contracts`](../../../tools/lsp-smart-contracts/getting-started.md) to import the LSP8 contract ABI.
- [`erc725.js`](../../../tools/dapps/erc725js/getting-started.md) to easily get [ERC725Y](/standards/erc725.md) data keys and decode their values.

<Tabs groupId="provider-lib">
<TabItem value="ethers" label="ethers" attributes={{className: "tab_ethers"}}>
Expand Down Expand Up @@ -385,7 +385,7 @@ After retrieving the metadata from the contract, you can continue to [retrieve t

:::caution Version Support

Assets created with LSP versions below 🛠️ [`@lukso/lsp-smart-contracts`](../../../tools/libraries/lsp-smart-contracts/getting-started.md) of `v0.14.0` lack support for retrieving token ID metadata from a Base URI. For previous LSP8 assets, the Base URI may be retrievable by calling the [`fetchData`](../../../tools/libraries/erc725js/methods.md#fetchdata) function as described in the [Global Token Information](#global-token-information) section.
Assets created with LSP versions below 🛠️ [`@lukso/lsp-smart-contracts`](/tools/lsp-smart-contracts/getting-started.md) of `v0.14.0` lack support for retrieving token ID metadata from a Base URI. For previous LSP8 assets, the Base URI may be retrievable by calling the [`fetchData`](../../../tools/dapps/erc725js/methods.md#fetchdata) function as described in the [Global Token Information](#global-token-information) section.

:::

Expand Down
2 changes: 1 addition & 1 deletion docs/learn/digital-assets/nft/set-nft-metadata.md
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,7 @@ The next step is to encode the metadata. To do so, we need:
- a JSON file that contains all the metadata of the specific NFT. This metadata has the same format as the `LSP4Metadata`.
- the IPFS url where this JSON file has been uploaded

The value will be encoded as a `VerifiableURI`. We will use the `encodeData` function from the [_erc725.js_](../../../tools/libraries/erc725js/methods.md#encodedata) library to encode a `VerifiableURI` easily.
The value will be encoded as a `VerifiableURI`. We will use the `encodeData` function from the [_erc725.js_](../../../tools/dapps/erc725js/methods.md#encodedata) library to encode a `VerifiableURI` easily.

```js title="encodeVerifiableURI.ts"
import { ERC725 } from '@erc725/erc725.js';
Expand Down
4 changes: 2 additions & 2 deletions docs/learn/digital-assets/retrieve-token-type.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,9 +24,9 @@ Token Types are beneficial because of the wide range of asset use cases. The [LS

:::tip Convenience Tools

You can use the ⚒️ [`erc725.js`](../../tools/libraries/erc725js/getting-started.md) library, which automatically decodes [ERC725Y](/standards/erc725.md#erc725y-generic-data-keyvalue-store) storage keys for you.
You can use the ⚒️ [`erc725.js`](../../tools/dapps/erc725js/getting-started.md) library, which automatically decodes [ERC725Y](/standards/erc725.md#erc725y-generic-data-keyvalue-store) storage keys for you.

If you are using a regular contract instance from Ethers or Web3, you can use the data keys from the [`lsp-smart-contracts`](../../tools/libraries/lsp-smart-contracts/getting-started.md) library by importing the `ERC725YDataKeys` constant.
If you are using a regular contract instance from Ethers or Web3, you can use the data keys from the [`lsp-smart-contracts`](../../tools/lsp-smart-contracts/getting-started.md) library by importing the `ERC725YDataKeys` constant.

:::

Expand Down
Loading

0 comments on commit af0b843

Please sign in to comment.