通过Shinami快速使用赞助交易(Gas代付)

 Web3中对钱包和tokens的要求对于新用户来说是最大的挑战。Sui上的赞助交易不仅为用户提供丝滑的体验,还为构建者开辟了更多的收入模式。

按需付费的区块链模型直接支持网络基础设施,但对于那些已经习惯了Web2世界中看似免费服务的用户来说,这是一个巨大的障碍。潜在的新用户可能想尝试在Sui上使用一个新的app,但一旦他们发现需要安装钱包并购买token,就可能放弃。

赞助交易使得构建者承担支付其app交易费用的责任,为用户提供丝滑的体验。选择支付交易费用的构建者可以探索经过验证的收入模式,例如提供广告服务、解锁试用版功能和提供订阅服务。

开始使用赞助交易的最简单方式是利用Shinami的Gas Station服务。然而,Sui允许构建者通过支持用户发起的交易、赞助者发起的交易以及通过GasData对象来赞助交易。构建者可以建立自己的gas站来监控和控制赞助交易。

赞助资金

选择赞助交易的构建者需要积累足够的SUI来支付用户的gas费,并制定资金运营的商业模式。所需的SUI数量将完全取决于其apps产生的交易数量。构建者可以使用Sui的开发网和测试网环境来估算app的gas费,然后通过时间来预测使用量,以确定其初期资本需求。Mysten Labs也正在开发gas费估算工具,尽管该工具可能要等到年底才能使用。

App一旦上线到主网,构建者将需要观察其交易量和gas费。一个app可能会变得非常受欢迎,迅速消耗构建者的国库。

那些使用Shinami Gas Station的构建者可以利用账户看板来帮助他们分配 tokens并为其app提供资金支持。该看板显示了构建者可用的gas数量和支付的gas数量。构建者可以在看板内设置不同的apps基金,并根据需要添加tokens来继续赞助交易。

创建另一种收入模式可能涉及在app界面中展示广告、收费提供高级功能或限制一段特定时间内的免费使用。基于Web的广告网络已经普及并且容易实现。对额外功能收费或app订阅,可能需要寻找为软件服务付款的提供商。构建者还可以选择赞助一段时间的免费使用,然后要求用户自行支付gas费继续使用该app。

Shinami Gas Station设置

准备在其apps中尝试通过Shinami进行赞助交易的构建者将首先需要注册Shinami账户(请使用推荐代码“Gasless”)。在输入所需信息后,构建者需要向其账户添加足够的SUI tokens,以满足其app用户预期的gas费。

准备好账户后,Shinami Gas Station将提供一个用于gas Station请求的JSON-RPC API:

  • gas_sponsorTransactionBlock:通过附加gas对象并使用gas所有者的密钥签署赞助交易,赞助一个免gas费交易。
  • gas_getSponsoredTransactionBlockStatus:检索赞助交易的状态,可能为IN_FLIGHT(进行中)、INVALID(无效)或COMPLETE(已完成)。

Shinami看板显示了公司的服务,包括Gas Station。在这个视图中,构建者可以监控gas使用情况并添加资金。

Gas Station流程

Shinami Gas Station旨在为构建者和用户提供丝滑的体验。它为特定apps维护资金,并在提交时处理gas费。

以下是端到端的工作流程:

  1. 构建者通过Shinami看板为app的gas station账户提供资金,以进行赞助。
  2. 用户通过连接的钱包与app进行交互,发起交易,例如铸造NFT。
  3. App在后台无gas方式构建交易(Sui的SDK包括赞助交易区块构建器,有助于确保编码正确)。
  4. App通过gas_sponsorTransactionBlock将交易发送到Shinami Gas Station,并使用附加的授权数据验证其gas station账户是否有足够的资金。
  5. Gas Station保留赞助者的资金,以对应的gas预算金额构建铸造NFT的交易数据,并使用配备的gas对象对交易进行签名,将带有gas的交易数据返回给app。
  6. App向用户展示交易,并通过钱包提示用户进行签名。
  7. 钱包将交易提交到Sui网络,使用sui_executeTransactionBlock进行处理。

Shinami Gas Station流程旨在使构建者轻松集成和管理无gas交易。

App集成

Shinami文档提供了完整的TypeScript教程,介绍了如何将赞助交易与apps集成。教程展示了如何构建多种类型的交易,将它们连接到Shinami Gas Station,并在Sui上提交执行。Shinami还在GitHub上提供了这个教程的代码示例。

第一步需要导入一些库,包括Ed25519Keypair、JsonRpcProvider和rpcClient。接下来的步骤描述了设置各种参数,如gas预算、Shinami Gas Station端点,并使用Ed25519Keypair创建密钥对和签名者。

