ton 通过queryId关联交易

news/2024/10/24 10:50:16

js发起交易代码:

async function sendTransaction(item, queryId) {// return false;// console.log('sendTransaction', item, address);const {beginCell,toNano,Address,TonClient,StateInit,storeStateInit,JettonMaster,Cell,} = await import("@ton/ton");const clienter = new TonClient({endpoint: import.meta.env.MODE === "production" ? "https://toncenter.com/api/v2/jsonRPC" : "https://testnet.toncenter.com/api/v2/jsonRPC",});const jettonMasterAddresser = Address.parse(coinAddress); // for example EQBlqsm144Dq6SjbPI4jjZvA1hqTIP3CvHovbIfW_t-SCALEconst userAddress = Address.parse(address);const jettonMaster = clienter.open(JettonMaster.create(jettonMasterAddresser));const walletAddress = await jettonMaster.getWalletAddress(userAddress);const jettonWalletContract = walletAddress.toString(true, true, true);const Wallet_DST = Address.parse(ownerAddress);const Wallet_SRC = Address.parse(address);// const queryId = Math.floor(Date.now() / 1000);// console.log(queryId);try {const body = beginCell().storeUint(0xf8a7ea5, 32).storeUint(queryId, 64).storeCoins((Number(item.price) * Math.pow(10, Number(decimals))) / 100).storeAddress(Wallet_DST).storeAddress(Wallet_SRC).storeUint(0, 1).storeCoins(toNano(0.00000005)).storeUint(0, 1).endCell();// console.log(body.toBoc().toString("base64"))const transaction = {validUntil: Math.floor(Date.now() / 1000) + 360,messages: [{address: jettonWalletContract,amount: "100000000",payload: body.toBoc().toString("base64"),},],};// setRecharge(false);const result = await tonConnectUI.sendTransaction(transaction);if (result) {setStartTrading(false);if (result.boc) {const cell = Cell.fromBoc(Buffer.from(result.boc, "base64"))[0];const hash = cell.hash();if (hash) {setIsChargeOrderInfo(true);rechargelist.forEach((getItem) => {if (getItem.id === item.id) {getItem.is_loading = true;}if(getItem.star_price){getItem.increment_price_value = getItem.star_price;}if(getItem.gold_count){getItem.increment_gold_value = getItem.gold_count;}});setRechargelist([...rechargelist]);getChargeOrderInfo(queryId, hash.toString("hex"));}}// console.log('Transfer sent successfully', result.boc);} else {setStartTrading(false);console.log("No detailed result returned.");}} catch (error) {setStartTrading(false);console.error("USTD transfer failed", error);}}

的:

const body = beginCell()
        .storeUint(0xf8a7ea5, 32)
        .storeUint(queryId, 64)
        .storeCoins((Number(item.price) * Math.pow(10, Number(decimals))) / 100)
        .storeAddress(Wallet_DST)
        .storeAddress(Wallet_SRC)
        .storeUint(0, 1)
        .storeCoins(toNano(0.00000005))
        .storeUint(0, 1)
        .endCell();

 

链上查看:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/75393.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

MD文档转幻灯片软件:Deckset MacOS电脑版Markdown文档无缝转换为演示文稿

Deckset是一款基于Mac平台的幻灯片制作软件,它允许用户将Markdown文档无缝转换为精美的演示文稿。软件内置多种主题和模板,支持自定义样式,能够满足学术或商务会议等多种需求。Deckset界面简洁直观,操作简便,支持Markdown和LaTeX语法,并提供自动布局、实时预览、演讲者笔…

火山引擎数据飞轮线上研讨会即将开启,助力消费品牌双十一造爆款

随着双十一的临近,各大品牌方的备战工作已进入紧张而有序的倒计时阶段。随着双十一的临近,各大品牌方的备战工作已进入紧张而有序的倒计时阶段。这场持续十多年的电商大促,对消费者来说是购物狂欢节,对各大品牌方来说,则是更是品牌实力与策略的比拼。面对日益激烈的市场竞…

[图像处理] 基于CleanVision库清洗图像数据集

CleanVision是一个开源的Python库,旨在帮助用户自动检测图像数据集中可能影响机器学习项目的常见问题。该库被设计为计算机视觉项目的初步工具,以便在应用机器学习之前发现并解决数据集中的问题。CleanVision的核心功能包括检测完全重复、近似重复、模糊、低信息量、过暗、过…

资料:工业定制化仪器设计方案

Camera Link 输出子卡 , FPGA逻辑视频采集 , FPGA实时计算平台 , 实物仿真平台 , 工业定制化仪器

为啥我的mysql根目录没有my.ini

为啥我的mysql根目录没有my.ini? 正确的是:

媲美PS的修图软件推荐:Pixelmator Pro 保持图片原始质量修图 macOS电脑激活软件

Pixelmator Pro是一款专为Mac用户设计的图像编辑软件。它拥有直观易用的界面和丰富的工具集,支持非破坏性编辑,确保原始文件质量不受影响。该软件集成了先进的机器学习技术,提供智能调色、抠图等功能,并支持多种文件格式,包括JPEG、PNG及Photoshop的PSD文件。无论是摄影后…

linux提交之6e90b6-开源之耻!

本周合并到 Linux 6.12-rc4 内核中的一个补丁删除了一些内核维护者,使其不再出现在官方 MAINTAINERS 文件中,该文件可识别所有驱动程序和子系统维护者。 其中包括宏碁 Aspire 1 EC 驱动程序、Cirrus Logic CLPS711X ARM 架构、Baikal-T1 PVT 硬件监控器驱动程序、Libata PATA…

PbootCMS登录后无法访问特定页面,提示404错误或权限不足怎么办

问题描述:登录后无法访问特定页面,提示404错误或权限不足。 解决方案:检查URL:确保访问的URL正确无误。 检查权限设置:确保当前用户具有访问该页面的权限。 检查路由配置:确保PBootCMS的路由配置正确。 清除缓存:清除浏览器缓存和PBootCMS的缓存,重新加载页面。 检查插…