You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

TON自定义Jetton转账失败(错误码705)技术求助

Jetton转账失败(错误码705)求助

转账自行创建的Jetton时持续失败,返回错误码705,多次调整操作后问题仍未解决:

  • 交易发送至Jetton钱包时被取消,返回退出码705,官方文档中无该错误码说明
  • 交易哈希:e6db98156ef6ca3102ea5c3182db2f5afff5319e5b5462a58159802919120baa

代码实现

const jettonMasterAddress = Address.parse(mint);
const userAddress = Address.parse(payer);
const mnemonicsString = process.env.MNEMONICS;
if (!mnemonicsString) {
  throw new Error("MNEMONICS not found in environment variables");
}
const keyPair = await mnemonicToWalletKey(mnemonicsString.split(" "));
const jettonMaster = client.open(JettonMaster.create(jettonMasterAddress));
const senderJettonWalletAddress = await jettonMaster.getWalletAddress(
  userAddress
);

console.log("Public Key:", keyPair.publicKey.toString());

const wallet = WalletContractV4.create({
  workchain: 0,
  publicKey: keyPair.publicKey,
});
const contract = client.open(wallet);
const state = await client.getContractState(wallet.address);
const { init } = contract;
const contractDeployed = await client.isContractDeployed(
  Address.parse(wallet.address.toString())
);
let neededInit: null | typeof init = null;

if (init && !contractDeployed) {
  neededInit = init;
}
console.log("Состояние кошелька:", state);
console.log(contract.address);
const secretKey = keyPair.secretKey;
for (const recipient of recipients) {
  try {
    const destinationAddress = Address.parse(recipient);
    const recaddress = await jettonMaster.getWalletAddress(destinationAddress);
    const jettonTransferBody = beginCell()
      .storeUint(0xf8a7ea5, 32) // Operation ID
      .storeUint(0, 64) // Query ID
      .storeCoins(lamports) // Amount to transfer
      .storeAddress(destinationAddress) // Recipient address
      .storeAddress(destinationAddress) // Sender address
      .storeUint(0, 1) // No forward payload
      .storeCoins(toNano("0.1")) // Forward amount
      .storeUint(0, 1) // No custom payload
      .endCell();

    const seqno = await contract.getSeqno();
    console.log("Current seqno:", seqno);

    const internalMessage = internal({
      to: senderJettonWalletAddress.toString(),
      value: toNano("0.1"),
      bounce: true,
      body: jettonTransferBody,
    });

    const body = wallet.createTransfer({
      seqno,
      secretKey,
      messages: [internalMessage],
    });

    const externalMessage = external({
      to: wallet.address,
      init: neededInit,
      body: body,
    });

    const externalMessageCell = beginCell()
      .store(storeMessage(externalMessage))
      .endCell();

    const signedTransaction = externalMessageCell.toBoc();
    const hash = externalMessageCell.hash().toString("hex");

    await client.sendFile(signedTransaction);

    const simulationResult = await client.simulate(externalMessageCell.toBoc());
    console.log("Simulation Result:", simulationResult);

    console.log(`Transfer succesful: ${hash}`);
  } catch (error) {
    console.error(`Transfer error: ${recipient}`, error);
  }
}

res.json({
  status: "success",
  message: "All TX is succesful.",
});

已尝试的排查操作

  • 调换地址顺序
  • 修改转发金额
  • 调整消息结构
  • 创建/移除外部消息

内容的提问来源于stack exchange,提问作者Vadim Reutov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 04:50:08