Подпишись на канал фаундера и разработчика экосистемы tonpie
Передача Jetton с помощью @ton/тонна и @tonconnect/react-ui
-
Как нам следует написать код, если мы хотим перевести Jetton с кошелька, уже подключенного к tonconnect-ui? Я подключил кошелек и хочу отправить Jetton на адрес получателя другого человека / кошелька. Но я получаю необычную ошибку.
Ошибка: Если я внесу, я получу ** Не удалось рассчитать комиссию ** на кошелек браузера
const userFriendlyAddress = useTonAddress();
const rawAddress = useTonAddress(ложь); const кошелек = useTonWallet(); const [tonConnectUI, setOptions] = useTonConnectUI();
const jettonAddress = "EQDEPcKFlXaKddKJVUvq2Rfn2QgH7_MyFHxZek99FdMyq8XD"; const receiver_address = "UQA76t6NCey61qBTkqosAs65sSrX2jIk9BloVz3NU76yYMap";
const jettonTransfer = async () => { let myTransaction; if (userFriendlyAddress) {
const body = beginCell() .storeUint(0xf8a7ea5, 32) // jetton transfer op code .storeUint(0, 64) // query_id:uint64 .storeCoins(10000000) // amount:(VarUInteger 16) - Jetton amount for transfer (decimals = 6 - jUSDT, 9 - default) .storeAddress(Address.parse(userFriendlyAddress)) // destination:MsgAddress .storeAddress(Address.parse(receiver_address)) // response_destination:MsgAddress .storeUint(0, 1) // custom_payload:(Maybe ^Cell) .storeCoins(50000000) // forward_ton_amount:(VarUInteger 16) .storeUInt(0, 1) // forward_payload:(Either Cell ^Cell) .endCell(); myTransaction = { validUntil: Math.floor(Date.now() / 1000) + 360, messages: [ { address: Address.parse(jettonAddress), // sender jetton wallet amount: 100000000, // for commission fees, excess will be returned payload: body.toBoc().toString("base64"), // payload with jetton transfer body }, ], }; } try { tonConnectUI.sendTransaction(myTransaction); } catch (error) { alert(error); }
};