把NFT导入高素质的场景,即能获得100个MANA - 只限于500个最佳的场景
X
你好,请选择
语言:
关闭

以太坊概要

区块链本质上是一个去中心化的数据库,它分布在网络中的各个计算机中。 所有交易按“块”进行分组,并按顺序处理形成一条_链_。

以太坊是最受欢迎的区块链之一。 它与其他(如比特币)的区别在于它使用区块链存储数据而不仅仅保存货币交易记录。以太坊可以存储更复杂的信息用以区分不同类型的通证,甚至可以处理具有特定特征的独特通证。以太坊区块链还可以运行智能合约,可以处理更复杂的基于事先商定事件的交易。

Decentraland 使用以太坊记录数字资产的所有权,包括其它可由 3D 场景读取和响应的其他可交易物品。

区块链并不存储场景状态,以及用户位置或当用户与场景交互时需要实时更改的所有内容,所有这些都存储在每个用户的本地计算机上,或者存储在场景所有者的私有服务器上。由场景的开发者决定哪些信息要存储在区块链中,哪些需要存储在私有服务器中。

钱包

以太坊通证的交易需要钱包来处理。以太坊钱包可以使用各种通证,包括以太、MANA、LAND 或其他可能在 Decentraland 游戏或体验中使用的通证。

有许多钱包提供商现在可以处理 Decentraland 通证。但是在虚拟市场交易或进入 Decentraland 时,需要集成到 Web 浏览器的钱包,因此我们建议您使用:

每个钱包都具有公钥和私钥。公钥的哈希值就是钱包的唯一地址,用于处理交易和识别用户。钱包使用您的私钥对您发送到网络的每笔交易进行签名,来证明它是由您真正发送的。为了防止您忘记密码,私钥还可用于恢复钱包,因此请将私钥保存在安全的地方,并不要给其它任何人。

在 Decentraland 中,由于钱包公钥是唯一的,用户身份可以基于钱包。因此场景可以用它来识别 Decentraland 用户。钱包中还可以保存有为用户提供独特的头像、可穿戴物品、进入限制访问的场景的权限、在游戏中使用的特殊武器等通证。

交易

交易会更改存储在区块链中的信息。典型的交易涉及更改通证的所有者,例如用户 A 将他的 LAND 通证给用户 B ,以换取一定数量的 MANA 通证。然而,在以太坊网络中,交易还可以意味着在不改变其所有者的情况下改变存储的有关通证的信息。例如,更改领地的描述,或将多个地块合并到一个连块土地中。

以太坊主链中发生的所有交易都需要用以太通证支付费用。此费用称为 “矿工” 费用,用以支付给网络上打包交易的矿工。

当进行交易时,可以设置为打包交易您愿意支付的矿工费用。费用越高交易打包的速度越快,因为矿工会优先考虑这些交易。打包交易的市场价格定期动荡,当网络使用率较高时,价格便更高。请确保您支付的价格不低于市场价格,否则您的交易可能会无限期地保留在未经处理的交易池中。

所有交易必须使用以太地址对应的私钥签名,以证明交易是由该地址发出的。

验证交易

区块链交易并不是实时的,需要时间由网络中的节点们“打包”,然后再传播到其余的机器中。网络请求的交易越多,验证交易所需的时间就越长。

简单的说,交易验证的步骤如下:

  1. 所有新的交易,首先会进入一个未验证交易的交易池。
  2. 当网络中有计算机成功解决了算法问题,就会生成一个新的“块”,未验证交易池中的一小部分交易会放入块内,然后把这个新块附加到链的末尾。
  3. 该块会与网络的其他机器共享。每台机器会验证块中的每条交易是否有效,并检查块的哈希以确保它是合法的,然后将其添加到其自己的链中。
  4. 新块会在整个网络中传播。从而使得这项交易达成共识。

Decentraland 的侧链

Decentraland 正致力于创建一种 侧链(一种特殊的区块链),它能够比主以太坊网络更快、更便宜地处理交易。这种侧链将会是游戏内交易的理想选择,它更接近实时且成本非常低。但对于涉及贵重物品的交易,我们仍然会推荐使用主以太坊链,因为它更安全。

每个场景开发人员可以决定是否使用主链、侧链或两者的组合用于不同的交易。

侧链会与以太坊的主链保持互操作。您将能够将主链中的通证加载到侧链中,反之亦然。当通证“退出”回到主链时,发生在侧链中的交易最终会反映到主链中。

从场景中触发交易

您可以在场景代码中触发交易,不管是在以太坊主链还是 Decentraland 的侧链中。 可以在你的场景中设计一个商店来出售通证(如NFT),或者开发一个游戏来奖励游戏物品给完成某个任务的玩家。 用户必须始终在其以太坊客户端上明确批准这些交易。 例如,使用 Metamask 时,Metamask 会在处理这个交易前提示用户进行确认。 阅读[游戏设计文档],了解有关如何将场景集成到区块链。 有关如何实现这些集成的说明,请参见[区块链操作]。

通证类型

可以在以太坊网络中处理不同类型的通证。目前有几个标准用于对具有相同特征的通证进行分组。

在 Decentraland 中,您可以使用通证来表示与您的游戏或体验相关的物品,例如武器或奖杯等。由于通证保存在用户的钱包中,它们可以在场景之间存在,因此每个场景可以选择是否以及如何对现有的通证作出反应。

请阅读我们的博客《什么是NFT》,以便更深入地了解不可互换的通证发展。

可互换通证

如果物品是可替换的,那么它就可以相互替换或交换类似的物品。法币,如美元,是可以替换的。一美元可以使用其它一美元的法币代替。

像比特币,以太坊和 MANA 这样的加密货币都是可互换的,因为一个单位的通证可以换成其他的相同单位通证。

