基于区块链的毕业设计🏗 scaffold-eth – 🏗 脚手架eth

本文提供基于区块链的毕业设计国外最新区块链项目源码下载,包括solidity,eth,fabric等blockchain区块链,基于区块链的毕业设计🏗 scaffold-eth – 🏗 脚手架eth 是一篇很好的国外资料

🏗 scaffold-eth

is everything you need to get started building decentralized applications powered by smart contracts


quickstart

yarn install  yarn start 

in a second terminal window:

yarn run chain 

in a third terminal window:

yarn run deploy 

🔏 Edit your smart contract YourContract.sol in packages/buidler/contracts

📝 Edit your frontend App.jsx in packages/react-app/src

📱 Open http://localhost:3000 to see the app

With everything up your dev environment starts looking something like this:

🏗 scaffold-eth - 🏗 脚手架eth

React dev server, Buidler blockchain, deploy terminal, code IDE, and frontend browser.

📚 Keep solidity by example handy and check out the Solidity globals and units

👨‍🏫 Maybe start super simple and add a counter uint8 public count = 1;

⬇️ Then a function dec() public {} that does a count = count - 1;

🔬 What happens with you subtract 1 from 0? Try it out in the app to see what happens!

🧫 You can iterate and learn as you go.

🔐 Global variables like msg.sender and msg.value are cryptographically backed and can be used to make rules

📝 Keep this cheat sheet handy

Maybe we could use block.timestamp or block.number to track time in our contract

🔏 Or maybe keep track of an address public owner; then make a rule like require( msg.sender == owner ); for an important function

🧾 Maybe create a smart contract that keeps track of a mapping ( address => uint256 ) public balance;

🏦 It could be like a decentralized bank that you function deposit() public payable {} and withdraw()

📟 Events are really handy for signaling to the frontend. Read more about events here.

📲 Spend some time in App.jsx in packages/react-app/src and learn about the 🛰 Providers

🐜 The UI framework Ant Design has a bunch of great components.

📃 Check the console log for your app to see some extra output from hooks like useContractReader and useEventListener.

🏗 You’ll notice the <Contract /> component that displays the dynamic form as scaffolding for interacting with your contract.

🔲 Try making a <Button/> that calls writeContracts.YourContract.setPurpose("👋 Hello World") to explore how your UI might work

🧬 Next learn about structs in Solidity.

🗳 Maybe an make an array YourStructName[] public proposals; that could call be voted on with function vote() public {}

🔭 Your dev environment is perfect for testing assumptions and learning by prototyping.

📝 Next learn about the fallback function

💸 Maybe add a receive() external payable {} so your contract will accept ETH?

🚁 OH! Programming decentralized money! 😎 So rad!

🛰 Ready to deploy to a testnet? Change the defaultNetwork in packages/buidler/buidler.config.js

🔐 Generate a deploy account with yarn run generate and view it with yarn run account

👩‍🎓 You can “graduate” from 🏗 scaffold-eth and start using 👷 Buidler and 📦 create-eth-app “standalone”

( You will probably want to take some of the 🔗 hooks, 🎛 components with you from 🏗 scaffold-eth so we started 🖇 eth-hooks )

🚀 Good luck!


Quickstart: 🔬 Smart Contract Sandbox

Learn how to quickly iterate on a smart contract app using the <Contract /> component.


Join the telegram support chat 💬 to ask questions and find others building with 🏗 scaffold-eth!


🏗 scaffold-eth - 🏗 脚手架eth


Tutorial 1: 🛠 Programming Decentralized Money

Learn the basics of 🏗 scaffold-eth and building on Ethereum. 👷‍♂️ Buidler, 📦 create-eth-app, 🔥 hot reloading smart contracts, 🛰 providers, 🔗 hooks, 🎛 components, and building a decentralized application. 🎥 Guided Tutorial


Tutorial 2: 🏵 The Token

Learn about tokens. [coming soon] What is a token? Why is it cool? How can I deploy one? Exotic mechanisms? (todo)


Tutorial 3: ⚖️ Minimum Viable Decentralized Exchange

Learn the basics of Automated Market Makers like 🦄 Uniswap. Learn how 💰Reserves affect the 📉 price, ⚖️ trading, and 💦 slippage from low liqudity.

🏃‍♀️ SpeedRun 📹


Tutorial 4: 🚀 Connecting ETH to IPFS