教程的最后部分展示了如何将交易区块发送到Shinami进行审批。Shinami Gas Station获取这些数据,并根据提供的预算创建一个gas对象,然后构建一个附带gas对象的新交易,并使用构建者的签名对其进行签名。

Shinami Gas Station在接收到赞助请求时应用自动预算和错误检测。Gas Station还管理一个大而多样的gas对象池。这使得Gas Station可以处理各种交易大小的赞助,有助于防止gas对象的歧义问题,并确保有效使用为赞助交易分配的gas预算。

结论

Shinami Gas Station可以通过提供方便的界面来管理资金,帮助开发者快速启动和运行赞助交易。对于拥有多个apps的开发者来说,在其上面创建不同的资金非常方便。

赞助交易是吸引新用户进入Web3和Sui的重要方法。Shinami非常希望能够听到用户和开发者的反馈意见,您可以通过hello@shinami.com与其联系,让他们知道可以做些什么来更好的促进Sui上apps的用户体验。


关于 Sui Network

Sui是基于第一原理重新设计和构建而成的L1公有链,旨在为创作者和开发者提供能够承载Web3中下一个十亿用户的开发平台。Sui上的应用基于Move智能合约语言,并具有水平可扩展性,让开发者能够快速且低成本支持广泛的应用开发。获取更多信息:https://linktr.ee/sui_apac

官网|Twitter|Discord|英文电报群|中文电报群

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

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

相关文章

【计算机视觉】干货分享:Segmentation model PyTorch(快速搭建图像分割网络)

一、前言 如何快速搭建图像分割网络? 要手写把backbone ,手写decoder 吗? 介绍一个分割神器,分分钟搭建一个分割网络。 仓库的地址: https://github.com/qubvel/segmentation_models.pytorch该库的主要特点是&#…

UEditorPlus v3.3.0 图片上传压缩重构,UI优化,升级基础组件

UEditor是由百度开发的所见即所得的开源富文本编辑器,基于MIT开源协议,该富文本编辑器帮助不少网站开发者解决富文本编辑器的难点。 UEditorPlus 是有 ModStart 团队基于 UEditor 二次开发的富文本编辑器,主要做了样式的定制,更符…

了解IL汇编异常处理语法

从网上拷过来一个IL汇编程序,编译时先报如下错, 看它是把空格识别为了下注红线的字符,这是字符编码的问题,用记事本替换功能替换了; 然后又报如下的错, 看不出来问题,拷一句正确的来&#xff0…

周末在家值班,解决几个月前遗忘的Bug

问题: 周末被迫在家值班,无聊之际打开尘封已久的Bug清单,发现有Bug拖了几个月还没解决… 场景是这样子的,有个功能是拿Redis缓存热点数据进行展示,暂且称它为功能A,有个另外的功能B,它会去更新缓…

机器学习笔记:李宏毅ChatGPT课程1:刨析ChatGPT

ChatGPT——Chat Generative Pre-trained Transformer 1 文字接龙 每次输出一个概率分布,根据概率sample一个答案 ——>因为是根据概率采样,所以ChatGPT每次的答案是不一样的(把生成式学习拆分成多个分类问题)将生成的答案加到…

Spring MVC项目概述及创建

Spring MVC项目概述及创建 1.什么是Spring MVC Spring MVC是基于SevletAPI的原始Web框架。Spring MVC项目也叫做SpringWeb项目。 它是在springboot项目中引入了web框架,原本的spring项目不具备网络通信能力,而spring mvc允许http响应,当用…

uni-app:实现点击按钮,进行数据累加展示(解决数据过多,导致出错)

效果 代码 核心代码 一、标签显示 <!-- 加载更多 --> <view class"load_more" v-if"info.length > pageNum * pageSize" tap"loadMore">加载更多 </view> v-if"info.length > pageNum * pageSize"&#xf…

企业邮箱安全对比:哪家公司的产品更可靠?

邮箱仍然是企业沟通的关键组成部分&#xff0c;但往往容易受到安全威胁。为了保护敏感信息&#xff0c;企业需要采取措施使企业邮箱更加安全。这可以通过投资先进的安全解决方案&#xff0c;创建限制或控制访问的策略&#xff0c;并定期对员工进行最佳实践培训来实现。 1、投资…

vue3 + ts+element-plus学习笔记

子组件通过defineProps方法接收父组件传递过来的数据&#xff0c;是vue3中提供的方法&#xff0c;不需要引入&#xff0c;直接使用 方法的写法&#xff1a; const onClick (){... }自定义事件&#xff1a; 子组件点击事件 全局事件总线 mitt 兄弟组件之间的事件&#x…