在 Decentraland 场景中,您还可以自定义创建可互换通证,用它们来表示完全相同且相互间没有独特性或可自定义属性的物品。例如,您可以创建一个具有大量相同物品游戏,并用可互换的通证来表示。您还可以用可互换通证来表示通行证,持有的用户可以访问特定的区域或服务。

ERC20 是以太坊网络中可互换通证最常见的标准。 MANA 就是建立在这个标准之上的。

不可互换通证

不可互换通证(或 NFT)相同单位客观上具有不相同的特征。如 Decentraland 的 LAND 地块是 NFT,因为每个地块的位置都是独一无二的。与其他的地块、道路或地区的相邻关系使得位置对通证所有人来说具有重大意义。

在 Decentraland 中,您可以使用 NFT 来表示游戏中的物品,例如头像、可穿戴设备、武器和其他物品。 例如,您可以使用同一种类型 NFT 来表示游戏中的所有武器,通过在这些 NFT 中设置不同的属性来区分它们。

NFT 提供了可证明稀缺的数字商品。由于区块链可以实现可证明的稀缺性,买家可以确信,他们购买的艺术品确实是稀缺的。这赋予了数字艺术真正的价值。

存储在区块链中的游戏物品记录着其历史。这些历史可以使一件物品更有价值,例如,曾被用来完成伟大的成就或者被一个受人钦佩的名人使用过。

根据描述通证的合约,每个 NFT 可以是不可变的,或者您可以允许用户根据他们的选择自定义和更改有关它们的某些特征。

ERC721 是以太坊网络中不可替代的通证最受欢迎的标准。LAND 通证符合 ERC721 标准。

智能合约

合约由代码(方法)和数据(状态)组成,它们位于以太坊区块链的特定地址中。

要调用合同中的方法,需要将交易的 to 字段设置为合同地址。由合约方法执行的代码可以包括对其他合约的调用,这些代码会触发将 from 字段设置为合约地址的更多交易。

合约自己不能单独触发任何操作,或基于时间事件触发任何操作。智能合约执行的所有操作总是来自调用合约函数的交易。 您可以使用智能合约根据自定义条件调整交易。 例如,用户可以对游戏的结果下注,一旦游戏结果通知给合约,就会发生相应的支付。 智能合约的代码对于想要阅读它的人是公开的。 这允许开发人员创建可公开验证的规则。 所有通证都由智能合约定义,合约指定其特征以及可以使用它完成的任务。 Decentraland 已经编写并维护了许多智能合约。 LAND 和 MANA 通证分别是由 LANDregistryMANAtoken 合约定义。

您可以在Decentraland 智能合约中找到 Decentraland 创建的每份合约的地址。

您也可以阅读每个合约的完整代码,因为它是区块链的公共信息。您可以在Etherscan 上按名称找到合约,并查看合约内容。

dApps

dApps(去中心化应用程序)是基于智能合约和区块链构建的应用程序。

dApp 可以像验证您的钱包是否具有某个通证来决定是否允许您使用服务这么简单。也可以是具有自己的 UI 的完全成熟的应用程序,例如 Decentraland 的虚拟市场。

如果您想基于 Decentrlanad 构建自己的 dApp,请参阅创建 dApp

Ropsten 测试网络

在部署智能合约、创建新类型的通证或上传依赖于以太坊网交易的 Decentraland 场景之前,您需要确保它没有恶意用户可以利用的漏洞。

Ropsten 测试网络是以太坊的替代版本,专门用于运行测试。

Ropsten 网络中的通证没有实际价值,在这里您可以犯错却不用冒任何实际风险。可以使用以下网址免费得到相应的通证:

  • Ropsten Ether faucet (https://faucet.ropsten.be/)
  • Ropsten MANA faucet (https://faucet.decentraland.today/)

如果您正在开发一个触发交易的场景,那么在 Ropsten 网络中测试这些事务是免费的,因为您发送的通证没有价值。在主网中,您执行的每项测试交易至少必须支付以太币的交易费。

一旦您确信您的代码按预期工作且没有漏洞,您就可以将它部署到以太坊主网。

区块链重组

有时,会有多台机器在大致相同的时间创建新块。这是一个问题,因为这会将链分成两个可能相互矛盾的分叉版本。当分叉出现时,以太坊通过始终优先考虑最长的链并丢弃任何较短的链来解决这个问题。尽管两条链可以同时存在,但很快两条链中的一条会增加新的块,并在长度上超过另一条。由于“挖矿”需要花费时间,竞争链变得越来越难以保持彼此完美同步的增长。迟早会有链胜出。

当一条链超过另一条链并且争议得到解决时,采用较短链的机器需要进行调整。这就是所谓的“重组”。 他们需要从他们所在的分支中回滚块中包含的所有事务,直到它们到达分叉出现时的点。然后在认为合法的较长分支中添加新块。

回滚交易可能会使确认过的交易返回待处理交易池,直到被矿工再次“捡起”(或被丢弃)。 为这些交易支付的任何交易费也会回滚。

由于上面解释的机制,刚刚添加到链末尾的块很有可能被回滚。 随着后续块被添加到链的末端,进一步返回区块链中的块变得越来越不可能被回滚,因为这将需要更大的重组。 因此,在交易之后添加到链末尾的每个新块也可以视为对该交易的确认。

在创建使用区块链外的信息的应用程序(或场景)时,您应该注意链的重组。只有在一定数量的确认后才能将交易视为已验证,并且交易不再位于链的最后。

交易时使用多个确认可以让应用更加稳固,但是却需要很长时间等待。 使用很少的确认,数据更改会更快地反应出来,但有时会出现重组时撤消交易的问题。如果这些交易在场景中引发了链下数据的变化,那么您可能还需要以某种方式回退这些结果。