比特幣交易所 比特幣交易所
Ctrl+D 比特幣交易所
ads
首頁 > AVAX > Info

hardhat 教程及 hardhat-deploy 插件使用_TOKE

Author:

Time:1900/1/1 0:00:00

譯文出自:登鏈翻譯計劃

譯者:翻譯小組

校對:Tiny熊

本文在官方hardhat教程的基礎上,加入了hardhat-deploy插件的使用介紹,本文代碼的GitHub:https://github

/***Afunctiontotransfertokens.**The`external`modifiermakesafunction*only*callablefromoutside*thecontract.*/functiontransfer(addressto,uint256amount)external{//Checkifthetransactionsenderhasenoughtokens.//If`require`'sfirstargumentevaluatesto`false`thenthe//transactionwillrevert

/***Readonlyfunctiontoretrievethetokenbalanceofagivenaccount.**The`view`modifierindicatesthatitdoesn'tmodifythecontract's*state,whichallowsustocallitwithoutexecutingatransaction.*/functionbalanceOf(addressaccount)externalviewreturns(uint256){returnbalances;}}

*

;exportdefaultfunc;func

;exportdefaultfunc;func

);});

依賴的chai-setup同樣在測試文件夾中,內容如下:

importchaiModulefrom'chai';import{chaiEthers}from'chai-ethers';chaiModule

);});

全面覆蓋測試

現在我們已經介紹了測試合約所需的基礎知識,這里有一個完整的代幣測試Case,其中有很多關于Mocha的附加信息以及如何構建測試。我們建議通過閱讀。

Blockdaemon 和 StakeWise推出流動質押平臺 Harbour:金色財經消息,區塊鏈基礎設施提供商 Blockdaemon 和流動性質押平臺 StakeWise 宣布正式推出面向機構客戶的流動質押平臺 Harbour。Harbor 客戶將在平臺上質押以太坊后獲得質押憑證代幣,機構可以在其他獲得許可的 DeFi 協議上使用代幣來獲得額外收益,同時仍保持其質押的以太坊。(The Block)[2022/6/7 4:06:49]

但首先我們要添加一些實用函數,我們將在該測試套件中使用。

在test文件夾中創建一個utils文件夾,并在其中創建一個index

returnusers;}exportasyncfunctionsetupUser<Textends{:Contract}>(address:string,contracts:T):Promise<{address:string}&T>{//eslint-disable-next-line;for(constkeyofObject

returnuseras{address:string}&T;}

通過utils可以方便的創建賬號,讓測試簡潔和容易閱讀,例如下面的Test

