蜡像区块链NFT游戏开发简介

蜡像区块链NFT游戏开发简介

WAX是一款兼容eos的区块链,交易速度快,免手续费,完善的智能合约支持,特别适合区块链NFT游戏的开发。在本教程中,我们将学习如何使用Phaser开发一个基于WAX区块链的小NFT游戏。如果你是一个PHP开发人员,你可以使用这个PHP开发工具包来访问蜡区块链。

WAX/EOS区块链游戏开发快速入门:EOS DApp开发入门|玩EOS钱包开发| EOS PHP开发工具包Phaser入门

蜡区块链与eos兼容。虽然它被列为WAXP,但它的密码是WAX。蜡像区块链的一些最显著的特征是:

低排放生态区块链。智能合约编程:可以用C语言开发智能合约。可交易许可证的建立和管理(NFT和英国金融时报》)。完整的JavaScript支持。WAX Pass在主流交易所上架(火币,Bittrex,Kucoin等。).自由贸易。交易速度快。这些功能使WAX区块链成为基于资产收集或视频游戏开发目的理想生态系统。如果你不熟悉EOS/WAX区块链,你可以利用这个EOS应用程序开发教程快速入门。

1、关于Phaser

Phaser是一个用于HTML5游戏开发的免费开源框架这篇Phaser教程提供了一个在线练习环境,可以帮助你快速入门Phser游戏开发。

Phaser的一些特性如下:

支持JavaScript和TypeScript语言。庞大的函数库。大量的文献和实例。庞大的用户群体。你可以使用套接字来开发客户端游戏和客户端/服务器游戏。00-1010通用认证器库(UAL)为来自任何为UAL开发和扩展的WAX钱包的账户认证和交易签名提供通用接口。你可以访问这里查看UAL源代码

EOS/WAX一些可以使用的钱包:

AnchorWAX云钱包。分散钱包利用UAL图书馆,用户将能够从他们最喜欢的钱包登录到JavaScrip应用程序,并在WAX区块链上签署交易。

00-1010在本文中,我将尝试解释UAL如何在Phaser中与游戏代码连接。你可以通过这个链接下载phaseual模板

UAL有一个HTML按钮,负责根据加载的库加载带有可能选项的登录窗口。此按钮必须被覆盖。相反,我们将使用我们设置的外观从Phaser画布创建一个交互式按钮。

当调用UAL登录或签署交易时,它会在我们游戏的HTML模板中准备的DIV块的主体中创建一个窗口。

一个

2

10

11

12

13

14

!声明文档类型

文本标记语言

meta charset=\'utf-8\' /

风格。ual-button-gen {

显示:无;

}

/风格

/头

身体

p id=\'ual-p\'/p

/body

/html

在Phaser中游戏登录场景的create方法中,我们将创建UAL对象,并将其与DIV元素和一个回调函数相关联,该函数将在登录过程完成时运行。

我们添加的登录按钮将通过模拟隐藏的UAL对象的按钮上的点击事件来做出反应。这将从UAL对象的回调函数中执行。

回调函数将加载游戏中的下一个场景,并将用户对象作为参数发送给所有其他与钱包的交互。

00-1010我们可以在区块链上执行读或写操作。对于区块链数据读取操作,不需要UAL或登录用户会话。eosjs库允许我们创建与公共API服务的连接,这允许我们读取存储智能合同的表,就像它是一个数据库一样。

示例代码显示了如何使用用户的帐户名来读取用户信息

一个

2

异步函数readFunds(用户)

常量帐户?await rpc.get_account(用户);

if (account.account_name未定义)

抛出错误(\'读取错误!\');

return account . core _ liquid _ balance;

}

应当注意,区块链上的读/写操作是异步的。

实际上,在区块链上执行写操作是不可能的。相反,我们要做的是调用智能合约的操作,它将写入或修改它们的表中的信息。

智能合约的所有行动号召操作都需要用户通过钱包进行签名。

在这个例子中,我们支付了1张蜡票来开始游戏。这意味着一个通行证合约的交易,即用户的通行证余额将减少1个单位,而收到的通行证的账户余额将增加1个单位。作为数据修改操作,我们必须调用执行该操作的智能合约的操作,并且我们必须对该操作进行签名,以确保我们是要转移的通行证的合法所有者

WAX Pass管理的智能合约的名字是eosio.token,调用的动作会是transfer。对于这个操作,我们需要传递源帐户的名称、目标帐户、我们要发送的次数以及可选文本(例如主题或备忘录)作为参数。

此操作需要使用要发送的通行证的所有者的活动密钥进行签名。

为了调用操作并使用登录过程中选择的钱包进行签名,UAL为我们提供了signTransaction方法:

一个

2

10

11

12

13

14

15

16

17

18

19

20

21

22

wait scenea . logged inuser . sign transaction(

{

动作: [。

帐户: \'eosio.token \',

名称: \'转让\':

授权:

actor: SceneA.nameUser用户,

权限:“活动”;

}],

数据:

来自: SceneA.nameUser,

到: \'3dkrenderwax \',

数量: \'1.0000000蜡\':

memo:“这行得通!”;

}

}]

},

{

blocksBehind: 3,

expireSeconds: 30

}

);

如果交易成功完成,我们可以继续游戏逻辑

因为读表操作和智能合约操作调用,可以知道玩家的pass余额,促进玩家和游戏账号的交易。

如果要从游戏到玩家进行交易,必须从服务器端进行,以免暴露游戏账号的私钥。

00-1010开始在区块链上开发游戏之前,建议在test区块链(Testnet)上练习一下。为了让我们的应用程序与一个或另一个区块链通信,我们必须指出API服务器的URL,我们将通过它与区块链通信。有几个公共服务器可用。您可以首先使用sdkrender的测试服务器进行测试:

测试网:https://testnet-wax.3dkrender.com主网:https://apiwax.3dkrender.com可以使用公会Waxsweeden提供的测试链服务,在测试网区块链上创建一个测试账号。

原文链接:http://blog.hubwiz.com/2022/04/03/wax-phaser-tutorial/

版权声明:区块链技术及应用 发表于 2022-04-27 16:55:20。
转载请注明:蜡像区块链NFT游戏开发简介 | 零零洞洞

暂无评论

暂无评论...