
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 })();
