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

快速上手WAX/EOS區(qū)塊鏈游戲開發(fā): EOS DApp開發(fā)入門 | 玩轉(zhuǎn)EOS錢包開發(fā) | EOS PHP開發(fā)包 | Phaser入門
WAX區(qū)塊鏈與 eos 兼容,盡管它被列為 WAXP,但其通證代碼是 WAX 。WAX 區(qū)塊鏈的一些最值得注意的功能是:
- 低排放生態(tài)區(qū)塊鏈(PoS)。
- 智能合約編程:可以用 C++ 語言開發(fā)智能合約。
- 可交易通證(NFT 和 FT)的創(chuàng)建和管理。
- 完整的 JavaScript 支持。
- WAX通證在主流交易所(火幣、Bittrex、Kucoin 等)上架。
- 免費(fèi)交易。
- 交易速度快。
這些功能使 WAX區(qū)塊鏈成為基于資產(chǎn)集合或視頻游戲開發(fā)項(xiàng)目的理想生態(tài)系統(tǒng)。 如果你還不熟悉EOS/WAX區(qū)塊鏈,可以利用這個EOS應(yīng)用開發(fā)教程 快速入門。
1、關(guān)于Phaser
Phaser 是一個用于 HTML5 游戲開發(fā)的免費(fèi)開源框架。這個Phaser教程 提供了在線練習(xí)環(huán)境,可以幫助你快速入門Phser游戲開發(fā)。

Phaser的一些特點(diǎn)如下:
- 支持JavaScript 和 TypeScript 語言。
- 龐大的函數(shù)庫。
- 大量的文檔和示例。
- 龐大的用戶社區(qū)。
- 可以使用套接字開發(fā)客戶端游戲以及客戶端/服務(wù)器游戲。
2、關(guān)于UAL庫
Universal Authenticator Library (UAL) 提供了一個通用接口,用于從任何為 UAL 開發(fā)擴(kuò)展的 WAX 錢包進(jìn)行帳戶身份驗(yàn)證 和交易簽名??梢栽L問這里查看UAL源碼。

EOS/WAX一些可以使用的錢包:
- Anchor
- WAX 云錢包。
- Scatter錢包
利用UAL庫,用戶將能夠從他們最喜歡的錢包登錄 JavaScrip 應(yīng)用程序,并能夠在 WAX 區(qū)塊鏈上簽署交易。
3、UAL-Phaser 集成
在本文中,我將嘗試解釋 UAL 如何與 Phaser 中的游戲代碼連接??梢栽谶@個鏈接下載 Phaser + UAL 模板。
UAL 有一個 HTML 按鈕,負(fù)責(zé)根據(jù)加載的庫加載帶有可能選項(xiàng)的登錄窗口。此按鈕必須被覆蓋。相反,我們將使用我們設(shè)置的外觀從 Phaser 畫布創(chuàng)建一個交互式按鈕。
當(dāng) UAL 被調(diào)用以登錄或簽署交易時,它會在我們游戲的 HTML 模板中準(zhǔn)備的DIV塊的主體中?創(chuàng)建一個窗口。
|
|
在 Phaser 中游戲登錄場景的 create 方法中,我們將創(chuàng)建 UAL 對象并將其與DIV元素和將在登錄過程完成時運(yùn)行 的一個回調(diào)函數(shù)相關(guān)聯(lián)。
我們添加用于登錄的按鈕將通過模擬隱藏的 UAL 對象的按鈕上的單擊事件來做出反應(yīng)。這將出發(fā) UAL 對象的 CALLBACK 函數(shù)執(zhí)行。
回調(diào)函數(shù)將加載游戲中的下一個場景并將用戶對象作為參數(shù)發(fā)送給與錢包的所有其他交互。
4、與錢包的互動
我們可以在區(qū)塊鏈上執(zhí)行讀取或?qū)懭氩僮?。對于區(qū)塊鏈數(shù)據(jù)讀取操作,不需要 UAL 或登錄用戶會話。eosjs庫允許我們創(chuàng)建 與公共 API 服務(wù)的連接,該服務(wù)允許我們執(zhí)行存儲智能合約的表的讀取操作,就好像它是一個數(shù)據(jù)庫。
模板示例代碼展示了如何使用用戶的帳戶名讀取用戶的信息:
|
|
需要注意的是,區(qū)塊鏈上的讀/寫操作是異步的。
實(shí)際上,不可能在區(qū)塊鏈上執(zhí)行寫操作。相反,我們將做的是調(diào)用智能合約的操作,這些操作將寫入或修改其表中的信息。
智能合約的所有call-to-action操作都需要用戶通過錢包進(jìn)行簽名。
在示例中,我們支付了 1 個 WAX通證來開始游戲。這意味著一筆通證合約的交易,即用戶的通證余額將減少 1 個單位, 而收到通證的賬戶余額將增加 1 個單位。作為數(shù)據(jù)修改操作,我們必須調(diào)用執(zhí)行該操作的智能合約的操作,并且我們必須簽署 操作以確保我們是要轉(zhuǎn)移的通證的合法所有者。
WAX通證管理的智能合約名稱為 eosio.token ,調(diào)用的動作將是transfer 。對于此操作,我們需要將源帳戶的名稱、目標(biāo)帳戶、我們 要發(fā)送的通證數(shù)量以及可選文本(例如主題或備忘錄)作為參數(shù)傳遞。
此操作需要使用要發(fā)送的通證所有者的活動密鑰進(jìn)行簽名。
要調(diào)用操作并使用在登錄過程中選擇的錢包對其進(jìn)行簽名,UAL 為我們提供了 signTransaction 方法:
|
|
如果交易成功完成,我們可以繼續(xù)游戲邏輯。
由于表格讀取操作和智能合約操作調(diào)用,我們可以知道玩家的通證余額并促進(jìn)玩家和游戲賬戶之間的交易。
如果我們想從游戲向玩家進(jìn)行交易,我們必須從服務(wù)器端進(jìn)行,以免暴露游戲賬戶的私鑰。
5、WAX測試鏈
在開始在區(qū)塊鏈上開發(fā)游戲之前,建議在測試區(qū)塊鏈(Testnet)上進(jìn)行練習(xí)。為了讓我們的應(yīng)用程序與一個或另一個區(qū)塊鏈 進(jìn)行通信,我們必須指明 API 服務(wù)器的 URL,我們將通過該 URL 與該區(qū)塊鏈進(jìn)行通信。有幾個公共服務(wù)器可用。 可以先使用sdkrender的測試服務(wù)器進(jìn)行測試:
- 測試網(wǎng):https://testnet-wax.3dkrender.com
- 主網(wǎng):https://apiwax.3dkrender.com
要在測試網(wǎng)區(qū)塊鏈上創(chuàng)建測試賬戶,可以使用 Guild Waxsweeden 提供的測試鏈服務(wù)。
原文鏈接:http://blog.hubwiz.com/2022/04/03/wax-phaser-tutorial/

如若轉(zhuǎn)載,請注明出處:http://www.qjsdgw.cn/85699.html