//`describe`isaMochafunctionthatallowsyoutoorganizeyourtests

);it("Shouldassignthetotalsupplyoftokenstotheowner",asyncfunction(){const{Token,tokenOwner}=awaitsetup();constownerBalance=awaitToken

);});describe("Transactions",function(){it("Shouldtransfertokensbetweenaccounts",asyncfunction(){const{Token,users,tokenOwner}=awaitsetup();//Transfer50tokensfromownertousersawaittokenOwner

MAC Cosmetics與ConsenSys合作,基于Polygon發布Keith Haring藝術作品NFT:3月30日消息,MAC Cosmetics正與ConsenSys合作基于Polygon上發布NFT。該NFT系列使用已故Keith Haring的藝術作品來支持受艾滋病影響的年輕人。該系列包括5275件NFT,有價格和稀有度不同的三種類型。

其中紅色NFT售價為25美元,最多鑄造5000個。藍色NFT售價為150美元,最多鑄造250個。黃色NFT售價為1000美元,最多鑄造25個。三種動畫插圖結合了Haring的藝術風格和MAC唇膏,使用的資產由Keith Haring基金會授權。

據悉,Keith Haring是一位在20世紀80年代紐約涂鴉藝術亞文化時期成名的美國藝術家。1987年,當被診斷出患有艾滋病時,他開始創作藝術來傳播人們對這種疾病的認識。Haring于1990年去世。(Decrypt)[2022/3/30 14:26:00]

);it("Shouldfailifsenderdoesn’thaveenoughtokens",asyncfunction(){const{Token,users,tokenOwner}=awaitsetup();constinitialOwnerBalance=awaitToken

);it("Shouldupdatebalancesaftertransfers",asyncfunction(){const{Token,users,tokenOwner}=awaitsetup();constinitialOwnerBalance=awaitToken

);});});

下面是yarnhardhattest的輸出。

$yarnhardhattestTokencontractDeployment?Shouldsettherightowner?ShouldassignthetotalsupplyoftokenstotheownerTransactions?Shouldtransfertokensbetweenaccounts(199ms)?Shouldfailifsenderdoesn’thaveenoughtokens?Shouldupdatebalancesaftertransfers(111ms)5passing(1s)

CoinShares:上周歐洲加密投資產品流出5900萬美元:3月2日消息,根據機構加密基金公司 CoinShares 最新報告顯示,上周歐洲市場的加密投資資產流出 5900 萬美元,而美洲(主要是加拿大和巴西)市場流入資金規模達到 9500 萬美元,因此總體而言上周加密投資產品整體呈現出資金流入狀態。

值得一提的是,上周有 1700 萬美元資金流入比特幣投資產品,這也是比特幣投資產品連續第 5 周呈現資金流入狀態,目前比特幣投資產品的總資金流入量已經達到 2.39 億美元。此外,上周區塊鏈股票基金流入總計 800 萬美元資金,多資產投資產品資金流入量為 1400 萬美元。

在非主流數字貨幣方面,Solana 投資產品資金流出量為 260 萬美元,萊特幣投資產品資金流出量為 50 萬美元,Cardano、Ripple、Polkadot 和 Binance 投資產品均出現小幅流出——分別為 30 萬美元、20 萬美元、10 萬美元和 10 萬美元。[2022/3/3 13:33:27]

請記住,當你運行yarnhardhattest時,如果合約在你上次運行測試后發生了變化,合約將被重新編譯。

6.使用Hardhat網絡進行調試

Hardhat內置了Hardhat網絡,這是一個專為開發設計的本地以太坊網絡。它允許你部署合約,運行測試和調試代碼。這是Hardhat連接到的默認網絡,所以你不需要設置任何東西就可以工作,只需要簡單運行測試。

Solidityconsole

當你運行測試時,日志輸出將顯示:

$yarnhardhattestTokencontractDeployment?Shouldsettherightowner?ShouldassignthetotalsupplyoftokenstotheownerTransactionsSenderbalanceis1000tokensTryingtosend50tokensto0xead9c93b79ae7c1591b1fb5323bd777e86e150d4Senderbalanceis50tokensTryingtosend50tokensto0xe5904695748fe4a84b40b3fc79de2277660bd1d3?Shouldtransfertokensbetweenaccounts(373ms)?Shouldfailifsenderdoesn’thaveenoughtokensSenderbalanceis1000tokensTryingtosend100tokensto0xead9c93b79ae7c1591b1fb5323bd777e86e150d4Senderbalanceis900tokensTryingtosend100tokensto0xe5904695748fe4a84b40b3fc79de2277660bd1d3?Shouldupdatebalancesaftertransfers(187ms)5passing(2s)

金融科技服務商Plaid正在與DeFi創企Dharma與Teller Finance合作:金融科技服務商Plaid目前正在與至少兩家DeFi初創公司悄悄合作:該公司確認了與Dharma的整合,后者是Uniswap友好的DeFi錢包,早期得到了Coinbase和其他公司的支持。另外一家公司是Teller Finance,該公司希望為以太坊區塊鏈帶來無擔保貸款。

Plaid的英國總裁Keith Grose曾是谷歌錢包創建者,他對加密技術(和DeFi)將如何與金融科技革命同步發展有著這樣的愿景:“我認為,在DeFi成為金融主要途徑的一部分之前,還有很長的路要走,但這確實是一個令人興奮的角落,也是我個人熱愛的點。”Grose稱,說服銀行向金融科技開放僅僅是個開始,他認為加密技術是合乎邏輯的下一步。

Grose解釋道:“我們只觸及了開放銀行業務的表面,因為它只覆蓋支付賬戶。我認為關鍵是能夠允許人們訪問和使用他們的加密資產,同時使用更傳統的預算應用程序和支付應用程序。從長期來看,你的Coinbase賬戶或Compound錢包沒有理由不被包括在內,這樣你就可以追蹤它,并在許多其他傳統應用中加以使用。”(CoinDesk)[2020/9/26]

查看文檔來了解更多關于這個功能的信息。

7.部署到真實的網絡

一旦準備好與其他人分享應用程序,你可能想做的是部署到一個實時網絡。這樣其他人就可以訪問到。

處理真金白銀的以太坊網絡被稱為主網(mainnet),還有其他不處理真金白銀的網絡,但確實能很好地模擬真實世界的場景,這些被稱為測試網(testnet),以太坊有多個測試網:Ropsten、Kovan、Rinkeby_和_Goerli。

在軟件層面,部署到testnet和部署到mainnet是一樣的。唯一不同的是連接的網絡。

由于我們使用了hardhat-deploy插件,并且我們已經編寫了部署腳本,現在只需要對部署到的網絡進行一些配置,就可以部署到真實網絡中。

正如我們的部署部分所解釋的那樣,你可以執行yarnhardhatdeploy,但它只部署在內存中模式的默認的網絡中,輸出如下:

Nothingtocompiledeploying"Token"(tx:0x259d19f33819ec8d3bd994f82912aec6af1a18ec5d74303cfb28d793a10ff683)...:deployedat0x5FbDB2315678afecb367f032d93F642f64180aa3with592983gasDonein3

聲音 | V神:建議用ZKP統稱snark, STARKs, DARKs, shark, SONIC, PLONK等等:零知識證明技術衍生出了太多的術語名詞,在使用中很容易被混淆。以太坊創始人Vitalik Buterin在推特上表示,“對于snark, STARKs, DARKs, shark, SONIC, PLONK等等,最好的總稱是什么?通用ZKP? 簡潔ZKP? S*ARKs? 要么直接用ZKP來統稱呢?故意模糊了“零知識證明”和“壓縮知識證明”。”[2019/9/23]

}leturi=process

