WFIL – WFIL公司区块链毕设代写

区块链毕设代写本文提供国外最新区块链项目源码下载,包括solidity,eth,fabric等blockchain区块链,WFIL – WFIL公司区块链毕设代写 是一篇很好的国外资料

WFIL - WFIL公司 WFIL - WFIL公司 WFIL - WFIL公司 WFIL - WFIL公司 WFIL - WFIL公司 WFIL - WFIL公司

WFIL - WFIL公司

WFIL

Wrapped Filecoin, ERC20 Wrapper over Filecoin

WFIL is the first ERC20 wrapper over Filecoin backed by Filecoin deposits on a custodian wallet (1:1 ratio).

WFIL is implemented using OpenZeppelin ERC20 module and controlled by a Factory contract, set as minter by a DAO multisig contract (Gnosis Safe), to allow merchants and custodians to add mint/burn requests via ad-hoc APIs that interact with OpenZeppelin Defender Relay.

Merchants and Custodians are approved by DAO members via Multisignatures.

Future Developments & Features:

We plan to develop a non-custodian version where by leveraging Filecoin smart contracts we’d be able to implement a fully decentralized application.

One of the features we’re considering is to add the permit() function to WFIL to allow meta transactions by leveraging on OpenZeppelin ERC20Permit module (currently in progress) and incentivise adoption in the space.

Applications:

  • Lending Platforms (MakerDAO, Compound, Aave)
  • Liquidity Pools (Curve, Balancer)
  • Uniswap
  • De-Fi
  • Access to Filecoin Storage Deals to Ethereum Users

Sections

  • Building Blocks
  • Setup
  • About

Building Blocks

WFIL - WFIL公司

WFIL

Implements an ERC20 token by leveraging on OpenZeppelin Library.

It allows the owner of the contract, a multisig contract (Gnosis Safe) to add/remeove a Minter (Factory contract) via addMinter, removeMinter functions by leveraging on AccessControl module by OpenZeppelin.

The contract implements the wrap function to mint WFIL by passing the recepient address and the amount of Filecoin to wrap as parameters and emitting an event, Wrapped.

The contract also implements the unwrapFrom function to allow the Factory contract to burn the WFIL by passing the holder address and the amount of WFIL to burn as parameters and emitting an event, Unwrapped. In order to mitigate Allowance Double-Spend Exploit we recommend merchants to use increaseAllowance and decreaseAllowance functions.

The contract inherits OpenZeppelin AccessControl module to set the Pauser role to the owner of the contract that can call the pause, unpause functions in case of emergency (Circuit Breaker Design Pattern).

Once the owner call the pause function, thanks to the _beforeTokenTransfer() hook, _mint(), _burn() and _transfer() internal functions, will revert.
To avoid users from sending WFIL to the contract address, _beforeTokenTransfer() checks the recipient address to make sure it does not correspond to the contract address, and revert if it does on _mint and _transfer functions.

A Gnosis Safe Multisig is set as owner during deployment (dao_) to allow DAO members to grant the Minter Role to the Factory contract and future versions.

Setup

Clone this GitHub repository.

Steps to compile and test

  • Local dependencies:
    • Truffle
    • Ganache CLI
    • OpenZeppelin Contracts v3.1.0
    • Truffle HD Wallet Provider
    • Truffle-Flattener
    • Truffle-Plugin-Verify
    • Solhint
    $ npm i
  • Global dependencies:
    • Truffle (recommended):
    $ npm install -g truffle
    • Ganache CLI (recommended):
    $ npm install -g ganache-cli
    • Slither (optional):
    $ git clone https://github.com/crytic/slither.git && cd slither $ sudo python3 setup.py install
    • MythX CLI (optional):
    $ git clone git://github.com/dmuhs/mythx-cli && cd mythx-cli $ sudo python setup.py install

Running the project with local test network (ganache-cli)

  • Start ganache-cli with the following command (global dependency):
    $ ganache-cli
  • Compile the smart contract using Truffle with the following command (global dependency):
    $ truffle compile
  • Deploy the smart contracts using Truffle & Ganache with the following command (global dependency):
    $ truffle migrate
  • Test the smart contracts using Mocha & OpenZeppelin Test Environment with the following command:
    $ npm test
  • Analyze the smart contracts using Slither with the following command (optional):
    $ slither .
  • Analyze the smart contracts using MythX CLI with the following command (optional):
    $ mythx analyze

Development deployment

WFIL 0.7.0 (Rinkeby): 0xf33b9e9cc559329e25ca76e338e21e8e24e14c24

About

Inspiration & References

WFIL - WFIL公司

Authors

Project created by Nazzareno Massari and Cristiam Da Silva.
Logo by Cristiam Da Silva.

We use optional third-party analytics cookies to understand how you use GitHub.com so we can build better products. Learn more.

cleanup