Build a simple IPFS application in 🏗 scaffold-eth to learn more about distributed file storage and content addressing. 🎥 Live Tutorial


Tutorial 5: ⛽️GSN and Meta Transactions

Learn about to provide your users with better UX by abstracting away gas fees and blockchain mechanics. (todo)


Tutorial 6: 🛰 Decentralized Deployment

Learn how to deploy your smart contract to a production blockchain. Then deploy your applicaton to Surge, S3, and IPFS. Finally, register an ENS and point it at the decentralized content! 🎥 Live Tutorial


built with 🏗 scaffold-eth:

👩‍🎨 Nifty Ink

Paintings come to life as you “ink” new creations and trade them on Ethereum. A deep dive into 🖼 NFTs, 🐳 OpenSea, 🖍 react-canvas-draw, 🎨 react-color, and 🛬 onboarding user experience.

🏃‍♂️ SpeedRun 📹 (TODO)

💾 Source Code


🧙‍♂️ Instant Wallet

An instant wallet running on xDAI insired by xdai.io.

💾 Source Code


🗳 Personal Token Voting

Poll your holders! Build an example emoji voting system with 🏗 scaffold-eth. 🔏 Cryptographically signed votes but tracked off-chain with 📡 Zapier and 📑 Google Sheets.

🏃‍♂️ SpeedRun 📹

💾 Source Code


🌒 xmoon.exchange

Exchange Reddit MOONs for ETH or DAI through xDAI. Learn about different 🛰 providers and how 🌉 bridges can connect different chains with different security models.

🏃‍♂️ SpeedRun 📹

💾 Source Code


Obituary.space

Remember someone permanently on the blockchain. Write an obituary and upload a photo of a person and their memory will be encoded on the blockchain, forever.


^^^ PR your 🏗 scaffold-eth project in above!!! ^^^


🧫 Building on Ethereum in 2020 (research)


Original Quickstart with TODO List:

First, you’ll need NodeJS>=10 plus Yarn and Git installed.

💾 install:

git clone https://github.com/austintgriffith/scaffold-eth.git rad-new-dapp  cd rad-new-dapp  git checkout quickstart  yarn install

⌚️ This will take some time. How about a quick tour of the file structure with your favorite code editor?

💡 Sometimes the install throws errors like “node-gyp”, try the next step even if you see problems.
(You can also download the Apple command line tools to fix the warning.)


🎛 frontend

yarn start

📝 Edit your frontend App.jsx in packages/react-app/src and open http://localhost:3000


blockchain

yarn run chain

Note: You’ll need to run this command in a new terminal window

🛠 Use this eth.build to double-check your local chain and account balances


⚙️ Compile your contracts:

yarn run compile

🚢 Deploy your contracts to the frontend:

yarn run deploy

🔍 Watch for changes then compile, deploy, and hot reload the frontend:

yarn run watch

🔥 Your dapp hot reloads as you build your smart contracts and frontend together 🔥


📝 Edit your smart contract SmartContractWallet.sol in packages/buidler/contracts

🤡 There is a spelling error in packages/buidler/contracts/SmartContractWallet.sol!

🤔 Can you fix it and deploy the contract locally?

🏗 scaffold-eth - 🏗 脚手架eth

☢️ Warning: It is very important that you find SmartContractWallet.sol in packages/buidler/contracts because there are other contract folders and it can get confusing.

🔬Test your contracts by editing myTest.js in packages/buidler/contracts:

yarn run test

🗝 List your local accounts:

yarn run accounts

💰 Check account balance:

yarn run balance **YOUR-ADDRESS**

💸 Send ETH:

yarn run send --from 0 --amount 0.5 --to **YOUR-ADDRESS**

🔧 Configure 👷Buidler by editing buidler.config.js in packages/buidler


The BuidlerEVM provides stack traces and console.log debugging for our contracts


🏃‍♂️ Speedrun (🎥 7 min):

🏗 scaffold-eth - 🏗 脚手架eth


🔬 Smart Contract Sandbox:

💾 install:

git clone https://github.com/austintgriffith/scaffold-eth.git smart-contract-sandbox  cd smart-contract-sandbox  yarn install

⚙️ start

#run in original terminal window: yarn start #run in terminal window 2: yarn run chain #run in terminal window 3: yarn run deploy

🔏 Edit or rename your smart contract YourContract.sol in packages/buidler/contracts

📝 Edit your frontend App.jsx in packages/react-app/src

