本节旨在让开发人员了解如何开始在 Zilliqa 上进行开发。我们试图使本指南简洁,从而使其对于没有区块链开发经验的开发人员来说足够简单。 由于许多应用程序开发人员都是 javascript 开发人员,所以我们将在代码片段示例中使用 javascript。 Zilliqa 研究院目前在 zilliqa-js 中积极维护官方 Javascript SDK,我们将在示例中使用它。去中心化应用程序(“dApps”)是与区块链上的智能合约交互的应用程序。 由于 Zilliqa 区块链是一个不由单个实体托管的分散网络,因此位于区块链上的应用程序是 去中心化的。应用程序可以具有面向用户的组件(“客户端”),可以是 Web 应用程序或移动应用程序。 这些应用程序可以与 Zilliqa 区块链上的智能合约进行交互。Zilliqa 区块链的入口在于 RPC 接口。 SDK 不是你与区块链交互的强制性要求,但它们确实让你的开发更加轻松。看到区块链实体上的 0x1、0x2 了吗? 这些是地址。地址是区块链上实体的标识符。 区块链上的实体可以是用户或合约。Zilliqa 目前支持两种地址格式。这种设计背后的原因是为了防止与以太坊地址混淆。 更详细的地址解释请参考 本帖
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 })();
原创文章,作者:惊蛰财经,如若转载,请注明出处:http://www.xmlm.net/wang/8772.html