DCL 教程
什么是 Decentraland (DCL)?
Decentraland 是一个建立在以太坊区块链之上的去中心化虚拟现实平台,它允许用户在一个完全沉浸式的数字环境中进行互动、创造和商业活动。在这个虚拟世界中,用户可以通过购买代表虚拟土地的不可替代代币 (NFT),即LAND,来获得所有权。这些 LAND 可以被用来开发各种体验,包括游戏、艺术画廊、商业店铺、互动空间等等。 Decentraland 使用户能够真正拥有和控制他们的数字资产,并积极参与平台的治理和发展。
Decentraland 的核心理念是赋予用户对其数字资产的完全所有权,这与传统的中心化游戏平台形成鲜明对比。在 Decentraland 中,用户对他们的 LAND 和在其上构建的内容拥有绝对的控制权,无需担心审查或平台政策的更改。这种所有权是通过区块链技术和智能合约来实现的,确保了透明度和安全性。 Decentraland 旨在创建一个由用户驱动的社区,用户可以通过 Decentraland DAO(去中心化自治组织)对平台的关键决策进行投票,从而塑造虚拟世界的未来。该DAO负责管理LAND的政策、内容审核以及MANA代币的使用等关键参数。
Decentraland 生态系统由两种主要的加密货币驱动:MANA 和 LAND。MANA 是一种 ERC-20 代币,用于购买 LAND、虚拟商品和服务,以及参与 Decentraland DAO 的治理。LAND 是一种 ERC-721 代币,代表 Decentraland 虚拟世界中的一块土地,每块 LAND 都是独一无二的 NFT,具有唯一的坐标。用户可以使用 MANA 来竞标 LAND,或者直接在市场上购买已经存在的 LAND。 拥有 LAND 的用户可以自由地在其土地上构建任何内容,从而创造出各种各样的体验,并将其货币化。
Decentraland 的核心组件
Decentraland 生态系统主要由以下几个关键组件组成,这些组件共同构成了其独特的虚拟世界体验:
- LAND: 这是 Decentraland 中的数字土地,以 ERC-721 标准的非同质化代币(NFT)形式存在。LAND 被分割成 16x16 米的地块,坐标化管理,使得每一块土地都是独一无二的。用户可以购买、出售、租赁和开发这些地块,真正拥有虚拟世界的一部分。LAND 的所有者拥有完全的控制权,可以在其土地上自由地构建任何他们想要的东西,例如互动游戏、虚拟商店、沉浸式艺术画廊、主题公园,甚至是整个虚拟城市,创造无限的可能性。土地的稀缺性也使得其价值随着Decentraland生态的发展而增长。
- MANA: 这是 Decentraland 的原生加密货币,是一种基于以太坊的 ERC-20 代币。MANA 在生态系统中扮演着至关重要的角色,用于购买 LAND、支付虚拟服务(例如租赁土地或购买游戏内的物品),以及参与 Decentraland 的治理决策。MANA 持有者可以通过 DAO(去中心化自治组织)对平台的未来发展方向进行投票,例如对新功能的提案进行表决。MANA 可以在主要的加密货币交易所进行交易,方便用户获取和使用。
- Wearables: 用户可以自定义他们的虚拟形象,穿着各种各样的可穿戴设备,充分展现个性化。Wearables 同样以 NFT 的形式存在,通常基于 ERC-721 或 ERC-1155 标准,保证了其独特性和稀缺性,可以在 Decentraland 的市场上进行交易。Wearables 可以是服装、配饰(例如帽子、眼镜、鞋子),甚至可以改变虚拟形象的外观(例如发型、肤色),让用户打造独一无二的数字身份。一些稀有的 Wearables 甚至具有收藏价值,成为虚拟世界中的身份象征。
- Decentraland Marketplace: 这是 Decentraland 的官方市场,一个去中心化的交易平台,用户可以在这里安全便捷地购买和出售 LAND、Wearables 和其他虚拟资产。市场提供了一个用户友好的界面,用户可以浏览各种各样的商品,按照类别、价格和稀有度进行筛选,并使用 MANA 进行交易。智能合约确保了交易的安全性和透明度,保护买卖双方的权益。市场还集成了拍卖功能,方便用户参与竞拍稀有资产。
- Decentraland SDK (软件开发工具包): 这是一个功能强大的工具集,允许开发者创建内容和应用,构建引人入胜的虚拟体验。使用 SDK,开发者可以构建各种互动体验,包括多人在线游戏、互动艺术装置、虚拟社交空间、教育应用等。SDK 提供了一套丰富的 API 和组件,可以简化开发过程,例如 3D 模型导入、动画控制、音频播放、用户交互处理等。开发者可以使用 JavaScript 或 TypeScript 等编程语言,快速构建复杂的场景和互动逻辑。SDK 支持自定义脚本和智能合约集成,允许开发者创造更加复杂和个性化的体验。
如何开始使用 Decentraland
- 创建钱包: 要进入 Decentraland,您需要一个与以太坊区块链兼容的数字钱包。 MetaMask 是一个流行的选择,它是一个浏览器插件和移动应用程序,允许您安全地存储、管理您的以太坊资产(包括 MANA 和 LAND),并方便地与去中心化应用程序 (DApps) 进行互动。 其他钱包选择包括 Ledger 和 Trezor(硬件钱包,提供更高的安全性),以及 Trust Wallet 和 Coinbase Wallet(移动钱包)。 在选择钱包时,请务必进行充分的研究,并确保您理解其安全特性和使用方法。创建钱包后,请务必备份您的助记词,并将其安全地存储在离线环境中,以防丢失或被盗。
- 连接钱包: 访问 Decentraland 的官方网站 (decentraland.org),然后按照网站上的指示连接您的 MetaMask 或其他兼容的以太坊钱包。 通常,您需要点击网站上的“连接钱包”按钮,然后在您的钱包中确认连接请求。 确保您连接到正确的网络(通常是以太坊主网),并警惕任何钓鱼网站,始终仔细检查网址。
- 创建虚拟形象: 在进入 Decentraland 虚拟世界之前,您需要创建一个独一无二的虚拟形象,代表您在 Decentraland 中的身份。 您可以自定义虚拟形象的各个方面,包括性别、肤色、发型、眼睛、服装和配饰等。 Decentraland 提供了丰富的定制选项,让您可以创建完全符合您个性的虚拟形象。 您还可以购买和使用各种 NFT 服装和配饰来进一步个性化您的形象。 请仔细选择您的虚拟形象,因为它将成为您在 Decentraland 中的永久身份。
- 探索 Decentraland: 一旦您创建了您的虚拟形象,您就可以开始探索 Decentraland 的广阔虚拟世界了! 您可以使用键盘和鼠标(在桌面设备上)或触摸屏(在移动设备上)来控制您的虚拟形象的移动。 您可以步行、跑步或传送,探索各种场景,包括城市、公园、艺术画廊、赌场和各种活动场所。 与其他用户互动是 Decentraland 体验的重要组成部分。 您可以通过聊天、语音或表情与其他玩家交流,参加活动,并建立社交关系。 仔细观察周围环境,您可能会发现隐藏的宝藏或惊喜!
- 购买 LAND (可选): 如果您希望在 Decentraland 中拥有自己的虚拟土地,您可以在 Decentraland 的市场上购买 LAND。 LAND 是 Decentraland 中不可替代的代币 (NFT),代表对特定地块的所有权。 LAND 的价格取决于其地理位置、大小、邻近程度以及稀缺性等因素。 您可以使用 MANA(Decentraland 的原生代币)或其他加密货币购买 LAND。 在购买 LAND 之前,请仔细研究市场趋势,并考虑您的投资目标。 购买 LAND 后,您就可以在上面建造各种各样的内容和体验。
- 开发 LAND (可选): 如果您拥有 LAND,您可以使用 Decentraland SDK(软件开发工具包)来开发您的土地,并将其转化为独特的体验。 Decentraland SDK 允许您创建各种各样的内容和应用程序,包括互动游戏、虚拟商店、艺术画廊、教育空间、音乐场所和社交中心。 您可以使用各种 3D 模型、纹理、音频和脚本来创建引人入胜和具有吸引力的体验。 开发 LAND 需要一定的技术知识,但 Decentraland 社区提供了丰富的资源和支持,帮助您入门。 您还可以聘请专业的 Decentraland 开发者来帮助您实现您的愿景。 将您的 LAND 打造成为一个受欢迎的目的地,吸引其他用户前来参观和互动。
Decentraland SDK 的入门
Decentraland SDK 是构建 Decentraland 虚拟世界体验内容的关键工具。它提供了一套完整的 API 和工具,允许开发者创建交互式场景、游戏和应用程序。以下是一些入门指南,帮助你开始使用 Decentraland SDK 进行开发:
-
安装 Decentraland SDK:
你需要全局安装 Decentraland SDK。推荐使用 npm (Node Package Manager) 或者 yarn 来安装 SDK。全局安装允许你在任何目录下使用
dcl
命令:使用 npm:
npm install -g decentraland
使用 yarn:
yarn global add decentraland
安装完成后,你可以在终端输入
dcl version
来验证 SDK 是否成功安装,并查看当前 SDK 的版本信息。 -
创建场景:
创建一个新的场景,使用以下命令。这个命令会自动创建一个包含必要文件和目录结构的场景模板,极大地简化了项目初始化流程:
dcl init
这个命令会创建一个包含基本场景结构的新目录,包括
scene.
(场景配置文件),src/scene.ts
(场景逻辑代码),package.
(项目依赖管理) 等文件。你可以指定一个目录名来创建场景,例如dcl init my-scene
。 -
编辑场景:
进入场景目录,并使用你喜欢的代码编辑器(如 VS Code、Atom 或 Sublime Text)打开
src/scene.ts
文件。scene.ts
文件是场景的核心,包含了场景的逻辑代码,例如创建实体、添加组件、处理用户交互等。 -
添加实体:
使用 SDK 的 API 来添加实体到场景中。实体是 Decentraland 世界中的基本构建块,可以代表任何对象,如立方体、球体、人物等。通过添加不同的组件,可以定义实体的外观、行为和交互方式。例如,你可以添加一个立方体:
import { Entity, BoxShape, Transform, engine } from '@dcl/sdk/ecs' function createCube(x: number, y: number, z: number) { const cubeEntity: Entity = engine.addEntity() BoxShape.create(cubeEntity) Transform.create(cubeEntity, { position: { x, y, z }, }) } createCube(8, 1, 8) // 在 (8, 1, 8) 位置创建一个立方体
这段代码首先导入了必要的模块,包括
Entity
(实体),BoxShape
(立方体形状),Transform
(变换) 和engine
(引擎)。然后,定义了一个createCube
函数,该函数创建一个新的实体,并为其添加BoxShape
组件和一个Transform
组件,用于定义立方体的位置。调用createCube
函数在 (8, 1, 8) 的位置创建一个立方体。除了
BoxShape
,Decentraland SDK 还提供了多种其他的内置形状,如SphereShape
(球体),PlaneShape
(平面),CylinderShape
(圆柱体) 等。你还可以导入自定义的 3D 模型,并将其添加到场景中。 -
预览场景:
使用以下命令来预览你的场景:
dcl start
这个命令会在你的浏览器中启动一个本地服务器,通常在
http://localhost:3000
访问。你可以访问它来查看你的场景,并进行实时的调试和修改。dcl start
命令还支持一些可选参数,例如--port
可以指定服务器的端口号,--watch
可以启用自动刷新功能,当代码发生改变时,浏览器会自动刷新场景。 -
部署场景:
如果你对你的场景感到满意,你可以将其部署到 Decentraland。部署场景需要 MANA 和土地。你需要使用 Decentraland 的 CLI 工具来部署你的场景。
部署之前,你需要确保已经购买了 Decentraland 土地,并且拥有足够的 MANA 支付部署费用。部署过程包括以下几个步骤:
-
构建场景:
使用
dcl build
命令构建场景。 -
登录 Decentraland:
使用
dcl login
命令登录你的 Decentraland 账户。 -
部署场景:
使用
dcl deploy
命令部署场景。
部署完成后,你的场景将在 Decentraland 世界中公开展示,其他用户可以访问和体验。
-
构建场景:
使用
Decentraland 的未来
Decentraland 作为一个去中心化的虚拟世界,拥有巨大的潜力,其底层架构建立在区块链技术之上,确保了资产所有权的透明性和不可篡改性。随着技术的不断发展,包括图形渲染技术的提升、VR/AR设备的普及以及区块链性能的增强,Decentraland 将会变得更加沉浸式和互动性更强。用户体验的优化也将是关键,例如更自然的交互方式、更便捷的内容创建工具等。
未来,我们可以期待看到更多创新性的应用和服务在 Decentraland 上涌现。例如,虚拟活动将不再局限于简单的线上聚会,而是可能演变为具备高度互动性的演唱会、艺术展览、商业发布会等。远程办公将在虚拟办公室中实现,提供更真实的协作体验。教育领域也将受益于沉浸式学习环境,例如虚拟实验室、历史场景重现等。娱乐方面,游戏、电影、音乐等内容将与Decentraland的虚拟土地和资产相结合,创造全新的娱乐形式。
Decentraland 正在构建一个开放、自由、由用户驱动的数字世界,为用户提供无限的可能性。这种开放性鼓励了创新和实验,吸引了开发者、艺术家、企业家和用户共同参与生态系统的建设。社区治理模式也赋予用户更大的权力,决定平台的发展方向。未来,Decentraland有望成为一个繁荣的数字经济体,为用户创造价值和机会。