亚洲 欧洲 日韩 综合色天使,久久国产Av无码一区二区老太,人妻醉酒被下药迷昏带到诊所 ,亚州老熟女A片AV色欲小说

開(kāi)發(fā)一個(gè)區(qū)塊鏈app多少錢(qián)(區(qū)塊鏈app開(kāi)發(fā)多久時(shí)間)

WAX是 eos 兼容區(qū)塊鏈,由于其交易速度快、免手續(xù)費(fèi)、完善的智能合約 支持等特性,特別適合區(qū)塊鏈NFT游戲的開(kāi)發(fā)。在這個(gè)教程中,我們將學(xué)習(xí)如何利用 Phaser開(kāi)發(fā)一個(gè)基于WAX區(qū)塊鏈的NFT小游戲。如果你是PHP開(kāi)發(fā)者,可以利用 這個(gè)PHP開(kāi)發(fā)包訪問(wèn)WAX區(qū)塊鏈。

開(kāi)發(fā)一個(gè)區(qū)塊鏈app多少錢(qián)(區(qū)塊鏈app開(kāi)發(fā)多久時(shí)間)

快速上手WAX/EOS區(qū)塊鏈游戲開(kāi)發(fā): EOS DApp開(kāi)發(fā)入門(mén) | 玩轉(zhuǎn)EOS錢(qián)包開(kāi)發(fā) | EOS PHP開(kāi)發(fā)包 | Phaser入門(mén)

WAX區(qū)塊鏈與 eos 兼容,盡管它被列為 WAXP,但其通證代碼是 WAX 。WAX 區(qū)塊鏈的一些最值得注意的功能是:

  • 低排放生態(tài)區(qū)塊鏈(PoS)。
  • 智能合約編程:可以用 C++ 語(yǔ)言開(kāi)發(fā)智能合約。
  • 可交易通證(NFT 和 FT)的創(chuàng)建和管理。
  • 完整的 JavaScript 支持。
  • WAX通證在主流交易所(火幣、Bittrex、Kucoin 等)上架。
  • 免費(fèi)交易。
  • 交易速度快。

這些功能使 WAX區(qū)塊鏈成為基于資產(chǎn)集合或視頻游戲開(kāi)發(fā)項(xiàng)目的理想生態(tài)系統(tǒng)。 如果你還不熟悉EOS/WAX區(qū)塊鏈,可以利用這個(gè)EOS應(yīng)用開(kāi)發(fā)教程 快速入門(mén)。

1、關(guān)于Phaser

Phaser 是一個(gè)用于 HTML5 游戲開(kāi)發(fā)的免費(fèi)開(kāi)源框架。這個(gè)Phaser教程 提供了在線(xiàn)練習(xí)環(huán)境,可以幫助你快速入門(mén)Phser游戲開(kāi)發(fā)。

開(kāi)發(fā)一個(gè)區(qū)塊鏈app多少錢(qián)(區(qū)塊鏈app開(kāi)發(fā)多久時(shí)間)

Phaser的一些特點(diǎn)如下:

  • 支持JavaScript 和 TypeScript 語(yǔ)言。
  • 龐大的函數(shù)庫(kù)。
  • 大量的文檔和示例。
  • 龐大的用戶(hù)社區(qū)。
  • 可以使用套接字開(kāi)發(fā)客戶(hù)端游戲以及客戶(hù)端/服務(wù)器游戲。

2、關(guān)于UAL庫(kù)

Universal Authenticator Library (UAL) 提供了一個(gè)通用接口,用于從任何為 UAL 開(kāi)發(fā)擴(kuò)展的 WAX 錢(qián)包進(jìn)行帳戶(hù)身份驗(yàn)證 和交易簽名??梢栽L問(wèn)這里查看UAL源碼。

開(kāi)發(fā)一個(gè)區(qū)塊鏈app多少錢(qián)(區(qū)塊鏈app開(kāi)發(fā)多久時(shí)間)

EOS/WAX一些可以使用的錢(qián)包:

  • Anchor
  • WAX 云錢(qián)包。
  • Scatter錢(qián)包

利用UAL庫(kù),用戶(hù)將能夠從他們最喜歡的錢(qián)包登錄 JavaScrip 應(yīng)用程序,并能夠在 WAX 區(qū)塊鏈上簽署交易。

3、UAL-Phaser 集成

在本文中,我將嘗試解釋 UAL 如何與 Phaser 中的游戲代碼連接。可以在這個(gè)鏈接下載 Phaser + UAL 模板。

UAL 有一個(gè) HTML 按鈕,負(fù)責(zé)根據(jù)加載的庫(kù)加載帶有可能選項(xiàng)的登錄窗口。此按鈕必須被覆蓋。相反,我們將使用我們?cè)O(shè)置的外觀從 Phaser 畫(huà)布創(chuàng)建一個(gè)交互式按鈕。

當(dāng) UAL 被調(diào)用以登錄或簽署交易時(shí),它會(huì)在我們游戲的 HTML 模板中準(zhǔn)備的DIV塊的主體中?創(chuàng)建一個(gè)窗口。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8" />
    <style>
      .ual-button-gen {
        display: none;
      }
    </style>
  </head>
  <body>
    <div id="ual-div"></div>
  </body>
</html>

在 Phaser 中游戲登錄場(chǎng)景的 create 方法中,我們將創(chuàng)建 UAL 對(duì)象并將其與DIV元素和將在登錄過(guò)程完成時(shí)運(yùn)行 的一個(gè)回調(diào)函數(shù)相關(guān)聯(lián)。