📱 Open http://localhost:3000 to see the app

☢️ Make sure are running your local chain yarn run chain and your contract is deployed with yarn run deploy

🔥 Try yarn run watch and as you change your Solidity, your frontend <Contract/> will hot reload to give you access to new variables and functions:

📽 Video Guide

📚 RTFM: Check out solidity by example and check out the Solidity globals and units

🚀 Good luck, and go get ’em!


🔏 Web3 Providers:

The frontend has three different providers that provide different levels of access to different chains:

mainnetProvider: (read only) Infura connection to main Ethereum network (and contracts already deployed like DAI or Uniswap).

localProvider: local Buidler accounts, used to read from your contracts (.env file points you at testnet or mainnet)

injectedProvider: your personal MetaMask, WalletConnect via Argent, or other injected wallet (generates burner-provider on page load)


🐜 Ant.design is the UI library with components like the grids, menus, dates, times, buttons, etc.


Helpers:

Transactor: The transactor returns a tx() function to make running and tracking transactions as simple and standardized as possible. We will bring in BlockNative’s Notify library to track our testnet and mainnet transactions.

const tx = Transactor(props.injectedProvider, props.gasPrice);

Then you can use the tx() function to send funds and write to your smart contracts:

tx({   to: readContracts[contractName].address,   value: parseEther("0.001"), });
tx(writeContracts["SmartContractWallet"].updateOwner(newOwner));

☢️ Warning: You will need to update the configuration for react-app/src/helpers/Transactor.js to use your BlockNative dappId


🖇 Hooks:

Commonly used Ethereum hooks located in packages/react-app/src/:

usePoller(fn, delay): runs a function on app load and then on a custom interval

