Maker Badges – 制造商徽章区块链毕设代写

区块链毕设代写本文提供国外最新区块链项目源码下载,包括solidity,eth,fabric等blockchain区块链,Maker Badges – 制造商徽章区块链毕设代写 是一篇很好的国外资料

Maker Badges - 制造商徽章 Maker Badges - 制造商徽章 Maker Badges - 制造商徽章 Maker Badges - 制造商徽章 Maker Badges - 制造商徽章

Maker Badges - 制造商徽章

Maker Badges - 制造商徽章

Maker Badges

Non-transferable Badges for Maker Ecosystem Activity, CDIP 18, 29

An incentivization protocol to enhance activity on MakerDAO Ecosystem

Mentors

  • Mariano Conti, @nanexcool
  • Josh Crites, @critesjosh
  • Yannis Stamelakos, @i-stam
  • Dror Tirosh (OpenGSN), @drortirosh

Demo
HackMoney

Sections

  • Building Blocks
  • Setup
  • Deploy
  • Interface
  • Backend
  • About

Building Blocks

Maker Badges - 制造商徽章

MakerBadges

MakerBadges to check for activities on MakerDAO ecosystem and keep track of redeemers

To enable MakerBadges to check on-chain for activities on MakerDAO ecosystem we’re using three interface to map the functions that we’ll use:

  • Pot: to check if a user has accrued 1 or more Dai from DSR, via pie(address guy), chi(), rho() and drip() used in the internal function _dai(address guy) to return the wad or the current accrued Dai interest in DSR.
    To check redeemer activities on Pot it uses potChallenge(uint templateId) function.
  • DSChief: to check if a user is voting in an Executive Spell via votes(address) a getter function to check who is currently voting.
    To check redeemer activities on DSChief it uses chiefChallenge(uint templateId) function.
  • Flipper: to check for high bidder in the current Bid in Collateral Auctions via bids(id) a getter function of current Bid on Flipper to check for bids(id).guy the high bidder.
    To check redeemer activities on Flipper it uses flipperChallenge(uint templateId, uint bidId) function.

The functions to check on-chain for activities on Maker Ecosystem will keep track of the caller address into the OpenZeppelin EnumerableSet.AddressSet redeemers by templateId that will be verified in BadgeFactory via verify(uint templateId, address guy) function linked to it, to allow a redeemer to activate a Non-transferable Badge.

MakerBadges, let the owner to set (via setRootHashes(bytes32[]) memory rootHashes) an array of root hashes, called roots, ordered by template Id to allow redemeers checked off-chain for activities via TheGraph on the front-end, and stored into a Merkle Tree, to activate Badge. The getter function roots(uint templateId) is then linked to BadgeFactory and checked via OpenZeppelin MerkleProof.sol verify() function.

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

BadgeRoles

BadgeRoles Access Management for Default Admin, Templater and Pauser Role

BadgeRoles inherits the OpenZeppelin AccessControl.sol, allowing the owner of the contract to be set as Default Admin, Pauser and also as Templater to add a Templater via addTemplater(address guy) and remove a Templater via removeTemplater(address guy) functions.

BadgeFactory

BadgeFactory to manage Templates and activate Non-transferable Badges for redeemers

To enable BadgeFactory to verify redeemers checked on-chain/off-chain for activities on MakerDAO ecosystem, when they try to redeem their Badge, we’re using the interface InsigniaDAO to map the function we’ll use.

In particular, we’ll use:

  • verify(address guy) to verify redeemers checked on-chain.
  • roots(uint templateId) a getter function to return root by templated Id to be verified via MerkleProof.sol verify() function, allowing redeemers checked off-chain and stored into a Merkle Tree to be able to redeem Badges.

A Merkle Tree is generated for every Template and the root hash is updated by owner of MakerBadges daily to allow batches of redeemers to be checked and to redeem Badges.

BadgeFactory inherits BadgeRoles, allowing a Templater to create a new template via createTemplate() specifying name, description and image.

