什麼是dApp? Zilliqa dApp開發者入門說明書

dApp 開發入門

本節旨在讓開發人員了解如何開始在Zilliqa 上進行開發。

我們試圖使本指南簡潔,從而使其對於沒有區塊鏈開發經驗的開發人員來說足夠簡單。由於許多應用程序開發人員都是javascript 開發人員,所以我們將在代碼片段示例中使用javascript。 Zilliqa 研究院目前在 zilliqa-js 中積極維護官方Javascript SDK,我們將在示例中使用它。

什麼是dApp?

去中心化應用程序(“dApps”)是與區塊鏈上的智能合約交互的應用程序。由於Zilliqa 區塊鍊是一個不由單個實體託管的分散網絡,因此位於區塊鏈上的應用程序是去中心化的。

應用程序可以具有面向用戶的組件(“客戶端”),可以是Web 應用程序或移動應用程序。這些應用程序可以與Zilliqa 區塊鏈上的智能合約進行交互。

Zilliqa 區塊鏈的入口在於RPC 接口。 SDK 不是你與區塊鏈交互的強制性要求,但它們確實讓你的開發更加輕鬆。

看到區塊鏈實體上的0x1、0x2 了嗎?這些是地址

地址是區塊鏈上實體的標識符。區塊鏈上的實體可以是用戶或合約。

地址

Zilliqa 目前支持兩種地址格式。

  • ByStr20:20 字節的十六進製字符串(例如0x573EC96638C8bB1c386394602E1460634F02aDdA)
  • bech32:一個 bech32 帶有一個可讀性更強的zil 前綴(例如zil12ulvje3ceza3cwrrj3szu9rqvd8s9tw69c978p)

這種設計背後的原因是為了防止與以太坊地址混淆。更詳細的地址解釋請參考 本帖

const { toBech32Address, toChecksumAddress } = require(“@zilliqa-js/crypto”); // 非校驗地址(不會被區塊鏈接受) const address=”573EC96638C8BB1C386394602E1460634F02ADDA”; // 校驗和 ByStr20 const checksummedAddresses = toChecksumAddress(address); // 返回 ‘0x573EC96638C8bB1c386394602E1460634F02aDdA’ const bech32_address = toBech32Address(address); // 返回 zil12ulvje3ceza3cwrrj3szu9rqvd8s9tw69c978p

我們強烈建議開發人員使用bech32 格式的地址進行代幣傳輸。這可以防止用戶將Zilliqa 地址誤認為以太坊地址。出於安全目的,所有處理代幣轉移的錢包和交易所目前都使用bech32 標準。

RPC、SDK 和scilla 合約均支持ByStr20 地址校驗。

怎麼知道一個地址是智能合約還是賬戶?一種方法是發送 獲取智能合約初始化 POST 請求進行檢查。

在Javascript 中,你可以執行以下操作:

const { Zilliqa } = require(“@zilliqa-js/zilliqa”); (async() => { const zilliqa = new Zilliqa(“https://dev-api.zilliqa.com”); const address = “573EC96638C8BB1C386394602E1460634F02ADDA”; const res = await zilliqa.blockchain.getSmartContractInt() = !!res.result; // 返回假 })();

Total
0
Shares
Related Posts