ton 通过queryId关联交易

news/2024/10/24 10:46:32/文章来源:https://www.cnblogs.com/zhanchenjin/p/18499133

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.hqwc.cn/news/821071.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

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的缓存,重新加载页面。 检查插…

网站首页后台怎么修改?

1. 登录后台管理系统打开浏览器,访问你的网站后台管理系统的登录页面。 输入当前的用户名和密码,登录到后台管理系统。2. 导航到首页管理登录后,进入后台管理系统的主界面。 在顶部菜单或左侧导航栏中,找到并点击“首页管理”、“页面管理”或“内容管理”等相关选项。3. 选…

安装宝塔Linux面板全流程 新手一看就会

1. 使用ssh远程终端工具,如堡塔多机管理-终端连接至Linux服务器 2. 使用root账户执行进行安装(大约2分钟左右) 3. 安装完成根据获取的账户密码进行访问宝塔面板扫码添加技术【解决问题】专注中小企业网站建设、网站安全12年。熟悉各种CMS,精通PHP+MYSQL、HTML5、CSS3、Java…

PbootCMS自带百度编辑器插入视频不显示怎么办?

PbootCMS 自带的百度编辑器(UEditor)在插入视频时有时会出现不显示的问题。这可能是由于多种原因造成的,包括视频格式不支持、路径错误、配置问题等。以下是一些常见的解决方法: 解决方法 1. 检查视频格式支持的视频格式:UEditor 支持的视频格式包括:mp4, flv, webm 等。…

宝塔linux面板安装(宝塔面板linux如何搭建网站)

宝塔Linux面板是提升运维效率的服务器管理软件,支持一键LAMP/LNMP/集群/监控/网站/FTP/数据库/JAVA等100多项服务器管理功能。有30个人的专业团队研发及维护,经过200多个版本的迭代,功能全,少出错且足够安全,已获得全球百万用户认可安装。 Linux面板(Centos/OpenCloud/A…