It also inherits ERC721Burnable, where the _transfer() has been overridden to implement Non-transferable feature, allowing redeemers checked on-chain/offchain to redeem a Badge for a specific activity on MakerDAO ecosystem via activateBadge() that will verify if the caller is a redeemer and then will allow the caller to mint a new Non-transferable Badge with tokenURI stored on IPFS (eg. “ipfs.json”).
To avoid that a redeemer could activate the same Badge twice or more, redeemed is introduced to check if a Badge is already activeted and revert the transaction.
The owner of the Badge can then burn it eventually via burnBadge(uint tokenId) specifying the token Id of the Badge.

During deployment the contract sets the following ERC721 metadata:

  • name: “MakerBadges”
  • symbol: “MAKER”
  • baseURI: “https://badges.makerdao.com/token/”

Setup

Clone this GitHub repository.

Steps to compile and test

  • Local dependencies:
    • Truffle
    • Ganache CLI
    • OpenZeppelin Contracts v3.0.1
    • Truffle HD Wallet Provider
    • Truffle-Flattener
    $ 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, in a separate terminal, with the following command (global dependency):
    $ ganache-cli
  • Compile the smart contract using Truffle with the following command (global dependecy):
    $ 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

MythX CLI Report

Contract Line SWC Title Severity Short Description
MakerBadges.sol 209 Timestamp Dependence Low A control flow decision is made based on The block.timestamp environment variable.

Deploy

Deploy on Kovan Testnet

  • Get an Ethereum Account on Metamask.
  • On the landing page, click “Get Chrome Extension.”
  • Create a .secret file cointaining the menomic.
  • Get some test ether from a Kovan’s faucet.
  • Signup Infura.
  • Create new project.
  • Copy the kovan URL into truffle-config.js.
  • Uncomment the following lines in truffle-config.js:
    // const HDWalletProvider = require("@truffle/hdwallet-provider"); // const infuraKey = '...'; // const infuraURL = 'https://kovan.infura.io/...';  // const fs = require('fs'); // const mnemonic = fs.readFileSync(".secret").toString().trim(); 
  • Install Truffle HD Wallet Provider:
    $ npm install @truffle/hdwallet-provider
  • Deploy the smart contract using Truffle & Infura with the following command (global dependency):
    $ truffle migrate --network kovan

Project deployed on Kovan

MakerBadges.sol
BadgeFactory.sol

Interface

  • Frontend

Backend

  • Merkle Service

About

Inspiration & References

  • open-proofs
  • ERC1238
  • ERC721
  • POAP
  • MakerDAO
  • Chai
  • aztec-airdrop

Authors

Project created by Nazzareno Massari and Scott Herren.
Team MetaBadges from HackMoney ETHGlobal Virtual Hackathon.
MakerDAO Badge Illustrations by Richard Rosa


<Maker Badges><Maker Badges><Maker Badges><Maker Badges><Maker Badges><Maker Badges><Maker Badges>Maker Badges - 制造商徽章

Maker Badges - 制造商徽章

Maker Badges - 制造商徽章

创客生态系统活动的不可转让徽章,CDIP 18,29

一个激励协议,以增强MakerDAO生态系统的活动

演示
黑客钱

<Maker Badges>

MakerBadges检查MakerDAO生态系统上的活动并跟踪救赎者

为了使MakerBadges能够检查MakerDAO生态系统上的活动,我们使用了三个接口来映射我们将使用的函数:

在Maker生态系统上检查链上活动的函数将在OpenZeppelin中跟踪调用者地址EnumerableSet.AddressSet通过与之链接的verify(uint templateId,address guy)函数在BadgeFactory中验证的templateId赎回者,允许赎回人激活不可转让的徽章。

MakerBadges,让所有者设置(通过setRootHashes(bytes32[])内存roothash)一个根哈希数组,称为根,按模板Id排序,以允许重新定义者通过前端的图检查活动链,并将其存储到Merkle树中,以激活徽章。然后getter函数根(uint templateId)链接到BadgeFactory并通过OpenZeppelin进行检查梅克尔防病毒.solverify()函数。

