A través de TON Core

Enviar transacciones usando la biblioteca TON Core: construcción de transacciones de bajo nivel para casos de uso avanzados Esta sección contiene una guía para enviar transacciones en la blockchain TON usando @ton/ton

Tu paquete utiliza el sendTransfer método para enviar una transacción a la blockchain. Un ejemplo de uso está en sus READMEarrow-up-right.

import { TonClient, WalletContractV4, internal, toNano } from "@ton/ton";
import { mnemonicToPrivateKey } from "@ton/crypto";
import { DEX, pTON } from "@ston-fi/sdk";

const client = 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 mnemonicToPrivateKey(mnemonics);

const workchain = 0;
const wallet = WalletContractV4.create({
  workchain,
  publicKey: keyPair.publicKey,
});
const contract = client.open(wallet);

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

// intercambia 1 TON por un STON, pero no menos de 0.1 STON
const txArgs = {
  offerAmount: toNano("1"),
  askJettonAddress: "EQA2kCVNwVsil2EM2mB0SkXytxCqQjS4mttjDpnXmwG9T6bO",
  minAskAmount: toNano("0.1"),
  proxyTon: new pTON.v1(),
  userWalletAddress: wallet.address.toString(),
};

// puedes enviar instantáneamente la transacción usando el método del router con el sufijo send
await dex.sendSwapTonToJetton(contract.sender(keyPair.secretKey), txArgs);

// o puedes obtener los parámetros de la transacción
const txParams = await dex.getSwapTonToJettonTxParams(txArgs);

// y enviarlo manualmente más tarde
await contract.sendTransfer({
  seqno: await contract.getSeqno(),
  secretKey: keyPair.secretKey,
  messages: [internal(txParams)],
});

Última actualización