A través de TonWeb

Enviar transacciones usando la biblioteca TonWeb: SDK de JavaScript para interactuar con la blockchain TON Esta sección contiene una guía para enviar transacciones en la blockchain TON usando tonweb

El paquete Tonweb usa el transferencia método para enviar una transacción a la blockchain. Un ejemplo de uso está en sus READMEarrow-up-right.

import TonWeb from "tonweb";
import TonWebMnemonic from "tonweb-mnemonic";
import { TonClient, toNano } from "@ton/ton";
import { DEX, pTON } from "@ston-fi/sdk";

const tonWeb = new TonWeb();
const client = new TonWeb.HttpProvider();

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

const mnemonics = Array.from(
  { length: 24 },
  (_, i) => `tu palabra mnemónica ${i + 1}`
); // reemplaza con tu mnemónica
const keyPair = await TonWebMnemonic.mnemonicToKeyPair(mnemonics);

const wallet = new tonWeb.wallet.all.v4R2(client, {
  publicKey: keyPair.publicKey,
});

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

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: (await wallet.getAddress()).toString(),
});

await wallet.methods
  .transfer({
    secretKey: keyPair.secretKey,
    toAddress: txParams.to.toString(),
    amount: new tonWeb.utils.BN(txParams.value),
    seqno: (await wallet.methods.seqno().call()) ?? 0,
    payload: TonWeb.boc.Cell.oneFromBoc(
      TonWeb.utils.base64ToBytes(txParams.body?.toBoc().toString("base64"))
    ),
    sendMode: 3,
  })
  .send();

Última actualización