时间:2023-07-09|浏览:194
小编:记得
来源:Zilliqa中国
--- dApp开发入门
本节旨在让开发人员了解如何开始在Zilliqa上进行开发。
我们试图使本指南简洁,从而使其对于没有区块链开发经验的开发人员来说足够简单。由于许多应用程序开发人员都是javascript开发人员,所以我们将在代码片段示例中使用javascript。Zilliqa研究院目前在zilliqa-js中积极维护官方JavascriptSDK,我们将在示例中使用它。
什么是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");
//notchecksummedaddress(willnotbeacceptedbyblockchain) constaddress="573EC96638C8BB1C386394602E1460634F02ADDA";
//checksummedByStr20 constchecksummedAddresses=toChecksumAddress(address);//returns"0x573EC96638C8bB1c386394602E1460634F02aDdA"
constbech32_address=toBech32Address(address);//returnszil12ulvje3ceza3cwrrj3szu9rqvd8s9tw69c978p
我们强烈建议开发人员使用bech32格式的地址进行代币传输。这可以防止用户将Zilliqa地址误认为以太坊地址。出于安全目的,所有处理代币转移的钱包和交易所目前都使用bech32标准。
RPC、SDK和scilla合约均支持ByStr20地址校验。
怎么知道一个地址是智能合约还是账户?一种方法是发送GetSmartContractInitPOST请求进行检查。
在Javascript中,你可以执行以下操作:
const{ Zilliqa }=require("@zilliqa-js/zilliqa");
(async()=>{ constzilliqa=newZilliqa("https://dev-api.zilliqa.com"); constaddress="573EC96638C8BB1C386394602E1460634F02ADDA";
constres=awaitzilliqa.blockchain.getSmartContractInit(address); constisContract=!!res.result;//returnsfalse });
热点:app开发
用戶喜愛的交易所
已有账号登陆后会弹出下载