dApp 開發入門
本節旨在讓開發人員了解如何開始在 Zilliqa 上進行開發。
我們試圖使本指南簡潔,從而使其對於沒有區塊鏈開發經驗的開發人員來說足夠簡單。 由於許多應用程序開發人員都是 javascript 開發人員,所以我們將在代碼片段示例中使用 javascript。 Zilliqa 研究院目前在 中積極維護官方 Javascript SDK,我們將在示例中使用它。
什麼是 dApp?
去中心化應用程序(「dApps」)是與區塊鏈上的智能合約交互的應用程序。 由於 Zilliqa 區塊鏈是一個不由單個實體託管的分散網路,因此位於區塊鏈上的應用程序是 去中心化的。
應用程序可以具有面向用戶的組件(「客戶端」),可以是 Web 應用程序或移動應用程序。 這些應用程序可以與 Zilliqa 區塊鏈上的智能合約進行交互。
Zilliqa 區塊鏈的入口在於 RPC 介面。 SDK 不是你與區塊鏈交互的強制性要求,但它們確實讓你的開發更加輕鬆。
看到區塊鏈實體上的 0x1、0x2 了嗎? 這些是。
地址是區塊鏈上實體的標識符。 區塊鏈上的實體可以是用戶或合約。
地址
Zilliqa 目前支持兩種地址格式。
- ByStr20:20 位元組的十六進位字元串(例如0x573EC96638C8bB1c386394602E1460634F02aDdA)
- bech32:一個 帶有一個可讀性更強的 zil 前綴(例如 zil12ulvje3ceza3cwrrj3szu9rqvd8s9tw69c978p)
這種設計背後的原因是為了防止與以太坊地址混淆。 更詳細的地址解釋請參考
const { toBech32Address, toChecksumAddress } = require(“@zilliqa-js/crypto”); // not checksummed address (will not be accepted by blockchain) const address = ‘573EC96638C8BB1C386394602E1460634F02ADDA’; // checksummed ByStr20 const checksummedAddresses = toChecksumAddress(address); // returns ‘0x573EC96638C8bB1c386394602E1460634F02aDdA’ const bech32_address = toBech32Address(address); // returns zil12ulvje3ceza3cwrrj3szu9rqvd8s9tw69c978p
我們強烈建議開發人員使用 bech32 格式的地址進行代幣傳輸。 這可以防止用戶將 Zilliqa 地址誤認為以太坊地址。 出於安全目的,所有處理代幣轉移的錢包和交易所目前都使用 bech32 標準。
、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.getSmartContractInit(address); const isContract = !!res.result; // returns false })();
冷萃財經原創,作者:Awing,轉載請註明出處:https://www.lccjd.top/2021/08/18/zilliqa-dapp%e5%bc%80%e5%8f%91%e8%80%85%e5%85%a5%e9%97%a8%e8%af%b4%e6%98%8e%e4%b9%a6/?variant=zh-tw
文章評論