合同也继承了OpenZeppelic存取控制要将Pauser角色设置为可以pause()的合同所有者,在紧急情况下unpause()函数(断路器设计模式)。

BadgeRoles访问管理默认Admin、Templater和Pauser角色

BadgeRoles继承OpenZeppelin访问控制.sol,允许将合同的所有者设置为默认管理员,Pauser和Templater通过addTemplater(add guy)添加一个Templater,并通过removeTemplater(address guy)函数删除一个Templater。

BadgeFactory用于管理模板并为赎回者激活不可转让的徽章

为了使BadgeFactory能够验证在MakerDAO生态系统上检查的链上/链下检查的赎回者,当他们试图兑换他们的徽章时,我们使用界面InsigniaDAO来映射我们将使用的功能。

特别是,我们将使用:

为每个模板生成一个Merkle树,并且MakerBadges的所有者每天更新根哈希,以允许检查成批的兑换者并兑换徽章。

BadgeFactory继承BadgeRoles,允许模板员通过createTemplate()指定名称、说明和图像来创建新模板。

它还继承了ERC721Burnable,其中_transfer()已被重写以实现不可转移的功能,允许在链上/链下检查的赎回者通过activateBage()为MakerDAO生态系统上的特定活动兑换徽章,该方法将验证调用方是否为赎回方,然后允许调用方生成一个新的不可转移徽章,其中tokenURI存储在IPFS上(例如“ipfs.json文件“)。
以避免赎回者激活同一个徽章两次或更多次,将引入“兑换”来检查徽章是否已激活并还原交易。
然后,徽章的所有者可以通过指定徽章的令牌Id的burnBadge(uint tokenId)最终刻录它。

在部署期间,契约设置以下ERC721元数据:

克隆此GitHub存储库。

MakerBadges.sol
在獾工厂.sol

由Nazzareno Massari和Scott Herren创建的项目。
来自HackMoney ETHGlobal Virtual Hackathon的团队元地图。
Richard Rosa的MakerDAO徽章插图

制造商徽章

导师

部分

构建块

MakerBadges

BadgeRoles

BadgeFactory

设置

编译和测试的步骤

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

mytx cli报告

