一、简介
Gas Back 项目实现了 OKC 链上合约部署者分取合约手续费的功能。项目方在 OKC 上部署合约后,将合约进行注册,即可按照系统比例分取合约用户调用合约时的手续费。对合约进行注册,可通过直接发送 EVM 交易进行注册。
二、如何使用
合约名称 | 合约作用 | 合约地址 |
GasBackMSGHelperproxy | 针对业务需求,根据输入的参数生成对应的Msg,做为SystemContract合约Invoke接口的参数 | 主网:0x0DD08B74c111D148751f38f02ab0C3408ead7d18测试网:0x9e472f77e2A5C8f09B237273960c776ddE1D98C1 |
SystemContract | 提供一个公开的invoke接口,用户拼装好数据后,可以通过此接口发起一笔GasBack交易 | 主网:0xd6bce454316b8ddFb76bB7bb1B57B8942B09Acd5测试网:0x727d14EfC4FB5281A18A6d62BCf486a1cF4d2210 |
GasBackMSGHelper | 码具体实现 | 主网:0xC38246a34aC8241eB56C84B7356aDC6Dde737f99测试网:0xC9306D5963D7e1f02D04Aa78cd5A34b0D27583b3 |
ProxyAdmin | 负责管理代理的admin合约 | 主网:0xe9196e65a0b6705777fbe829dfa94ec8b9f2ba48测试网:0xcc904644d73fa4aff34fda7433a8f3154c812769 |
操作流程:
- 用户根据想要执行的操作,选择GasBackMSGHelper proxy合约中对应的方法来生成参数
- 使用步骤1中生成的结果作为invoke接口的输入参数,调用SystemContract合约的invoke方法,生成EVM格式的交易
- 将组装好的EVM交易进行签名并广播到链上
- 操作完成,可以在钱包或浏览器(https://www.oklink.com/okc)中查看执行结果
三、示例代码
下面以注册方法为例,展示了多语言版本的实现Demo,开发者仅需将私钥、地址和参数改为自己的即可使用
四、接口列表
接口 | 说明 | 参数说明 | 该Msg做为SystemContract合约invoke接口参数对应命令行 |
genRegisterMsg() | 对合约进行注册,享受合约手续费分成 | contract: 需要注册的合约withdrawerAddress: 接收分红的地址_nonces: 部署合约时的用户nonce | exchaincli tx feesplit register |
genUpdateMsg() | 更新接收分红的地址 | contract: 已注册合约的地址withdrawerAddress: 新的接收分红的地址 | exchaincli tx feesplit update |
genCancelMsg() | 关闭分红 | _contract: 已注册合约的地址 | exchaincli tx feesplit cancel |