为合约设置 Sponsor

为合约设置 Sponsor

Conflux 网络不仅具有 TPS 高,手续费低的巨大优势,还有一个独特的赞助商机制arrow-up-right:任何人可以对合约的燃气费和存储抵押费用进行赞助, 用户与被赞助的合约进行交互时将不需要支付手续费或存储抵押费,该费用由合约的赞助商支付。

使用 Scan 的赞助服务

为了扶植生态项目,优化用户的使用体验,Conflux 基金会对生态项目免费提供小额的赞助服务,任何合约可直接在 ConfluxScan 的赞助页面arrow-up-right申请赞助服务。

当前 scan 页面可直接申请的赞助额度如下:

  1. 燃气费:5 * 1 Gdrip, upper bound 500,000 drip

  2. 存储抵押费:1 * 10 cfx

如果合约使用额度超过此限制,可联系基金会申请更大额度。

通过 Sponsor 内置合约设置大额赞助

除了想基金会申请赞助,开发者或项目方也可以自行对自己的合约进行赞助,直接跟 SponsorWhitelistControlarrow-up-right 内置合约交互即可,可以灵活设置赞助额度及单次赞助上限。

赞助燃气费

给一个合约设置燃气赞助商需要调用 SponsorWhitelistControl 内置合约的 setSponsorForGas 方法,该方法第一个参数是要赞助的合约地址,第二参数是单次交易可以赞助燃气费的上限(单位是 Drip)。如果某次交易的燃气费用超过了该值,即使合约有赞助商,该笔交易的燃气费也不会被赞助。

燃气费的赞助金额则通过交易的 value 来设置,即调用方法的同时进行 CFX 转账,转的所有 CFX 都会成为合约燃气费的赞助余额。

赞助存储抵押费用

给合约设置存储抵押赞助商则是调用 SponsorWhitelistControl 合约的 setSponsorForCollateral 方法,该方法只有一个参数即 要赞助的合约地址

存储费的赞助金额同样通过交易的 value 来设置。

设置白名单

另外赞助商机制中还有一个白名单机制,即只有在白名单中的地址,才会被赞助商所赞助。零地址(0x0000000000000000000000000000000000000000)是一个特殊地址,被加入白名单之后,所有地址都可使用赞助商服务。

设置方式

直接使用 SDK 同内置合约交互

JS SDK 包含了对内置合约的直接支持

使用 Scan 的合约交互功能

另外 Scan 上的合约如果进行了验证或注册,则可以直接使用 Scan 合约页面的读写功能与合约进行交互,目前所有内置合约arrow-up-right都进行了验证可以直接使用。用户只需要连接钱包插件,然后选择对应的方法并设置好参数和 value,然后点击 write 按钮发起交易即可。

注意

如果已有赞助商想增加赞助余额直接再次调用相关方法即可。如果想更换赞助商同样也是调用这几个方法,但设置的金额和 upperBound 有一些要求,具体规则可参看 SponsorWhitelistControlarrow-up-right 详细介绍


参考文章

原文地址:https://github.com/conflux-fans/conflux-dapp-tutorial/blob/main/zh/5_Set_Sponsor.mdarrow-up-right

Last updated