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

区块链毕设代写本文提供国外最新区块链项目源码下载,包括solidity,eth,fabric等blockchain区块链,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).

The current iteration implements a custodial pattern where users need to send filecoin to a custodial wallet and they will automatically get the correspondent amount in WFIL to their ethereum addresses.

Future Developments & Features:

We’d like to migrate to a non-custodial pattern where by leveraging Filecoin smart contracts we’d be able to implement a fully decentralized application.

Extend the Filecoin Wallet into a MetaMask for Filecoin.

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:

  • Uniswap
  • WFIL as Collateral on MakerDAO
  • De-Fi

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, set as Default Admin to add/remove a Minter via grantRole(), revokeRole() 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 unwrap() function to burn the WFIL by passing the filecoin address and the amount of WFIL to unwrap as parameters and emitting an event, Unwrapped.

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, _transfer() has been overridden to make sure the recipient address does not correspond to the contract address, and revert if it does.

To manage the wrapping – unwrapping fee, the contract set the Fee Setter role to the owner of the contract that can set the fee via setFee() and the recipient via setFeeTo(). The fee is public and can be queried via the getter function fee().

A Gnosis Safe Multisig is used to receive and store the wrapping fees and set inside the constructor.

Backend

Implements a custodial wallet by leveraging on Lotus APIs.

Via AWS Lambda, allows to automatically wrap/unwrap Filecoin, by minting WFIL from an account set as Minter and calling the unwrap method to burn WFIL by the user.

It’s also connected to Filecoin via Lotus node to check for transactions that are tracked via Textile ThreadDB.

Interface

The Frontend has been implemented via Rimble UI & Rimble Web3 Components and deployed on IPFS via Fleek.

Filecoin Wallet

Implements a Filecoin client by leveraging Lotus APIs.

Further developments of the project include building a MetaMask for Filecoin, creating an extension for Chrome.

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

Project deployed on Rinkeby

WFIL

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.


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

<WFIL>

包装好的Filecoin,ERC20 Wrapper over Filecoin

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

当前迭代实现了一种保管模式,用户需要将filecoin发送到保管钱包,他们将自动将WFIL中的相应金额发送到他们的以太坊eth地址。

未来发展和特点:

我们希望迁移到非托管模式,通过利用Filecoin智能合约,我们能够实现完全分散的应用程序。

将Filecoin钱包扩展为Filecoin的元掩码。

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

应用程序:

WFIL - WFIL公司

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

它允许合同的所有者(设置为默认管理员)通过grantRole()添加/删除Minter,revokeRole()函数利用OpenZeppelin的AccessControl模块来添加/删除Minter。

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

契约还实现unwrap()函数来刻录WFIL,方法是将filecoin地址和要展开的WFIL数量作为参数传递,并发出一个事件Unwrapped。

合同继承OpenZeppelin AccessControl模块,将Pauser角色设置为合同所有者,在紧急情况下可以调用pause()、unpause()函数(断路器设计模式)。

一旦所有者调用pause()函数,由于使用了u beforeTokenTransfer()钩子、u mint()、u burn()和_transfer()内部函数,将恢复。

为了避免用户将WFIL发送到合同地址,已重写了u transfer()以确保收件人地址与合同地址不符,如果不对应,则进行还原。

为了管理包装-拆解费用,合同将费用设置者角色设置为合同的所有者,该所有者可以通过setFee()设置费用,接收者通过setFeeTo()设置费用。费用是公共的,可以通过getter函数fee()进行查询。

Gnosis Safe Multisig用于接收和存储包装费,并在构造函数中设置。

通过利用lotusapi实现保管钱包。

通过AWS Lambda,允许自动包装/打开Filecoin,方法是从设置为Minter的帐户中生成WFIL,并调用unwrap方法来由用户刻录WFIL。

它还通过lotusnode连接到Filecoin,以检查通过Textile ThreadDB跟踪的事务。

