Publishing the scene

Getting started

Index icon See index
Search Icon

Publishing the scene

Before you begin

Make sure of the following:

  • Your scene complies with all of the scene limitations. Most of these are validated each time you run a preview of your scene.

  • You installed IPFS correctly. To do so, follow these steps. Check these instructions to test the installation.

  • You have a Metamask account, with your LAND parcels assigned to it. The account must also hold a minimum amount of Ether to pay a transaction gas fee.

  • You own the necessary amount of adjacent LAND parcels. Otherwise you can purchase LAND in the Market.

  • If you’re deploying a single scene to multiple adjacent parcels, you must first merge them together into an Estate before you can deploy to them. See Marketplace for instructions on how to create an estate.

Check scene data

When deploying, the CLI reads information from the scene.json to know where to deploy your scene to.

Open your scene’s scene.json file and verify the following:

  • Owner: Needs to match your Ethereum wallet address. This same address needs to hold the LAND tokens, or have been granted permissions by the owner.

  • Parcels: The coordinates of the parcels that will be occupied by your scene

  • Base: The coordinates of the parcel that will be considered the [0,0] coordinate of the scene.

  • Estate: The ID of the estate you’re deploying to. If you’re deploying to a single parcel, this field isn’t necessary.

    Note: To find your estate’s id, open the estate’s detail page in the Marketplace. The URL should include a number for the ID. For example if the URL is market.decentraland.org/estates/84/detail, the estate’s ID is 84.

To publish the scene

  1. To make sure the scene has been locally built with your latest changes, run npm run build.
  2. Log into your Metamask account with the same public address associated with your parcels in Decentraland. That public address should be listed in the scene’s scene.json file.
  3. Start up an IPFS daemon by running ipfs daemon.
  4. Finally, run dcl deploy from the scene’s folder.

If this is your first time uploading this scene to the selected parcels,Metamask will ask you to approve a transaction for paying the gas fee after the file upload is completed. You only make this payment the first time you deploy content, as the smart contract for your LAND is only updated when you link your content to IPNS, the naming service for IPFS.

This updates your parcel with your latest changes in addition to uploading your content to IPFS.

Currently, as a measure to improve performance and your visitor’s experience, your content will be pinned to Decentraland’s main IPFS server to ensure that the data needed to render your parcel is always readily available.

Note: While this command deploys your scene to your parcel, remember that users can’t currently explore Decentraland, so your content won’t be discoverable “in-world”.

Publish from a physical Ledger device

Instead of storing your LAND tokens in a Metamask account, you may find it more secure to store them in a Ledger device that’s phyisically plugged in to your computer.

If you’re using one of these, the process of uploading content to your LAND is slightly different.

  1. To make sure the scene has been locally built with your latest changes, run npm run build.
  2. Plug your Ledger device in. Your parcels in Decentraland should be associated with that same wallet. The same public address should be listed in the scene’s scene.json file.
  3. Start up an IPFS daemon by following these instructions.
  4. Run dcl deploy --https from the scene’s folder. This will open a tab on your browser where you need to confirm this action.

    Note: Currently, the certificate is self-signed, so your browser might give you a warning before launching the page. The warning is displayed only because the certificate is self-signed by your machine, please ignore it and carry on.

  5. The Ledger device will then ask you for a confirmation, which you must give by pushing the device’s buttons.

What is IPFS?

IPFS (short for Inter-Planetary File System) is a hypermedia protocol and a P2P network for distributing files. The filesystem is content-addressed, meaning that each file is identified by its contents, not an arbitrary file name.

We use IPFS to host and distribute all scene content in a similar way to BitTorrent, keeping the Decentraland network distributed. For better performance, we run an “IPFS Gateway”, which means that Decentraland is hosting most of the content referenced from the blockchain (after certain filters are applied) to improve the experience of exploring the world.

In order to upload your files, you’ll need to run an IPFS node. After “pinning” your scene’s content (which means notifying the network that your files are available) our IPFS nodes will try to download the files using the IPFS network, eventually reaching your computer and copying over the files.

To run an IPFS node, please follow these instructions.

What does IPFS have to do with my LAND?

IPFS serves two primary functions for Decentraland.

  1. IPFS stores and distributes all of the assets required to render your scenes.
  2. The dcl deploy command links these assets to the LAND parcel specified in your scene.json file. Whenever you redeploy your scene, the CLI will update your LAND smart contract, if needed, to point to the most recent content available on IPFS.
×
×

Subscribe

The latest tutorials sent straight to your inbox.

×

Share

Share this tutorial with your community.