<WFIL><WFIL><WFIL><WFIL><WFIL><WFIL><WFIL><WFIL><WFIL>WFIL - WFIL公司

<WFIL>

包装好的Filecoin,ERC20包装在Filecoin上

WFIL是第一个由保管钱包上的Filecoin存款支持的ERC20包装器(1:1比率)。

WFIL使用OpenZeppelin ERC20模块实现,并由工厂合同控制,由DAO multisig合同(Gnosis Safe)设置为minter,允许商家和保管人通过与OpenZeppelin Defender中继交互的即席API添加薄荷/烧录请求。

商户和托管人由DAO成员通过多重签名批准。

未来发展和特点:

我们计划开发一个非托管版本,通过利用Filecoin智能合约,我们可以实现完全分散的应用程序。

我们正在考虑的一个特性是在WFIL中添加permit()函数,通过利用OpenZeppelin ERC20Permit模块(目前正在进行)来允许元事务,并鼓励该领域的采用。

应用程序:

通过利用OpenZeppelin库实现ERC20令牌。

它允许合同的所有者,一个multisig合同(Gnosis Safe)通过addMinter和removeMinter函数添加/重新删除Minter(工厂合同),利用OpenZeppelin的AccessControl模块。

契约实现wrap函数来生成WFIL,方法是将recepient地址和要包装的Filecoin量作为参数传递,并发出一个事件Wrapped。

合同还实现了UnwrappFrom功能,允许工厂合同通过将持有者地址和要刻录的WFIL数量作为参数传递并发出一个事件Unwrapped来刻录WFIL。为了减少津贴双倍使用漏洞,我们建议商家使用增加津贴和减少津贴功能。

合同继承OpenZeppelin AccessControl模块,将Pauser角色设置为合同所有者,在紧急情况下可以调用暂停、取消暂停功能(断路器设计模式)。如果要避免contract()调用address()函数,则要确保contract()不会从contract()中转移地址,这要感谢

Gnosis Safe Multisig被设置为部署期间的所有者(dao_u),以允许dao成员向工厂契约和未来版本授予Minter角色。

克隆此GitHub存储库。

wfil0.7.0(Rinkeby):0xf33b9e9cc559329e25ca76e38e21e8e24e14c24

WFIL - WFIL公司

由Nazzareno Massari和Cristiam Da Silva创建的项目。
Cristiam Da Silva的徽标。

我们使用可选的第三方分析cookies来了解您如何使用GitHub.com网站所以我们可以制造更好的产品。了解更多。

我们使用可选的第三方分析cookies来了解您如何使用GitHub.com网站所以我们可以制造更好的产品。
您可以随时通过单击页面底部的Cookie首选项来更新您的选择。有关更多信息,请参阅我们的隐私声明。

我们使用基本Cookie来执行基本的网站功能,例如,它们用于让您登录。了解更多

我们使用analytics Cookie来了解您如何使用我们的网站,以便我们能够使其变得更好,例如,它们用于收集有关您访问的页面以及完成一项任务需要多少次单击的信息。了解更多

WFIL

部分

构建块

WFIL

安装

使用本地测试网络(ganache cli)运行项目的步骤;参考文献

作者

