当前位置:网站首页 > 数字货币代理 >

创建 ERC20 代币支付拆分智能合约

  • 2021-09-19 16:24:01
  • 62
  • 未知

在密码货币的大部分领域,支付一直是一个热门话题,特别是向多家当铺提供支付。 例如,DAO希望为多个计划提供资金,DEX希望合并后将交易费用分配给一些参与者。 此外,小组还希望将令牌作为月薪发放给小组成员。

智能合约可以自动执行这些类型的支付功能,从而限制了手动管理支付带来的潜在错误,并节省了宝贵的时间用于其他生产任务。

今天,我们将学习如何创建自己的ERC20令牌支付拆分器。 可以纳入任何项目。

先决条件和设置

下面的内容要求对索尼娅有点了解,谁都可以学。

制定两份

项目架构

合同。 第一个是ERC20令牌的支付分期智能合约,第二个是模拟游泳池智能合约。 ERC20令牌支付拆分器的智能合约被抽象,保留了用于管理收款人及其各自支付部分的逻辑和数据。 模拟池继承了ERC20令牌付款拆分器,允许自动向多个质押分发付款。 在两个合同中分割支付功能有两个理由。

在现实世界的用例中表示令牌支付分割合同的使用

确保令牌的支付分期合同足够灵活,任何人都可以选择并集成到自己的项目中

OpenZeppelin已有一个名为PaymentSplitter.sol的智能合约。 用于以太坊的付款分割。 利用中现有的功能,定制为与ERC20令牌一起工作。

设置开发环境

教程工具:

头盔——智能交通工具开发环境

OpenZeppelin -经鉴定的智能合约模板

在空目录中使用NPM init -y启动NPM项目

设置项目后,请使用以下命令安装Hardhat :

安装Hardhat后,输入npx Hardhat,然后选择用于创建基本示例项目的选项。 这包括一个方便的文件结构,可以方便地创建、测试和部署自己的合同。

选择创建基本示例项目

可以从contract文件夹中删除Greeter.sol文件,也可以从test文件夹中删除sample-test.js文件。

还将安装头盔的插件库。 这些是硬件插件。 可以添加用于测试和部署智能合约的工具。

在hardhat.config.js文件的顶部添加

为了测试我们的智能合约,需要安装一个叫chai的包。

需要OpenZeppelin合同库。

创建代币支付拆分器

此代币支付分割智能合约提供了设置和存储收款人列表和每个收款人份额的数据的逻辑。 每个受益人持有的份额数与应收到的资金比例相同。 例如,如果有4个受益人,每个受益人拥有5个份额,则每个受益人将收取任何支出的25%。

要启动此合同,请在合同文件夹中创建一个名为TokenPaymentSplitter.sol的新文件。

设置pragma line和连接壳。

布拉格固态^0.8. 0; abstractcontracttokenpaymentsplitter {请注意,这是一个抽象合同。 稍后导入到模拟池合同中。 将其抽象化,以便将来可以轻松地将此合同部署到其他实际项目中。

现在,让我们从OpenZeppelin引入有用的工具。

布拉格固态^0.8. 0; 导入' @开放零部件/合同/烤饼/ERC 20 /实用/安全ERC 20.Sol '; Abstractcontracttokenpaymentsplitter { USingSafeerc 20 fori ERC 20; SafeERC20.sol提供了ERC20接口。 使用该接口,可以从ERC20智能合约中调用标准函数,并将这些调用包装在附加功能中,从而更安全地传输令牌。

现在,创建存储合同数据的变量。

Abstractcontracttokenpaymentsplitter { USingSafeerc 20 fori ERC 20; addressinternalpaymentToken; unt 256国际_总共享; unt 256内部_总承载释放; 地址[ ]内部支付; 映射(地址=单元256 )内部共享; 映射(地址=uint 256 )内部_ token已发布; 付款

  • 关注微信

猜你喜欢

.

行情资讯

  • NFT改名“数字藏品” 互联网巨头需要解决的痛点
  • 上海市出台专项规划 利用区块链等技术推进城市
  • 为什么模块化的区块链是加密行业最好的扩容方
  • 为什么《纽约时报》需要token化?
  • 从Layer 0到Layer 2 一文概述状态通道的数学解释
  • 一文读懂以太坊扩容方案
  • 为什么GameFi需要NFT?
  • Bitfinex允许用户通过Simplex支付网关购买加密货币
  • DeFi被监管?政策将如何影响 DeFi 的发展
  • 美国职业摔角上市公司WWE将推出NFT市场

联系我们

微信咨询