if(!uri||uri===''){if(networkName==='localhost'){return'http://localhost:8545';}return'';}if(uri

returnuri;}exportfunctiongetMnemonic(networkName?:string):string{if(networkName){constmnemonic=process

}constmnemonic=process

returnmnemonic;}exportfunctionaccounts(networkName?:string):{mnemonic:string}{return{mnemonic:getMnemonic(networkName。;}

然后我們可以修改hardhat.config.ts文件,使其包含以下內容。

import{HardhatUserConfig}from'hardhat/types';import'hardhat-deploy';import'hardhat-deploy-ethers';import{node_url,accounts}from'./utils/network';constconfig:HardhatUserConfig={solidity:{version:'0.7.6',},networks:{rinkeby:{url:node_url('rinkeby'),accounts:accounts('rinkeby'),},},namedAccounts:{deployer:0,tokenOwner:1,},paths:{sources:'hide',},};exportdefaultconfig;

最后,我們需要設置環境變量,讓utils/networks.ts從.env中自動讀取。

創建一個.env,在其中寫上你自己的alchemyapi鍵和rinkeby的助記詞。

ETH_NODE_URI_RINKEBY=https://eth-rinkeby.alchemyapi.io/v2/MNEMONIC_RINKEBY=forrinkeby>

我們使用的是Alchemy,你可以使用任何其他指向以太坊節點或網關的URL。

要在Rinkeby上部署,你需要把rinkeby-ETH發送到要進行部署的地址。你可以從水龍頭那里獲得一些ETH的測試網。

你可以通過以下鏈接獲得一些ETH,用于其他測試網。

Kovan水龍頭

Rinkeby水龍頭

Goerli水龍頭

然后運行:

yarnhardhat--networkrinkebydeploy

如果一切順利,你應該看到這樣的內容:

Nothingtocompiledeploying"Token"(tx:0xb40879c3162e6a924cfadfc1027c4629dd57ee4ba08a5f8af575be1c751cd515)...:deployedat0x8bDFEf5f67685725BC0eD9f54f20A2A4d3FEDA98with475842gas

你還會看到在deployments/rinkeby文件夾中創建了一些文件。

最值得注意的是,你會看到deployments/rinkeby/Token.json,其中包含了你部署的合約信息,包括addres、abi以及用于創建合約的solidity輸入。

然后你可以用sourcify或etherscan來驗證它。

對于sourceify,你可以執行以下操作:

yarnhardhat--networkrinkebysourcify

這應該給你以下輸出。

verifyingToken(0x8bDFEf5f67685725BC0eD9f54f20A2A4d3FEDA98onchain4)...=>contractTokenisnowverified

對于etherscan,你可以執行以下工作(注意,你也可以通過env變量ETHERSCAN_API_KEY指定api密鑰):

yarnhardhat--networkrinkebyetherscan-verify--api-key

然后你應該看到。

verifyingToken(0x8bDFEf5f67685725BC0eD9f54f20A2A4d3FEDA98)...waitingforresult...=>contractTokenisnowverified

本翻譯由CellNetwork贊助支持。

來源:https://github.com/wighawag/tutorial-hardhat-deploy

參考資料

登鏈翻譯計劃:https://github.com/lbc-team/Pioneer

翻譯小組:https://learnblockchain.cn/people/412

Tiny熊:https://learnblockchain.cn/people/15

這個安裝說明安裝git:https://www.atlassian.com/git/tutorials/install-git

node版本管理器(nvm):http://github.com/creationix/nvm

Git的Windows安裝程序:https://git-scm.com/download/win

此處:https://nodejs.org/dist/latest-v12.x

這里:https://github.com/nodesource/distributions#debinstall

nvm:http://github.com/creationix/nvm

相同的安裝說明:#windows

這里:https://nodejs.org/en/download/releases/

yarn:yarnpkg.com

創建任務:https://hardhat.org/guides/create-task.html

ERC20:https://learnblockchain.cn/tags/ERC20

Mocha:https://mochajs.org/

Chai:https://www.chaijs.com/

Wafflechaimatchers:https://getwaffle.io/

文檔:https://hardhat.org/hardhat-network/

Alchemy:https://alchemyapi.io/?r=7d60e34c-b30a-4ffa-89d4-3c4efea4e14b

Kovan水龍頭:https://faucet.kovan.network/

Rinkeby水龍頭:https://faucet.rinkeby.io/

Goerli水龍頭:https://goerli-faucet.slock.it/

CellNetwork:https://www.cellnetwork.io/?utm_souce=learnblockchain

免責聲明:作為區塊鏈信息平臺,本站所發布文章僅代表作者個人觀點,與鏈聞ChainNews立場無關。文章內的信息、意見等均僅供參考,并非作為或被視為實際投資建議。

本文來源于非小號媒體平臺:

登鏈社區

現已在非小號資訊平臺發布105篇作品,

非小號開放平臺歡迎幣圈作者入駐

入駐指南:

/apply_guide/

本文網址:

/news/9847358.html

免責聲明:

1.資訊內容不構成投資建議,投資者應獨立決策并自行承擔風險

2.本文版權歸屬原作所有,僅代表作者本人觀點,不代表非小號的觀點或立場

上一篇:

盤點零知識證明代表性項目:如何影響和塑造區塊鏈生態系統?

Tags:TOKEKENTOKTOKENLive NFT TokenDSF TokenVEDA TokenCharix Token

AVAX
關于WBF上線RB的公告_BNX

尊敬的用戶: WBF即將在創新區上線RB/USDT交易對,具體上線時間如下:充幣時間:2021年4月8日10:00交易時間:2021年4月9日16:00提幣時間:2021年4月9日17:00 項.

1900/1/1 0:00:00
虎符關于支持 BONK(BONK TOKEN) 遷移和代幣兌換的補充公告(2021/04/08)_BON

尊敬的虎符用戶, 根據BONKTOKEN官方消息,BONK(BONKTOKEN)已經開啟向mBONK(megaBONK)的遷移計劃。用戶需要將BONK代幣兌換為mBONK代幣.

1900/1/1 0:00:00
名揚:比特幣高位多空博弈,小幣種紛紛起飛_ELS

多空非兒戲,漲跌皆有因,比特幣上千點,以太坊反復上百點的止盈,絕非偶然。這樣的布局機會很多,但是要具有把握的能力才行,如果你不能可以找名揚實時在線指導.

1900/1/1 0:00:00
玩幣大師:4.6晚間以太行情分析與操作建議_IND

前言: 浩瀚的投資理財世界里蘊藏著數不盡的財富,重要的不是你一次能夠賺取多少,而是你能不能控制風險,落袋為安,長久地立足生存。不是沒有陽光,是因為你總低著頭;不是沒有綠洲,是因為你心中只有荒漠.

1900/1/1 0:00:00
Square、Coinbase和富達高調聲明創立加密貨幣創新理事會_加密貨幣

Square、Coinbase和富達等頂尖人物所擁有的金融科技公司和其他領先的加密領域公司正聯合起來成立加密貨幣創新理事會,帶領該行業進入一個更好的監管環境之中.

1900/1/1 0:00:00
虎符將于4月8日20:00正式上線NAP(North America Pool),10,000 NAP等你來拿

尊敬的虎符用戶, 虎符將于4月8日20:00正式上線NAP(NorthAmericaPool),10.

1900/1/1 0:00:00
ads