UNPKG

@openproduct/web-sdk

Version:

OpenMask Web - TypeScript Browser SDK for TON blockchain

86 lines (59 loc) 1.74 kB
# TypeScript SDK for [The Open Network](https://ton.org) [![NPM](https://img.shields.io/npm/v/@openproduct/web-sdk.svg)](https://www.npmjs.org/package/@openproduct/web-sdk) Converted to typescript [TonWeb](https://github.com/toncenter/tonweb). The library optimise to run in browser. ## Install Web ``` npm install @openproduct/web-sdk // or yarn add @openproduct/web-sdk // or pnpm add @openproduct/web-sdk ``` ### TonHttpProvider ```ts import { TonHttpProvider } from "@openproduct/web-sdk"; const provider = new TonHttpProvider(config.rpcUrl, { apiKey: config.apiKey, }); // Get Wallet Balance const amount: string = await provider.getBalance(wallet); // Get Wallet SeqNo const seqno: BN = await provider.call2(wallet, "seqno"); // Get wallet transactions const transactions = await ton.getTransactions(wallet, 10); ``` ### Send transaction ```ts import { ALL, hexToBytes, toNano } from "@openproduct/web-sdk"; const WalletClass = ALL[wallet.version]; const contract = new WalletClass(provider, { publicKey: hexToBytes(wallet.publicKey), wc: 0, }); const params: TransferParams = { secretKey: keyPair.secretKey, toAddress, amount: toNano(amount), seqno: seqno, payload: comment, sendMode: 3, }; const method = contract.transfer(params); // Get estimate fee const fees = await method.estimateFee(); // Send transaction await method.send(); ``` ### TonDNS Resolve ton DNS address: ```ts import { TonDns } from "@openproduct/web-sdk"; const dns = new TonDns(provider, { rootDnsAddress: config.rootDnsAddress }); const address = await dns.getWalletAddress(toAddress); if (!address) { throw new Error("Invalid address"); } if (!Address.isValid(address)) { throw new Error("Invalid address"); } ```