前端通过Rimble UI和Rimble Web3组件实现,并通过Fleek部署在IPFS上。

通过利用lotusapi实现Filecoin客户机。进一步的开发项目包括为Chrome创建一个扩展版。

克隆此GitHub存储库。

WFIL

<WFIL>

项目由Nazzareno Massari和Cristiam Da Silva创建。
标志由Cristiam Da Silva提供。

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

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

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

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

WFIL

部分

构建块

WFIL

接口

Filecoin钱包

设置

编译和测试的步骤

使用本地测试网络(ganache cli)运行项目

部署在Rinkeby上的项目

关于

灵感和参考文献。。。
  • 构建块
  • 设置
  • 关于
  • 本地依赖关系: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 Wrapper over Filecoin

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

    当前迭代实现了一种保管模式,用户需要将filecoin发送到保管钱包,他们将自动将WFIL中的相应金额发送到他们的以太坊eth地址。

    未来发展和特点:

    我们希望迁移到非托管模式,通过利用Filecoin智能合约,我们能够实现完全分散的应用程序。

    将Filecoin钱包扩展为Filecoin的元掩码。

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

    应用程序:

    • 构建块
    • 设置
    • 关于
    • 本地依赖关系: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

    构建块

    WFIL - WFIL公司

    WFIL

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

    它允许合同的所有者(设置为默认管理员)通过grantRole()添加/删除Minter,revokeRole()函数利用OpenZeppelin的AccessControl模块来添加/删除Minter。

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

    契约还实现unwrap()函数来刻录WFIL,方法是将filecoin地址和要展开的WFIL数量作为参数传递,并发出一个事件Unwrapped。

    合同继承OpenZeppelin AccessControl模块,将Pauser角色设置为合同所有者,在紧急情况下可以调用pause()、unpause()函数(断路器设计模式)。

    一旦所有者调用pause()函数,由于使用了u beforeTokenTransfer()钩子、u mint()、u burn()和_transfer()内部函数,将恢复。

    为了避免用户将WFIL发送到合同地址,已重写了u transfer()以确保收件人地址与合同地址不符,如果不对应,则进行还原。

    为了管理包装-拆解费用,合同将费用设置者角色设置为合同的所有者,该所有者可以通过setFee()设置费用,接收者通过setFeeTo()设置费用。费用是公共的,可以通过getter函数fee()进行查询。

    Gnosis Safe Multisig用于接收和存储包装费,并在构造函数中设置。

    接口

    通过利用lotusapi实现保管钱包。

    通过AWS Lambda,允许自动包装/打开Filecoin,方法是从设置为Minter的帐户中生成WFIL,并调用unwrap方法来由用户刻录WFIL。

    它还通过lotusnode连接到Filecoin,以检查通过Textile ThreadDB跟踪的事务。

    Filecoin钱包

    前端通过Rimble UI和Rimble Web3组件实现,并通过Fleek部署在IPFS上。

    设置

    通过利用lotusapi实现Filecoin客户机。进一步的开发项目包括为Chrome创建一个扩展版。

    克隆此GitHub存储库。

    编译和测试的步骤

    WFIL

    使用本地测试网络(ganache cli)运行项目

    • Truffle HD Wallet提供程序
    • 使用以下命令启动Ganache CLI(全局依赖):$Ganache CLI

    部署在Rinkeby上的项目

    • 使用MythX CLI和以下命令(可选)分析智能合约:$MythX Analyze
    • 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

    关于

    WFIL

    灵感和参考文献。。。
  • 构建块
  • 设置
  • 关于
  • 本地依赖关系: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
  • Inspiration & References

    <WFIL>

    Authors

    项目由Nazzareno Massari和Cristiam Da Silva创建。
    标志由Cristiam Da Silva提供。

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

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

    www.interchains.cc

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

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

    提供最优质的资源集合

    立即查看 了解详情