A través de TonConnect

Enviar transacciones usando TonConnect: integra la conectividad de wallets para interacciones de usuario fluidas Esta sección contiene una guía para enviar transacciones en la blockchain TON usando @tonconnect

El paquete Tonconnect usa la sendTransaction método para enviar una transacción a la blockchain. Un ejemplo de uso está en sus DOCSarrow-up-right.

import React from "react";
import { TonClient, toNano } from "@ton/ton";
import { DEX, pTON } from "@ston-fi/sdk";
import { useTonConnectUI, useTonAddress } from "@tonconnect/ui-react";

const client = new TonClient({
  endpoint: "https://toncenter.com/api/v2/jsonRPC",
});

const dex = client.open(new DEX.v1.Router());

export const Example = () => {
  const wallet = useTonAddress();
  const [tonConnectUI] = useTonConnectUI();

  return (
    <button
      onClick={async () => {
        const txParams = await dex.getSwapTonToJettonTxParams({
          offerAmount: toNano("1"), // intercambiar 1 TON
          askJettonAddress: "EQA2kCVNwVsil2EM2mB0SkXytxCqQjS4mttjDpnXmwG9T6bO", // para un STON
          minAskAmount: toNano("0.1"), // pero no menos de 0.1 STON
          proxyTon: new pTON.v1(),
          userWalletAddress: wallet,
        });

        await tonConnectUI.sendTransaction({
          validUntil: Date.now() + 1000000,
          messages: [
            {
              address: txParams.to.toString(),
              amount: txParams.value.toString(),
              payload: txParams.body?.toBoc().toString("base64"),
            },
          ],
        });
      }}
    >
      Intercambiar 1 TON por STON
    </button>
  );
};

Última actualización