部署在Kovan Testnet上的项目灵感和参考文献,@drortirosh
  • 构建块
  • 设置
  • 部署
  • 接口
  • 后端
  • 关于
  • Pot:通过pie(address guy),chi()检查用户是否从DSR累积了1个或多个Dai,rho()和drip()在内部函数_dai(address guy)中用于返回wad或DSR中当前应计的dai利息。
    要检查Pot上的赎回者活动,它使用potChallenge(uint templateId)函数。
  • dscheef:要检查用户是否通过投票(address)在执行拼写中投票,使用getter函数来检查当前谁在投票。
    要检查dscheef上的赎回者活动,它使用chiefChallenge(uint templateId)函数。
  • Flipper:通过出价(id)在抵押品拍卖中检查当前出价中的高出价者(id)Flipper上当前出价的getter函数来检查出价(id)。guy the high bidder。
    要在Flipper上检查赎回者活动,它使用flipperChallenge(uint templateId,uint bidId)函数。
  • verify(address guy)验证在链上检查的赎回者。
  • roots(uint templateId)一个getter函数,通过梅克尔防病毒.solverify()函数,允许赎回者从链下签出并存储到Merkle树中,以便能够兑换徽章。
  • 名称:“MakerBadges”
  • 符号:“MAKER”
  • baseURI:https://badges.makerdao.com/token/“
  • 本地依赖项:Truffle Ganache CLI OpenZeppelin Contracts v3.0.1 Truffle HD Wallet提供商Truffle flanner$npm i
  • Truffle
  • Ganache CLI
  • OpenZeppelin Contracts v3.0.1
  • Truffle HD Wallet提供程序https://github.com/crytic/slither.git&amp;cd滑动器$sudo python3设置.py安装MythX CLI(可选):$git克隆git://github.com/dmuhs/mythx-cli&amp;cd mythx cli$sudo python设置.py安装
  • Truffle(推荐):
  • Ganache CLI(推荐):
  • Slither(可选):
  • MythX CLI(可选):
  • 在单独的终端中启动Ganache CLI,使用以下命令(全局依赖):$ganache cli
  • 使用以下命令(全局依赖)使用Truffle编译智能合约:$Truffle Compile
  • 使用Truffle部署智能合约&amp;使用以下命令的Ganache(全局依赖):$truffle migrate
  • 使用Mocha&OpenZeppelin测试环境测试智能合约:$npm Test
  • 使用Slither使用以下命令分析智能合约(可选):$sliter。
  • 使用MythX CLI和以下命令(可选)分析智能合约:$MythX Analyze
  • 在Metamask上获取以太坊eth帐户。
  • 在登录页上,单击“Get Chrome Extension”。
  • 创建一个包含菜单项的.secret文件。
  • 从科万的水龙头上取些测试乙醚。
  • 注册Infura。
  • 创建新项目。
  • 将kovan URL复制到truffle中-配置文件.
  • 取消truffle中以下行的注释-配置文件://const HDWalletProvider=require(“@truffle/hdwallet provider”);//const infuraKey=’…’;//const infuraURL=’infura.https://kovan。。。’;//const fs=require(’fs’);//const助记符=fs.readFileSync(“.secret”).toString().trim();
  • 安装Truffle HD Wallet Provider:$npm Install@Truffle/hdwallet Provider
  • 使用Truffle&Infura使用以下命令(全局依赖项)部署智能合约:$Truffle migrate–network kovan
  • 前端
  • Merkle服务
  • 开放校对
  • ERC1238
  • ERC721阿兹特克空投MakerBadges.sol 209 时间戳依赖性 低 基于块.时间戳环境变量。在

    Maker Badges - 制造商徽章

    Maker Badges - 制造商徽章

    制造商徽章

    Maker Badges - 制造商徽章

    创客生态系统活动的不可转让徽章,CDIP 18,29

    导师

    • 构建块
    • 设置
    • 部署
    • 接口

    一个激励协议,以增强MakerDAO生态系统的活动

    部分

    • 后端
    • 关于
    • Pot:通过pie(address guy),chi()检查用户是否从DSR累积了1个或多个Dai,rho()和drip()在内部函数_dai(address guy)中用于返回wad或DSR中当前应计的dai利息。
      要检查Pot上的赎回者活动,它使用potChallenge(uint templateId)函数。
    • dscheef:要检查用户是否通过投票(address)在执行拼写中投票,使用getter函数来检查当前谁在投票。
      要检查dscheef上的赎回者活动,它使用chiefChallenge(uint templateId)函数。
    • Flipper:通过出价(id)在抵押品拍卖中检查当前出价中的高出价者(id)Flipper上当前出价的getter函数来检查出价(id)。guy the high bidder。
      要在Flipper上检查赎回者活动,它使用flipperChallenge(uint templateId,uint bidId)函数。
    • verify(address guy)验证在链上检查的赎回者。

    构建块

    MakerBadges

    BadgeRoles

    BadgeFactory

    设置

    编译和测试的步骤

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

    mytx cli报告

    部署在Kovan Testnet上的项目灵感和参考文献,@drortirosh

  • 构建块
  • 设置
  • 部署
  • 接口
  • 后端
  • 关于
  • Pot:通过pie(address guy),chi()检查用户是否从DSR累积了1个或多个Dai,rho()和drip()在内部函数_dai(address guy)中用于返回wad或DSR中当前应计的dai利息。
    要检查Pot上的赎回者活动,它使用potChallenge(uint templateId)函数。
  • dscheef:要检查用户是否通过投票(address)在执行拼写中投票,使用getter函数来检查当前谁在投票。
    要检查dscheef上的赎回者活动,它使用chiefChallenge(uint templateId)函数。
  • Flipper:通过出价(id)在抵押品拍卖中检查当前出价中的高出价者(id)Flipper上当前出价的getter函数来检查出价(id)。guy the high bidder。
    要在Flipper上检查赎回者活动,它使用flipperChallenge(uint templateId,uint bidId)函数。
  • verify(address guy)验证在链上检查的赎回者。
  • roots(uint templateId)一个getter函数,通过梅克尔防病毒.solverify()函数,允许赎回者从链下签出并存储到Merkle树中,以便能够兑换徽章。
  • 名称:“MakerBadges”
  • 符号:“MAKER”
  • baseURI:https://badges.makerdao.com/token/“
  • 本地依赖项:Truffle Ganache CLI OpenZeppelin Contracts v3.0.1 Truffle HD Wallet提供商Truffle flanner$npm i
  • Truffle
  • Ganache CLI
  • OpenZeppelin Contracts v3.0.1
  • Truffle HD Wallet提供程序https://github.com/crytic/slither.git&amp;cd滑动器$sudo python3设置.py安装MythX CLI(可选):$git克隆git://github.com/dmuhs/mythx-cli&amp;cd mythx cli$sudo python设置.py安装
  • Truffle(推荐):
  • Ganache CLI(推荐):
  • Slither(可选):
  • MythX CLI(可选):
  • 在单独的终端中启动Ganache CLI,使用以下命令(全局依赖):$ganache cli
  • 使用以下命令(全局依赖)使用Truffle编译智能合约:$Truffle Compile
  • 使用Truffle部署智能合约&amp;使用以下命令的Ganache(全局依赖):$truffle migrate
  • 使用Mocha&OpenZeppelin测试环境测试智能合约:$npm Test
  • 使用Slither使用以下命令分析智能合约(可选):$sliter。
  • 使用MythX CLI和以下命令(可选)分析智能合约:$MythX Analyze
  • 在Metamask上获取以太坊eth帐户。
  • 在登录页上,单击“Get Chrome Extension”。
  • 创建一个包含菜单项的.secret文件。
  • 从科万的水龙头上取些测试乙醚。
  • 注册Infura。
  • 创建新项目。
  • 将kovan URL复制到truffle中-配置文件.
  • 取消truffle中以下行的注释-配置文件://const HDWalletProvider=require(“@truffle/hdwallet provider”);//const infuraKey=’…’;//const infuraURL=’infura.https://kovan。。。’;//const fs=require(’fs’);//const助记符=fs.readFileSync(“.secret”).toString().trim();
  • 安装Truffle HD Wallet Provider:$npm Install@Truffle/hdwallet Provider
  • 使用Truffle&Infura使用以下命令(全局依赖项)部署智能合约:$Truffle migrate–network kovan
  • 前端
  • Merkle服务
  • 开放校对
  • ERC1238
  • ERC721阿兹特克空投MakerBadges.sol 209 时间戳依赖性 低 基于块.时间戳环境变量。在
  • 演示
    黑客钱

    MakerBadges

    <Maker Badges>

    MakerBadges检查MakerDAO生态系统上的活动并跟踪救赎者

    • roots(uint templateId)一个getter函数,通过梅克尔防病毒.solverify()函数,允许赎回者从链下签出并存储到Merkle树中,以便能够兑换徽章。
    • 名称:“MakerBadges”
    • 符号:“MAKER”

    为了使MakerBadges能够检查MakerDAO生态系统上的活动,我们使用了三个接口来映射我们将使用的函数:

    在Maker生态系统上检查链上活动的函数将在OpenZeppelin中跟踪调用者地址EnumerableSet.AddressSet通过与之链接的verify(uint templateId,address guy)函数在BadgeFactory中验证的templateId赎回者,允许赎回人激活不可转让的徽章。

    MakerBadges,让所有者设置(通过setRootHashes(bytes32[])内存roothash)一个根哈希数组,称为根,按模板Id排序,以允许重新定义者通过前端的图检查活动链,并将其存储到Merkle树中,以激活徽章。然后getter函数根(uint templateId)链接到BadgeFactory并通过OpenZeppelin进行检查梅克尔防病毒.solverify()函数。

    BadgeRoles

    合同也继承了OpenZeppelic存取控制要将Pauser角色设置为可以pause()的合同所有者,在紧急情况下unpause()函数(断路器设计模式)。

    BadgeRoles访问管理默认Admin、Templater和Pauser角色

    BadgeFactory

    BadgeRoles继承OpenZeppelin访问控制.sol,允许将合同的所有者设置为默认管理员,Pauser和Templater通过addTemplater(add guy)添加一个Templater,并通过removeTemplater(address guy)函数删除一个Templater。

    BadgeFactory用于管理模板并为赎回者激活不可转让的徽章

    为了使BadgeFactory能够验证在MakerDAO生态系统上检查的链上/链下检查的赎回者,当他们试图兑换他们的徽章时,我们使用界面InsigniaDAO来映射我们将使用的功能。

    • baseURI:https://badges.makerdao.com/token/“
    • 本地依赖项:Truffle Ganache CLI OpenZeppelin Contracts v3.0.1 Truffle HD Wallet提供商Truffle flanner$npm i

    特别是,我们将使用:

    为每个模板生成一个Merkle树,并且MakerBadges的所有者每天更新根哈希,以允许检查成批的兑换者并兑换徽章。

    BadgeFactory继承BadgeRoles,允许模板员通过createTemplate()指定名称、说明和图像来创建新模板。

    它还继承了ERC721Burnable,其中_transfer()已被重写以实现不可转移的功能,允许在链上/链下检查的赎回者通过activateBage()为MakerDAO生态系统上的特定活动兑换徽章,该方法将验证调用方是否为赎回方,然后允许调用方生成一个新的不可转移徽章,其中tokenURI存储在IPFS上(例如“ipfs.json文件“)。
    以避免赎回者激活同一个徽章两次或更多次,将引入“兑换”来检查徽章是否已激活并还原交易。
    然后,徽章的所有者可以通过指定徽章的令牌Id的burnBadge(uint tokenId)最终刻录它。

    • Truffle
    • Ganache CLI
    • OpenZeppelin Contracts v3.0.1

    设置

    在部署期间,契约设置以下ERC721元数据:

    编译和测试的步骤

    • Truffle HD Wallet提供程序https://github.com/crytic/slither.git&amp;cd滑动器$sudo python3设置.py安装MythX CLI(可选):$git克隆git://github.com/dmuhs/mythx-cli&amp;cd mythx cli$sudo python设置.py安装
    • 使用以下命令(全局依赖)使用Truffle编译智能合约:$Truffle Compile

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

    • 在Metamask上获取以太坊eth帐户。
    • 在登录页上,单击“Get Chrome Extension”。
    • 创建一个包含菜单项的.secret文件。
    • 从科万的水龙头上取些测试乙醚。
    • 注册Infura。
    • 创建新项目。

    mytx cli报告

    Contract Line SWC Title Severity Short Description
    209 时间戳依赖性 基于块.时间戳环境变量。在 A control flow decision is made based on The block.timestamp environment variable.

    部署在Kovan Testnet上的项目灵感和参考文献,@drortirosh
  • 构建块
  • 设置
  • 部署
  • 接口
  • 后端
  • 关于
  • Pot:通过pie(address guy),chi()检查用户是否从DSR累积了1个或多个Dai,rho()和drip()在内部函数_dai(address guy)中用于返回wad或DSR中当前应计的dai利息。
    要检查Pot上的赎回者活动,它使用potChallenge(uint templateId)函数。
  • dscheef:要检查用户是否通过投票(address)在执行拼写中投票,使用getter函数来检查当前谁在投票。
    要检查dscheef上的赎回者活动,它使用chiefChallenge(uint templateId)函数。
  • Flipper:通过出价(id)在抵押品拍卖中检查当前出价中的高出价者(id)Flipper上当前出价的getter函数来检查出价(id)。guy the high bidder。
    要在Flipper上检查赎回者活动,它使用flipperChallenge(uint templateId,uint bidId)函数。
  • verify(address guy)验证在链上检查的赎回者。
  • roots(uint templateId)一个getter函数,通过梅克尔防病毒.solverify()函数,允许赎回者从链下签出并存储到Merkle树中,以便能够兑换徽章。
  • 名称:“MakerBadges”
  • 符号:“MAKER”
  • baseURI:https://badges.makerdao.com/token/“
  • 本地依赖项:Truffle Ganache CLI OpenZeppelin Contracts v3.0.1 Truffle HD Wallet提供商Truffle flanner$npm i
  • Truffle
  • Ganache CLI
  • OpenZeppelin Contracts v3.0.1
  • Truffle HD Wallet提供程序https://github.com/crytic/slither.git&amp;cd滑动器$sudo python3设置.py安装MythX CLI(可选):$git克隆git://github.com/dmuhs/mythx-cli&amp;cd mythx cli$sudo python设置.py安装
  • Truffle(推荐):
  • Ganache CLI(推荐):
  • Slither(可选):
  • MythX CLI(可选):
  • 在单独的终端中启动Ganache CLI,使用以下命令(全局依赖):$ganache cli
  • 使用以下命令(全局依赖)使用Truffle编译智能合约:$Truffle Compile
  • 使用Truffle部署智能合约&amp;使用以下命令的Ganache(全局依赖):$truffle migrate
  • 使用Mocha&OpenZeppelin测试环境测试智能合约:$npm Test
  • 使用Slither使用以下命令分析智能合约(可选):$sliter。
  • 使用MythX CLI和以下命令(可选)分析智能合约:$MythX Analyze
  • 在Metamask上获取以太坊eth帐户。
  • 在登录页上,单击“Get Chrome Extension”。
  • 创建一个包含菜单项的.secret文件。
  • 从科万的水龙头上取些测试乙醚。
  • 注册Infura。
  • 创建新项目。
  • 将kovan URL复制到truffle中-配置文件.
  • 取消truffle中以下行的注释-配置文件://const HDWalletProvider=require(“@truffle/hdwallet provider”);//const infuraKey=’…’;//const infuraURL=’infura.https://kovan。。。’;//const fs=require(’fs’);//const助记符=fs.readFileSync(“.secret”).toString().trim();
  • 安装Truffle HD Wallet Provider:$npm Install@Truffle/hdwallet Provider
  • 使用Truffle&Infura使用以下命令(全局依赖项)部署智能合约:$Truffle migrate–network kovan
  • 前端
  • Merkle服务
  • 开放校对
  • ERC1238
  • ERC721阿兹特克空投MakerBadges.sol 209 时间戳依赖性 低 基于块.时间戳环境变量。在
  • Deploy on Kovan Testnet

    • 将kovan URL复制到truffle中-配置文件.
    • 取消truffle中以下行的注释-配置文件://const HDWalletProvider=require(“@truffle/hdwallet provider”);//const infuraKey=’…’;//const infuraURL=’infura.https://kovan。。。’;//const fs=require(’fs’);//const助记符=fs.readFileSync(“.secret”).toString().trim();
    • 安装Truffle HD Wallet Provider:$npm Install@Truffle/hdwallet Provider
    • 使用Truffle&Infura使用以下命令(全局依赖项)部署智能合约:$Truffle migrate–network kovan
    • 前端
    • Merkle服务
    • 开放校对
    • ERC1238
    • ERC721阿兹特克空投MakerBadges.sol 209 时间戳依赖性 低 基于块.时间戳环境变量。在
    • Deploy the smart contract using Truffle & Infura with the following command (global dependency):
      $ truffle migrate --network kovan

    Project deployed on Kovan

    克隆此GitHub存储库。

    Interface

    • Frontend

    Backend

    • Merkle Service

    About

    Inspiration & References

    • open-proofs
    • ERC1238
    • ERC721
    • POAP
    • MakerDAO
    • Chai
    • aztec-airdrop

    Authors

    MakerBadges.sol
    在獾工厂.sol

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

    www.interchains.cc

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

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

    提供最优质的资源集合

    立即查看 了解详情