mt logoMyToken
总市值:
0%
恐慌指数:
0%
币种:--
平台 --
ETH Gas:--
EN
USD
APP
Ap Store QR Code

Scan Download

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"); // 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 标准。

RPC 、SDK 和 scilla 合约均支持 ByStr20 地址校验。

怎么知道一个地址是智能合约还是账户? 一种方法是发送 GetSmartContractInit 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 })();

免责声明:本文版权归原作者所有,不代表MyToken(www.mytokencap.com)观点和立场;如有关于内容、版权等问题,请与我们联系。