我們添加用于登錄的按鈕將通過(guò)模擬隱藏的 UAL 對(duì)象的按鈕上的單擊事件來(lái)做出反應(yīng)。這將出發(fā) UAL 對(duì)象的 CALLBACK 函數(shù)執(zhí)行。

回調(diào)函數(shù)將加載游戲中的下一個(gè)場(chǎng)景并將用戶(hù)對(duì)象作為參數(shù)發(fā)送給與錢(qián)包的所有其他交互。

4、與錢(qián)包的互動(dòng)

我們可以在區(qū)塊鏈上執(zhí)行讀取或?qū)懭氩僮?。?duì)于區(qū)塊鏈數(shù)據(jù)讀取操作,不需要 UAL 或登錄用戶(hù)會(huì)話(huà)。eosjs庫(kù)允許我們創(chuàng)建 與公共 API 服務(wù)的連接,該服務(wù)允許我們執(zhí)行存儲(chǔ)智能合約的表的讀取操作,就好像它是一個(gè)數(shù)據(jù)庫(kù)。

模板示例代碼展示了如何使用用戶(hù)的帳戶(hù)名讀取用戶(hù)的信息:

1
2
3
4
5
6
async function readFunds(user)
    const account ? await rpc.get_account(user);
    if (account.account_name undefined) 
        throw Error("Reading error!");
    return account.core_liquid_balance;
}

需要注意的是,區(qū)塊鏈上的讀/寫(xiě)操作是異步的。

實(shí)際上,不可能在區(qū)塊鏈上執(zhí)行寫(xiě)操作。相反,我們將做的是調(diào)用智能合約的操作,這些操作將寫(xiě)入或修改其表中的信息。

智能合約的所有call-to-action操作都需要用戶(hù)通過(guò)錢(qián)包進(jìn)行簽名。

在示例中,我們支付了 1 個(gè) WAX通證來(lái)開(kāi)始游戲。這意味著一筆通證合約的交易,即用戶(hù)的通證余額將減少 1 個(gè)單位, 而收到通證的賬戶(hù)余額將增加 1 個(gè)單位。作為數(shù)據(jù)修改操作,我們必須調(diào)用執(zhí)行該操作的智能合約的操作,并且我們必須簽署 操作以確保我們是要轉(zhuǎn)移的通證的合法所有者。

WAX通證管理的智能合約名稱(chēng)為 eosio.token ,調(diào)用的動(dòng)作將是transfer 。對(duì)于此操作,我們需要將源帳戶(hù)的名稱(chēng)、目標(biāo)帳戶(hù)、我們 要發(fā)送的通證數(shù)量以及可選文本(例如主題或備忘錄)作為參數(shù)傳遞。

此操作需要使用要發(fā)送的通證所有者的活動(dòng)密鑰進(jìn)行簽名。

要調(diào)用操作并使用在登錄過(guò)程中選擇的錢(qián)包對(duì)其進(jìn)行簽名,UAL 為我們提供了 signTransaction 方法:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
await SceneA.loggedInuser.signTransaction(
    {
        actions: [ .
            account: "eosio.token",
            name: "transfer",
            authorization: [ .
                actor: SceneA.nameUser,
                permission: "active";
            }],
            data:
                from: SceneA.nameUser,
                to: "3dkrenderwax",
                quantity: "1.00000000 WAX",
                memo: "This works!";
            }
        }]
    },
    {
        blocksBehind: 3,
        expireSeconds: 30
    }
);

如果交易成功完成,我們可以繼續(xù)游戲邏輯。

由于表格讀取操作和智能合約操作調(diào)用,我們可以知道玩家的通證余額并促進(jìn)玩家和游戲賬戶(hù)之間的交易。

如果我們想從游戲向玩家進(jìn)行交易,我們必須從服務(wù)器端進(jìn)行,以免暴露游戲賬戶(hù)的私鑰。

5、WAX測(cè)試鏈

在開(kāi)始在區(qū)塊鏈上開(kāi)發(fā)游戲之前,建議在測(cè)試區(qū)塊鏈(Testnet)上進(jìn)行練習(xí)。為了讓我們的應(yīng)用程序與一個(gè)或另一個(gè)區(qū)塊鏈 進(jìn)行通信,我們必須指明 API 服務(wù)器的 URL,我們將通過(guò)該 URL 與該區(qū)塊鏈進(jìn)行通信。有幾個(gè)公共服務(wù)器可用。 可以先使用sdkrender的測(cè)試服務(wù)器進(jìn)行測(cè)試:

  • 測(cè)試網(wǎng):https://testnet-wax.3dkrender.com
  • 主網(wǎng):https://apiwax.3dkrender.com

要在測(cè)試網(wǎng)區(qū)塊鏈上創(chuàng)建測(cè)試賬戶(hù),可以使用 Guild Waxsweeden 提供的測(cè)試鏈服務(wù)。


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

本文內(nèi)容由互聯(lián)網(wǎng)用戶(hù)自發(fā)貢獻(xiàn),該文觀點(diǎn)僅代表作者本人。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請(qǐng)發(fā)送郵件至 sumchina520@foxmail.com 舉報(bào),一經(jīng)查實(shí),本站將立刻刪除。
如若轉(zhuǎn)載,請(qǐng)注明出處:http://www.qjsdgw.cn/85699.html