Package Exports
- decentraland
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (decentraland) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
Decentraland CLI
CLI tool for parcel management.
- Quickly create new projects
- Uploading scenes to IPFS
- Hot reloading
- Linking Ethereum to the scene
- Pinning scene to Decentraland IPFS node
- Compiling scripts
- Editor modifying local files and “uploading” to the directory
- Optimizing objects, textures
- Warnings and linting of scenes
- Generating bundles of assets
- Manage IPFS uploading/differential uploads
- Test framework for scripting
- Snapshots of the scene
Requirements
NodeJS Installation
MacOS/Linux:
You need to have NodeJS (version 8.. and above) installed on your system to use the CLI. You can use official NodeJS installer, but on MacOS/Linux we recommend to use NVM for managing your NodeJS installation. Please follow the installation instructions.
$ npm install -g decentraland
This should install CLI tool and make it available globally. Please proceed to usage documentation.
Windows:
Thanks @HAZARDU5 for this guide
Install Node.js v8 LTS from https://nodejs.org/en/download/
Search Windows for cmd and right click the Command Prompt app and select Run as Administrator
Install windows-build-tools:
npm install --global --production windows-build-tools
Wait for both the Visual Studio Build Tools and Python installers to both read Successfully installed xxxx. When everything is done it will return you to the command prompt.
Download git (you'll likely want the 64-bit Windows version): https://git-scm.com/download/win
Install git and when prompted choose to install git bash
When prompted for a default text editor select Use the Nano editor by default
When prompted to adjust your path environment, select Use Git from the Windows Command Prompt
When prompted to choose the SSH executable, select Use OpenSSH
When prompted to choose the HTTPS transport backend, select Use the OpenSSL library
When prompted to configure the line ending conversions, select Checkout Windows-style, commit Unix-style line endings
When prompted to configure the terminal emulator to use with Git Bash select Use MinTTY
On the final installation screen select the following options: Enable file system caching and Enable Git Credential Manager and Enable symbolic links
Run
npm install -g decentraland
Documentation
Usage
- Initialize new Decentraland project from working directory:
$ dcl init
- Start local development server and serve your a-minus scene:
$ dcl start
- Upload scene to IPFS:
First, you need to have IPFS installed locally. Download it here. Note: You need to have IPFS daemon running for this to work!
$ dcl upload
- Link Ethereum to the current scene and pin scene to Decentraland IPFS node:
$ dcl link
- Upload scene to IPFS, update IPNS and link Ethereum to the current scene in one go:
$ dcl push
Updating
If you encounter a message Ethereum linker app is outdated! Please run dcl upgrade!
, you need to update the Ethereum linker inside your Decentraland project:
cd your-dcl-project
dcl upgrade
To update the CLI tool:
$ npm update -g decentraland
Building
- Clone the repo:
git clone https://github.com/decentraland/cli.git
- Go into the CLI directory:
cd cli
- Run
npm install
- Link the CLI with:
npm link
dcl
command should now be available.
For CLI tool development, run npm start
in your terminal. The CLI will use the mainnet address for the LANDProxy contract by default. If you want to change it, you can add a .env
file on the root folder, with a LAND_REGISTRY_CONTRACT_ADDRESS
var. It'll use dotenv to fetch the value. You can check the current contract addresses here.
For the Decentraland IPFS node, we are getting the url from here. If you want to set a different url set the IPFS_GATEWAY
var in the .env
file.
You can run CLI commands in development mode like this: npm start -- init
You can do incremental compilations by running npm run watch
, but you will need to run npm run build
at least once before to build the linker-app
, and if you make changes to the linker you will need to re-run npm run build
.