usePoller(() => {   //do something cool at start and then every three seconds }, 3000);

useBalance(address, provider, [pollTime]): poll for the balance of an address from a provider

const localBalance = useBalance(address, localProvider);

useBlockNumber(provider,[pollTime]): get current block number from a provider

const blockNumber = useBlockNumber(props.provider);

useGasPrice([speed]): gets current “fast” price from ethgasstation

const gasPrice = useGasPrice();

useExchangePrice(mainnetProvider, [pollTime]): gets current price of Ethereum on the Uniswap exchange

const price = useExchangePrice(mainnetProvider);

useContractLoader(provider): loads your smart contract interface

const readContracts = useContractLoader(localProvider); const writeContracts = useContractLoader(injectedProvider);

useContractReader(contracts, contractName, variableName, [pollTime]): reads a variable from your contract and keeps it in the state

const title = useContractReader(props.readContracts, contractName, "title"); const owner = useContractReader(props.readContracts, contractName, "owner");

useEventListener(contracts, contractName, eventName, [provider], [startBlock]): listens for events from a smart contract and keeps them in the state

const ownerUpdates = useEventListener(   readContracts,   contractName,   "UpdateOwner",   props.localProvider,   1 );

📦 Components:

Your commonly used React Ethereum components located in packages/react-app/src/:

📬 <Address />: A simple display for an Ethereum address that uses a Blockie, lets you copy, and links to Etherescan.

  <Address value={address} />   <Address value={address} size="short" />   <Address value={address} size="long" blockexplorer="https://blockscout.com/poa/xdai/address/"/>   <Address value={address} ensProvider={mainnetProvider}/>

🏗 scaffold-eth - 🏗 脚手架eth

🖋 <AddressInput />: An input box you control with useState for an Ethereum address that uses a Blockie and ENS lookup/display.

  const [ address, setAddress ] = useState("")   <AddressInput     value={address}     ensProvider={props.ensProvider}     onChange={(address)=>{       setAddress(address)     }}   />

TODO GIF

💵 <Balance />: Displays the balance of an address in either dollars or decimal.

<Balance   address={address}   provider={injectedProvider}   dollarMultiplier={price} />

🏗 scaffold-eth - 🏗 脚手架eth

👤 <Account />: Allows your users to start with an Ethereum address on page load but upgrade to a more secure, injected provider, using Web3Modal. It will track your address and localProvider in your app’s state:

const [address, setAddress] = useState(); const [injectedProvider, setInjectedProvider] = useState(); const price = useExchangePrice(mainnetProvider);
<Account   address={address}   setAddress={setAddress}   localProvider={localProvider}   injectedProvider={injectedProvider}   setInjectedProvider={setInjectedProvider}   dollarMultiplier={price} />

🏗 scaffold-eth - 🏗 脚手架eth

💡 Notice: the <Account /> component will call setAddress and setInjectedProvider for you.

☢️ Warning: You will need to update the configuration for Web3Modal to use your Infura Id

📡 <Provider />: You can choose to display the provider connection status to your users with:

<Provider name={"mainnet"} provider={mainnetProvider} /> <Provider name={"local"} provider={localProvider} /> <Provider name={"injected"} provider={injectedProvider} />

🏗 scaffold-eth - 🏗 脚手架eth

💡 Notice: you will need to check the network id of your injectedProvider compared to your localProvider or mainnetProvider and alert your users if they are on the wrong network!


📄 Smart Contract Wallet:

📝 Edit your smart contract SmartContractWallet.sol in packages/buidler/contracts

📝 Then edit the SmartContractWallet.js React component in packages/react-app/src

▶️ Run yarn run compile and yarn run deploy or just yarn run watch

🏗 scaffold-eth - 🏗 脚手架eth

🛠 Run this eth.build with your contract address to ask it who its owner is.


📚 OpenZeppelin Contracts — TODO

You can import any of the OpenZeppelin contracts:

import "@openzeppelin/contracts/token/ERC20/IERC20.sol";

🛰 The Graph — TODO

⛽️ GSN — TODO


📤 Save to your Git

Create a new repo with the same name as this project and then:

git remote add origin https://github.com/**YOUR_GITHUB_USERNAME**/**YOUR_COOL_PROJECT_NAME**.git git push -u origin master

🛳 Ship it!

You can deploy your static site and your dapp can go live:

yarn run build  # ship it!  yarn run surge  OR  yarn run s3  OR  yarn run ipfs

🏗 scaffold-eth

在第二个终端窗口:


quickstart

yarn install  yarn start 

在第三个终端窗口:

yarn run chain 

在第三个终端窗口:

yarn run deploy 

🔏 编辑智能合约你的合同.sol在包/制造商/合同中

📝 编辑前端应用程序jsx在软件包中/react app/src

📱 打开http://localhost:3000查看应用程序

在您的开发环境中开始如下所示:

<🏗 scaffold-eth>

React开发服务器、Buildler区块链blockchain、部署终端、代码IDE和前端浏览器。

📚 通过示例保存solidity并查看solidity全局参数和单位

👨‍🏫 也许从super-simple开始,添加一个计数器uint8 public count=1;

⬇️ 然后是一个函数dec()public{},它执行count=count-1;

🔬 从0减去1会怎么样?在应用程序中试试看会发生什么!

🧫 你可以边走边学。

🔐 全局变量如消息发送者以及消息值有密码支持,可用于制定规则

📝 把这张备忘单放在手边

⏳ 也许我们可以利用块.时间戳或者区块编号跟踪合同中的时间

🔏 或者跟踪地址的公共所有者,然后制定一个规则,比如require(消息发送者==所有者);对于重要功能

🧾 也许可以创建一个智能合约来跟踪映射(address=&gt;uint256)public balance;

🏦 它可以像一个分散的银行,您可以使用deposit()public payment{}和draft()

📟 事件对于向前端发出信号非常方便。在这里阅读更多关于事件的信息。

📲 花点时间在应用程序jsx在packages/react app/src中,了解🛰 提供商

🐜 UI框架Ant设计有很多很棒的组件。

📃 查看应用程序的控制台日志,查看useContractReader和useEventListener等钩子的额外输出。

🏗 您会注意到&lt;Contract/&gt;组件将动态表单显示为与合同交互的支架。

🔲 试着按一下按钮来呼叫writeContracts.YourContract.setPurpose(“👋 Hello World“)来探索用户界面的工作方式

🧬 下一步了解坚固结构。

🗳 可能是一个数组YourStructName[]public propositions;可以使用函数vote()public{}对该调用进行投票

🔭 您的开发环境非常适合测试假设和通过原型学习。

📝 接下来了解回退功能

💸 也许添加一个receive()external payment{}以便您的合同将接受ETH?

🚁 哦!编程分散资金!😎 太棒了!

🛰 准备好部署到测试网了吗?在packages/buidler中更改defaultNetwork/builder.config.js

🔐 使用yarn run Generate生成部署帐户,并使用yarn run account查看它

👩‍🎓 你可以从🏗 脚手架eth并开始使用👷 Buidler和📦 创建eth应用程序“独立”

(您可能需要🔗 钩子,🎛 来自的组件🏗 我们就这样开始了🖇 eth挂钩)

🚀 祝你好运!


Quickstart: 🔬 Smart Contract Sandbox

Learn how to quickly iterate on a smart contract app using the <Contract /> component.


Join the telegram support chat 💬 to ask questions and find others building with 🏗 scaffold-eth!


了解如何使用&lt;contract/&gt;组件在智能合约应用程序上快速迭代。


加入telegram支持聊天💬 问问题,找其他人🏗 脚手架eth!

Tutorial 1: 🛠 Programming Decentralized Money

了解令牌。什么是代币?为什么这么酷?如何部署?奇异的机制?(todo)

Learn the basics of 🏗 scaffold-eth and building on Ethereum. 👷‍♂️ Buidler, 📦 create-eth-app, 🔥 hot reloading smart contracts, 🛰 providers, 🔗 hooks, 🎛 components, and building a decentralized application. 🎥 Guided Tutorial


Tutorial 2: 🏵 The Token

Learn about tokens. [coming soon] What is a token? Why is it cool? How can I deploy one? Exotic mechanisms? (todo)


Tutorial 3: ⚖️ Minimum Viable Decentralized Exchange

学习自动化做市商的基本知识,如🦄 Uniswap。了解如何💰储备影响📉 价格,⚖️ 交易,以及💦 从低液体中滑落。

🏃‍♀️ 快跑📹


Tutorial 4: 🚀 Connecting ETH to IPFS

Build a simple IPFS application in 🏗 scaffold-eth to learn more about distributed file storage and content addressing. 🎥 Live Tutorial


Tutorial 5: ⛽️GSN and Meta Transactions

Learn about to provide your users with better UX by abstracting away gas fees and blockchain mechanics. (todo)


在中构建一个简单的IPFS应用程序🏗 scaffold eth以了解有关分布式文件存储和内容寻址的更多信息。🎥 Live Tutorial

Tutorial 6: 🛰 Decentralized Deployment

了解如何通过抽象汽油费和区块链blockchain机制为用户提供更好的用户体验。(todo)

Learn how to deploy your smart contract to a production blockchain. Then deploy your applicaton to Surge, S3, and IPFS. Finally, register an ENS and point it at the decentralized content! 🎥 Live Tutorial


built with 🏗 scaffold-eth:

👩‍🎨 Nifty Ink

Paintings come to life as you “ink” new creations and trade them on Ethereum. A deep dive into 🖼 NFTs, 🐳 OpenSea, 🖍 react-canvas-draw, 🎨 react-color, and 🛬 onboarding user experience.

了解如何将智能合约部署到生产区块链blockchain。然后将您的应用程序部署到Surge、S3和IPFS。最后,注册一个ENS并指向分散的内容!🎥 现场教程

💾 Source Code


🧙‍♂️ Instant Wallet

An instant wallet running on xDAI insired by xdai.io.

💾 Source Code


当您在以太坊eth上“墨水”新作品并将其交易时,绘画就变得栩栩如生。深入研究🖼 NFTs公司,🐳 外海,🖍 反应画布绘制,🎨 反应颜色,以及🛬 入职用户体验。

🗳 Personal Token Voting

💾 源代码xdai.io公司.

💾 源代码!用🏗 脚手架eth。🔏 加密签名的投票,但通过📡 扎皮尔和📑 谷歌表格。

🏃‍♂️ 快跑📹

💾 源代码


🌒 xmoon.exchange

Exchange Reddit MOONs for ETH or DAI through xDAI. Learn about different 🛰 providers and how 🌉 bridges can connect different chains with different security models.

🏃‍♂️ SpeedRun 📹

通过xDAI将Reddit卫星交换为ETH或DAI。了解不同的🛰 供应商和方式🌉 网桥可以用不同的安全模型连接不同的链。


🏃‍♂️ 快跑📹

Obituary.space

💾 源代码

Remember someone permanently on the blockchain. Write an obituary and upload a photo of a person and their memory will be encoded on the blockchain, forever.


^^^ PR your 🏗 scaffold-eth project in above!!! ^^^


🧫 Building on Ethereum in 2020 (research)


Original Quickstart with TODO List:

永远记住区块链blockchain上的某人。写一篇讣告,上传一个人的照片,他们的记忆将永远被编码在区块链blockchain上。

^^^⛏ 公共关系🏗 脚手架eth项目在上面!!!^^^

git clone https://github.com/austintgriffith/scaffold-eth.git rad-new-dapp  cd rad-new-dapp  git checkout quickstart  yarn install

⌚️ This will take some time. How about a quick tour of the file structure with your favorite code editor?

💡 Sometimes the install throws errors like “node-gyp”, try the next step even if you see problems.
(You can also download the Apple command line tools to fix the warning.)


🎛 frontend

yarn start

📝 Edit your frontend App.jsx in packages/react-app/src and open http://localhost:3000


首先,您需要安装NodeJS&gt;=10+纱线和Git。

yarn run chain

💾 安装:

⌚️这需要一些时间。用你最喜欢的代码编辑器快速浏览一下文件结构如何?


💡 有时安装会抛出“node gyp”之类的错误,即使看到问题也要尝试下一步。
(您也可以下载Apple命令行工具来修复该警告。)

yarn run compile

🎛 前端

yarn run deploy

📝 编辑前端应用程序jsx在packages/react app/src和open中http://localhost:3000

yarn run watch

区块链blockchain


注意:您需要在新的终端窗口中运行此命令

🛠 用这个以太币建造再次检查本地连锁店和账户余额

⚙️ 编制合同:

🚢 将合同部署到前端:

🔍 观察更改,然后编译、部署和热重新加载前端:

yarn run test

🔥 你的dapp热重新加载你的智能合约和前端一起🔥

yarn run accounts

📝 编辑智能合约智能合约钱包.sol在包/制造商/合同中

yarn run balance **YOUR-ADDRESS**

🤡 包/编译程序/合同中存在拼写错误/智能合约钱包.sol!

在🤔 你能修复它并在本地部署合同吗?

yarn run send --from 0 --amount 0.5 --to **YOUR-ADDRESS**

🏗 scaffold-eth - 🏗 脚手架eth


☢️ 警告:你发现智能合约钱包.sol在packages/buidler/contracts中,因为还有其他合同文件夹,它可能会令人困惑。


🏃‍♂️ Speedrun (🎥 7 min):

🔬通过编辑测试你的合同我的测试.js在包/制造商/合同中:


🔬 Smart Contract Sandbox:

🗝 列出您的本地帐户:

git clone https://github.com/austintgriffith/scaffold-eth.git smart-contract-sandbox  cd smart-contract-sandbox  yarn install

💰 支票账户余额:

#run in original terminal window: yarn start #run in terminal window 2: yarn run chain #run in terminal window 3: yarn run deploy

💸 发送ETH:

🔧 配置👷编辑编译程序builder.config.js打包/内置

✨ BuidlerEVM提供堆栈跟踪和控制台.log调试我们的合同✨

🏗 scaffold-eth - 🏗 脚手架eth

💾 安装:

⚙️ 开始

🔏 编辑或重命名智能合约你的合同.sol在包/制造商/合同中

📝 编辑前端应用程序jsx在软件包中/react app/src


🔏 Web3 Providers:

📱 打开http://localhost:3000查看应用程序

☢️ 确保您正在运行您的本地chain yarn run chain,并且您的合同是使用yarn run deploy部署的

🔥 试试yarn run watch,当你改变你的稳定性时,你的前端&lt;Contract/&gt;将热重新加载,让你可以访问新的变量和函数:

📽 视频指南


📚 RTFM:通过示例检查solidity,并检查solidity全局参数和单位


Helpers:

🚀 祝你好运,去找他们!

const tx = Transactor(props.injectedProvider, props.gasPrice);

前端有三个不同的提供商,它们提供对不同链的不同访问级别:

tx({   to: readContracts[contractName].address,   value: parseEther("0.001"), });
tx(writeContracts["SmartContractWallet"].updateOwner(newOwner));

mainnetProvider:(只读)到以太坊eth主网络的Infura连接(以及像DAI或Uniswap一样部署的合同)。


🖇 Hooks:

localProvider:本地Buidler帐户,用于读取您的合同(.env文件指向testnet或mainnet)

injectedProvider:您的个人元掩码、WalletConnect via Argent或其他注入钱包(在页面加载时生成burner provider)

usePoller(() => {   //do something cool at start and then every three seconds }, 3000);

🐜 蚂蚁设计是包含网格、菜单、日期、时间、按钮等组件的UI库。

const localBalance = useBalance(address, localProvider);

事务处理程序:事务处理程序返回tx()函数,使运行和跟踪事务尽可能简单和标准化。我们将引入BlockNative的Notify库来跟踪我们的testnet和mainnet事务。

const blockNumber = useBlockNumber(props.provider);

然后您可以使用tx()函数发送资金并写入智能合约:

const gasPrice = useGasPrice();

☢️ 警告:您需要更新react-app/src/helpers的配置/交易人.js要使用BlockNative dappId

const price = useExchangePrice(mainnetProvider);

位于packages/react app/src/:

const readContracts = useContractLoader(localProvider); const writeContracts = useContractLoader(injectedProvider);

usePoller(fn,delay):在应用程序加载时运行函数,然后在自定义间隔上运行一个函数

const title = useContractReader(props.readContracts, contractName, "title"); const owner = useContractReader(props.readContracts, contractName, "owner");

useBalance(address,provider,[pollTime]):轮询来自提供程序的地址余额

const ownerUpdates = useEventListener(   readContracts,   contractName,   "UpdateOwner",   props.localProvider,   1 );

📦 Components:

useBlockNumber(provider,[pollTime]):从提供程序获取当前块号

📬 <Address />: A simple display for an Ethereum address that uses a Blockie, lets you copy, and links to Etherescan.

  <Address value={address} />   <Address value={address} size="short" />   <Address value={address} size="long" blockexplorer="https://blockscout.com/poa/xdai/address/"/>   <Address value={address} ensProvider={mainnetProvider}/>

🏗 scaffold-eth - 🏗 脚手架eth

🖋 <AddressInput />: An input box you control with useState for an Ethereum address that uses a Blockie and ENS lookup/display.

  const [ address, setAddress ] = useState("")   <AddressInput     value={address}     ensProvider={props.ensProvider}     onChange={(address)=>{       setAddress(address)     }}   />

TODO GIF

💵 <Balance />: Displays the balance of an address in either dollars or decimal.

<Balance   address={address}   provider={injectedProvider}   dollarMultiplier={price} />

🏗 scaffold-eth - 🏗 脚手架eth

👤 <Account />: Allows your users to start with an Ethereum address on page load but upgrade to a more secure, injected provider, using Web3Modal. It will track your address and localProvider in your app’s state:

const [address, setAddress] = useState(); const [injectedProvider, setInjectedProvider] = useState(); const price = useExchangePrice(mainnetProvider);
<Account   address={address}   setAddress={setAddress}   localProvider={localProvider}   injectedProvider={injectedProvider}   setInjectedProvider={setInjectedProvider}   dollarMultiplier={price} />

🏗 scaffold-eth - 🏗 脚手架eth

💡 Notice: the <Account /> component will call setAddress and setInjectedProvider for you.

☢️ Warning: You will need to update the configuration for Web3Modal to use your Infura Id

📡 <Provider />: You can choose to display the provider connection status to your users with:

<Provider name={"mainnet"} provider={mainnetProvider} /> <Provider name={"local"} provider={localProvider} /> <Provider name={"injected"} provider={injectedProvider} />

🏗 scaffold-eth - 🏗 脚手架eth

💡 Notice: you will need to check the network id of your injectedProvider compared to your localProvider or mainnetProvider and alert your users if they are on the wrong network!


📄 Smart Contract Wallet:

📝 Edit your smart contract SmartContractWallet.sol in packages/buidler/contracts

📝 Then edit the SmartContractWallet.js React component in packages/react-app/src

▶️ Run yarn run compile and yarn run deploy or just yarn run watch

🏗 scaffold-eth - 🏗 脚手架eth

🛠 Run this eth.build with your contract address to ask it who its owner is.


📚 OpenZeppelin Contracts — TODO

You can import any of the OpenZeppelin contracts:

import "@openzeppelin/contracts/token/ERC20/IERC20.sol";

🛰 The Graph — TODO

⛽️ GSN — TODO


📤 Save to your Git

Create a new repo with the same name as this project and then:

git remote add origin https://github.com/**YOUR_GITHUB_USERNAME**/**YOUR_COOL_PROJECT_NAME**.git git push -u origin master

🛳 Ship it!

You can deploy your static site and your dapp can go live:

yarn run build  # ship it!  yarn run surge  OR  yarn run s3  OR  yarn run ipfs

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

www.interchains.cc

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

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

提供最优质的资源集合

立即查看 了解详情