网络加速与文件传输软件:如何通过优化网络提升文件传输速度

在信息化社会&#xff0c;文件传输是人们生活和工作中必不可少的一个环节。但是&#xff0c;由于网络环境的多样性和传输过程中可能出现的各种问题&#xff0c;文件传输速度经常受到影响。因此&#xff0c;如何优化网络以提高文件传输速度成为了一个重要的课题。本文将探讨网络…

阻塞队列

阻塞队列 阻塞队列&#xff0c;字面意思就是带有阻塞功能&#xff0c;也就是这个线程不走了&#xff0c;不再参与cpu的调度&#xff0c;等到合适的时机条件成功时候再继续参与cpu的调度 主要体现在以下两方面 1.当队列满的时候&#xff0c;继续入队列&#xff0c;就会出现阻塞…

C++学习| MFC简单入门

前言&#xff1a;因为接手了CMFC的程序&#xff0c;所以需要对MFC编程方面有所了解。 C之MFC简单入门 MFC相关的概念MFCWIN32QT MFC项目基本操作MFC项目创建MFC项目文件解读界面和代码数据交互——加法器 MFC相关的概念 MFC MFC&#xff08;Microsoft Foundation Classes微软…

Springboot中创建拦截器

目录 目的 实现过程 1、创建拦截器 2、注册拦截器 完整代码 目的 在Springboot项目中创建拦截器&#xff0c;在进入Controller层之前拦截请求&#xff0c;可对拦截到的请求内容做响应处理&#xff0c;如&#xff1a;校验请求参数、验证证书等操作&#xff1b; 实现过程 1、创…

藏语翻译器:藏语翻译小助手

这是一款翻译功能齐全的翻译软件&#xff0c;主打藏语翻译功能&#xff0c;同时具备文字翻译、图片翻译、音频翻译、视频翻译、文档翻译等热门功能&#xff0c;支持将翻译结果导出为可编辑的文本文档&#xff0c;方便后续编辑整理。支持朗读原文和译文&#xff0c;帮助我们学习…

【树】 二叉树 堆与堆排序 平衡(AVL)树 红黑(RB)树

目录 1 树1.1 认识树1.2 树的相关概念1.3 树的表示孩子兄弟表示法 2 二叉树2.1 概念2. 2 特殊二叉树2.3 二叉树的性质2.4 二叉树的存储结构 3 堆 — 完全二叉树的顺序结构实现3.1 堆的概念3.2 核心代码3.3 堆应用1 堆排序2 TOP-K问题 4 二叉树的链式存储4.1 二叉链结构与初始化…

hhc.exe本地制作、手动生成chm电子书

准备几个文件 test.hhp&#xff08;配置文件&#xff09;test.hhc&#xff08;目录文件&#xff09;test.html&#xff08;点击节点右侧显示的内容&#xff09;hhc.exe去这里下载&#xff0c;链接在文章最后 test.hhp [OPTIONS] Compiled filetest.chm Contents filetest.hhc …

Springboot中使用过滤器校验PSOT类型请求参数内容

目录 目的 实现步骤 完整代码 目的 在Springboot中创建过滤器&#xff0c;用来过滤所有POST类型请求并获取body中的参数进行校验内容是否合法&#xff1b;该方法仅适用于POST类型请求&#xff0c;因为POST和GET请求的参数位置不一样所以处理方式也不一样&#xff0c;如果想要…

Kafka:安装和配置

producer&#xff1a;发布消息的对象&#xff0c;称为消息产生者 &#xff08;Kafka topic producer&#xff09; topic&#xff1a;Kafka将消息分门别类&#xff0c;每一个消息称为一个主题&#xff08;topic&#xff09; consumer&#xff1a;订阅消息并处理发布消息的对象…

vue 点击顶部tab重新请求列表

我们点击 1 2 来回切换时,发现客户经理的列表不会重新请求(菜单中含有客户经理) 这时我们添加以下代码就可以了 watch: {$route(route) {this.getList()}},/** 查询客户经理列表 */getList() {this.loading true;listManager(this.queryParams).then(response > {this.mana…

B2B2C多用户手机购物商城快速搭建(java开源)

要快速搭建一个B2B2C多用户手机购物商城&#xff0c;需要使用Java语言和开源框架进行开发。以下是一个基本的搭建步骤&#xff1a; 选择合适的开发框架 首先需要选择一个适合开发B2B2C多用户手机购物商城的Java开源框架&#xff0c;它提供了丰富的功能模块和灵活的扩展性&…