基本cookies
始终活跃的
分析cookies
  • 贷款平台(MakerDAO、Compound、Aave)
  • 流动性池(曲线、平衡器)
  • Uniswap
  • De Fi
  • 以太坊eth用户访问Filecoin存储交易
  • 。。。
  • 构建块
  • 设置
  • 关于
  • 本地依赖关系:Truffle Ganache CLI OpenZeppelin Contracts v3.1.0 Truffle HD Wallet提供商Truffle flanner Truffle Plugin Verify Solhint$npm i
  • Truffle
  • Ganache CLI
  • OpenZeppelin Contracts v3.1.0
  • Truffle HD Wallet提供程序
  • Truffle flanter
  • Truffle Plugin Verify
  • 全局依赖项:Truffle(推荐):$npm install-g Truffle Ganache CLI(推荐):$npm install-g Ganache CLI Slither(可选):$git clonehttps://github.com/crytic/slither.git&amp&amp;cd滑动器$sudo python3设置.py安装MythX CLI(可选):$git clonegit://github.com/dmuhs/mythx-cli&amp&amp;cd mythx cli$sudo python设置.py安装
  • Truffle(推荐):
  • Ganache CLI(推荐):
  • Slither(可选):
  • MythX CLI(可选):
  • 使用以下命令启动Ganache CLI(全局依赖):$Ganache CLI
  • 使用Truffle编译智能合约命令(全局依赖):$truffle compile
  • 使用以下命令(全局依赖)使用truffle&Ganache部署智能合约:$truffle migrate
  • 使用Mocha&amp;测试智能合约;使用以下命令打开zeppelin测试环境:$npm Test
  • 使用sliter和以下命令(可选)分析智能合约:$sliter。
  • 使用MythX CLI和以下命令(可选)分析智能合约:$MythX Analyze
  • <WFIL>

    WFIL

    包装好的Filecoin,ERC20包装在Filecoin上

    WFIL是第一个由保管钱包上的Filecoin存款支持的ERC20包装器(1:1比率)。

    WFIL使用OpenZeppelin ERC20模块实现,并由工厂合同控制,由DAO multisig合同(Gnosis Safe)设置为minter,允许商家和保管人通过与OpenZeppelin Defender中继交互的即席API添加薄荷/烧录请求。

    商户和托管人由DAO成员通过多重签名批准。

    未来发展和特点:

    我们计划开发一个非托管版本,通过利用Filecoin智能合约,我们可以实现完全分散的应用程序。

    我们正在考虑的一个特性是在WFIL中添加permit()函数,通过利用OpenZeppelin ERC20Permit模块(目前正在进行)来允许元事务,并鼓励该领域的采用。

    应用程序:

    • 贷款平台(MakerDAO、Compound、Aave)
    • 流动性池(曲线、平衡器)
    • Uniswap
    • De Fi
    • 以太坊eth用户访问Filecoin存储交易
    • 。。。

    部分

    • 构建块
    • 设置
    • 关于

    构建块

    通过利用OpenZeppelin库实现ERC20令牌。

    WFIL

    它允许合同的所有者,一个multisig合同(Gnosis Safe)通过addMinter和removeMinter函数添加/重新删除Minter(工厂合同),利用OpenZeppelin的AccessControl模块。

    契约实现wrap函数来生成WFIL,方法是将recepient地址和要包装的Filecoin量作为参数传递,并发出一个事件Wrapped。

    合同还实现了UnwrappFrom功能,允许工厂合同通过将持有者地址和要刻录的WFIL数量作为参数传递并发出一个事件Unwrapped来刻录WFIL。为了减少津贴双倍使用漏洞,我们建议商家使用增加津贴和减少津贴功能。

    合同继承OpenZeppelin AccessControl模块,将Pauser角色设置为合同所有者,在紧急情况下可以调用暂停、取消暂停功能(断路器设计模式)。如果要避免contract()调用address()函数,则要确保contract()不会从contract()中转移地址,这要感谢

    Gnosis Safe Multisig被设置为部署期间的所有者(dao_u),以允许dao成员向工厂契约和未来版本授予Minter角色。

    克隆此GitHub存储库。

    wfil0.7.0(Rinkeby):0xf33b9e9cc559329e25ca76e38e21e8e24e14c24

    安装

    WFIL - WFIL公司

    使用本地测试网络(ganache cli)运行项目的步骤;参考文献

    • 本地依赖关系:Truffle Ganache CLI OpenZeppelin Contracts v3.1.0 Truffle HD Wallet提供商Truffle flanner Truffle Plugin Verify Solhint$npm i
    • Truffle(推荐):

    作者

    • 使用Truffle编译智能合约命令(全局依赖):$truffle compile
    • 使用以下命令(全局依赖)使用truffle&Ganache部署智能合约:$truffle migrate
    • 使用Mocha&amp;测试智能合约;使用以下命令打开zeppelin测试环境:$npm Test
    • 使用sliter和以下命令(可选)分析智能合约:$sliter。
    • 使用MythX CLI和以下命令(可选)分析智能合约:$MythX Analyze
    • Analyze the smart contracts using MythX CLI with the following command (optional):
      $ mythx analyze

    基本cookies

    由Nazzareno Massari和Cristiam Da Silva创建的项目。
    Cristiam Da Silva的徽标。

    始终活跃的

    分析cookies

    我们使用可选的第三方分析cookies来了解您如何使用GitHub.com网站所以我们可以制造更好的产品。了解更多。

    Authors

    我们使用可选的第三方分析cookies来了解您如何使用GitHub.com网站所以我们可以制造更好的产品。
    您可以随时通过单击页面底部的Cookie首选项来更新您的选择。有关更多信息,请参阅我们的隐私声明。

    我们使用基本Cookie来执行基本的网站功能,例如,它们用于让您登录。了解更多

    cleanup

    部分转自网络,侵权联系删除区块链源码网

    www.interchains.cc

    https://www.interchains.cc/18976.html

    区块链毕设网(www.interchains.cc)全网最靠谱的原创区块链毕设代做网站 部分资料来自网络,侵权联系删除! 最全最大的区块链源码站 ! QQ3039046426
    区块链知识分享网, 以太坊dapp资源网, 区块链教程, fabric教程下载, 区块链书籍下载, 区块链资料下载, 区块链视频教程下载, 区块链基础教程, 区块链入门教程, 区块链资源 » WFIL – WFIL公司区块链毕设代写

    提供最优质的资源集合

    立即查看 了解详情