7*24快訊如何使用D...

如何使用DAppTools

在智能合約的時候,開發者只需要了解一種語言,例如堅固性虛擬機或者但是一個框架並圍繞這個框架學習所有的語言會很想學習。

學習像 Dapp工具這樣的開發者可能有這樣的背景,並且可以為Web3 帶來更好的生活體驗。

在本篇DappTools教程中,你將學習如何通過DappTools創建框架、測試以及部署智能合約。

下面是本教程隨附的視頻教程:

DappTools 是什麼?

DappTools 是類似於Hardhat 的代碼存儲的框架,可以幫助智能合約開發者部署和維護他們的代碼部署一個、測試和測試。如果你把它編譯後的字節碼在哪裡?如何跟踪它的去向?這些都可以通過使用智能合約開發框架來解決的問題。

DappTools 最初是用Haskell 語言編寫的。然而最近,Paradigm 團隊採用了Dapp Tools 並用Rust 應用了它,並稱他們的新創造為鑄造廠之間的方式類似,因為它們都以大量的工作時間為中心,高效,而且會涉及到不同測試的代碼。

DappTools 是許多選擇首屈一指的流行協議。

為什麼使用DappTools?

如果你是Linux、bash腳本、追求高效、你不喜歡這樣的中心,那麼如果你是這樣來編碼的開發者絕對是試用的智能合約框架。 !

在學習什麼?

在本教程中,我們將學習如何:

  1. 使用DappTools
  2. 使用dapptools-starter-kit部署由Chainlink 的驅動混合型智能合約

下面是通過此入門工具包使用Chainlink 服務的一些示例:

安裝

要求

首先,我們需要安裝一些東西。

你可能已經安裝過製作如果沒有命令,你需要製作。可以按照這些步驟你是否已經安裝製作

開始

安裝了這些工具,我們就可以開始使用入門工具包並使用它了。

sh
git clone https://github.com/smartcontractkit/dapptools-starter-kit
cd dapptools-starter-kit
make # This installs the project's dependencies.
make test

現在你有這些文件,我們來看看所有的東西是什麼的:

  • 生成文件DappTools是基於腳本的文件,生成文件能夠幫助我們運行只需要輸入字符的大型命令。
  • 項目:例如此文件夾用於存放外部依賴OpenZeppelin或者ds測試
  • 出去:編譯代碼的去向。 布朗尼 中的 建造 文件夾或 安全帽 中的 人工製品 文件夾。
  • 源代碼:這是智能合約文件的位置。布朗尼安全帽中的合同文件夾。

測試

現在做一些測試!要進行測試,我們可以運行做測試或者dapp 測試

來自Dapp的所有命令都可用倉庫倉庫,包括dapp 構建民族標誌dapp 測試等。

導入外部依賴

假設我們想使用OpenZeppelin標準創建一個NFT。要安裝外部合約或包,我們可以使用dapp 安裝我們需要指定GitHub倉庫的組織和要安裝的倉庫名稱。

首先,我們需要在外部提交模塊的更改。 Dapp 包作為git 子引入,我們需要先提交。

運行:

git add .
git commit -m ‘initial commit’

然後,我們可以安裝我們的包。例如,對於OpenZeppelin,我們將使用外部:

dapp install OpenZeppelin/openzeppelin-contracts

現在應該可以在文件夾中看到一個標有openzeppelin-合同這個新文件夾,因為它是從GitHub 下載的。倉庫包含OpenZeppelin 合約,我們有一些重複,但還需要了解它是如何工作的。

部署

要進行部署,首先需要設置民族標誌.env文件。

設置你的帳戶/ethsign

將你的導入DappTools,可以使用密鑰庫或ethsign。 ethsign安裝安裝dapptools的。對於ethsign,運行以下命令:

bash
ethsign import 

現在將提示你輸入和密碼。你可以從元掩碼等錢包中獲取密碼。成功後,將密碼的地址添加到.env文件中的ETH_FROM有關示例,請參見變量下。.env.example文件。

可查看生成文件了解有關其背後工作原理的相關時間。

如果你要部署測試網,請確保你的錢包裡有測試網ETH 和LINK。你可以從 鏈環幣中獲取測試網LINK。

設置.env文件

你可以在.env.example中查看.env應該是網絡子的示例)(部署到真實的地方。

  1. ALCHEMY_API_KEY:可以通過獲取 煉金術 賬號獲取。
  2. ETH_FROM:發送交易的錢包地址。民族標誌中,可參考。
  3. ETHERSCAN_API_KEY:用於Etherscan 驗證(任選)。
  4. ETH_RPC_URL:用於在使用進行部署有一個默認的部署網絡(可選)。

測試網和主網部署

.env文件中設置ETH_RPC_URL或者ALCHEMY_API_KEY,然後運行以下命令中的一個:

信託契約(Keeper契約):

bash
make deploy CONTRACT=Counter

價格飼料:合約

bash
make deploy CONTRACT=PriceFeedConsumer

Chainlink VRF消費者契約:

bash
make deploy CONTRACT=VRFConsumer

你可以在腳本文件夾中個人的部署文件中改變其部署參數。所有的構造器參數都在./src/helper-config.sh文件夾中創建。這裡你可以為不同的網絡分配不同的構造器參數。

本地測試網

# 在一個終端上

dapp 測試網

將你的ETH_RPC_URL 改為http://127.0.0.1:8545

然後運行你的部署腳本。

在Etherscan 上進行驗證

部署完合同後,您可以在Etherscan 上完成合同進行驗證:

ETHERSCAN_API_KEY=<api-key> dapp verify-contract <contract_directory>/<contract>:<contract_name> <contract_address>

例如:

ETHERSCAN_API_KEY=123456765 dapp verify-contract ./src/Counter.sol:Counter 0x23456534212536435424

可查看DappTools文檔以了解如何通過DappTools 完成驗證合約。

與契約

為了與我們的契約,我們使用賽斯假設我們已經命令我們 PriceFeedConsumer.sol 部署到Kovan,現在我們要調用 獲取最新價格 函數。我們要怎麼做呢?

ETH_RPC_URL=<YOUR_RPC_URL> seth call <YOUR_CONTRACT_ADDRESS> "getLatestPrice()"

例如:

ETH_RPC_URL=https://alchemy.io/adsfasdf seth call 0xd39F749195Ab1B4772fBB496EDAF56729ee36E55 "getLatestPrice()"

我們會得到類似的 0x0000000000000000000000000000000000000000000000000000000004c17b125c0的輸出,這是 326815000000 的十六解釋。

要更改區塊鏈的(消耗氣),使用汽油發送

假設我們部署了一個 VRFC消費者 契約,我們想要契約獲取隨機數

首先,我們需要在Kovan 的鏈上向我們發送一些鏈接:

ETH_RPC_URL=<YOUR_RPC_URL> ETH_FROM=<YOUR_FROM_ADDRESS> seth send <LINK_TOKEN_ADDRESS> "transfer(address,uint256)" <VRF_CONSUMER_ADDRESS> 1000000000000000000

如:

ETH_RPC_URL=https://alchemy.io/adfasdf ETH_FROM=0x12345 seth send 0xa36085F69e2889c224210F603D836748e7dC0088 "transfer(address,uint256)" 0xa74576956E24a8Fa768723Bd5284BcBE1Ea03adA 100000000000000000

這裡100000000000000000 = 1 鏈接

然後,我們可以調用getRandomNumber 函數:

ETH_RPC_URL=<YOUR_RPC_URL> ETH_FROM=<YOUR_FROM_ADDRESS> seth send <VRF_CONSUMER_ADDRESS>  "getRandomNumber()"

稍等一會後,讀取結果:

ETH_RPC_URL=<YOUR_RPC_URL> seth call <VRF_CONSUMER_ADDRESS> "randomResult()"

可以看到,這些腳本找我們的腳本請求中也會用得很好。如果你想參與貢獻,提交PR(Pull Request)!

資源列表

本教程的一些有用資源:

總結

我們建議你了解並嘗試使用Chainlink去中心化服務來創造一些非常強大的應用程序,這是一個非常強大的應用程序。

獲取更多關於Chainlink的信息,請訪問鏈環或者在docs.chain.link閱讀文檔。要討論集成問題,請聯繫專家。

帖子 如何使用DAppTools 首先出現在 Chainlink 博客.

Source Link

最受歡迎

繼續閱讀

長期持有者持有的比特幣(BTC)供應量達到最高水平

根據Glassnode 的估計,比特幣的長期持有者(LTH)目前擁有1452 萬枚BTC,創歷史新高,只剩下25% 留給短期持...

抓住Web3 遊戲的先發優勢:成功策略

Web3和區塊鏈技術的出現徹底改變了遊戲行業,為開發者和企業家提供了前所未有的機遇。 Web3 遊戲的去中心化性質為創新遊戲貨幣化模式、玩家所有權和社區參與打...

現在讀

$COOKIE, the Cookie3 Mark...

Tallinn, Estonia, March 26th, 2024...

長期持有者持有的比特幣(BTC)供應量達到最高水平...

根據Glassnode 的估計,比特幣的長期持有者(LTH)目前擁有1452 萬枚BTC,創歷史新高,只剩下25% 留給短期持有者和投機者。 儘管BTC 的價格在過去一個月中保持相對平穩,範圍在約29,000 美元至31,000 美元之間,但人們還是開始瘋狂囤積。 ...

Caldera 宣布與Espresso Syste...

Caldera 開發人員可以利用Espresso Sequence...

抓住Web3 遊戲的先發優勢:成功策略

Web3和區塊鏈技術的出現徹底改變了遊戲行業,為開發者和企業家提供了前所未有的機遇。 Web3 遊戲的去中心化性質為創新遊戲貨幣化模式、玩家所有權和社區參與打開了大門。對於那些尋求利用Web3 遊戲巨大潛力的人來說,確保先發優勢至關重要。 了解Web3 遊戲生態系統在深入研究Web3 遊戲之前,有...

Taapsee Pannu 推出NFT 平台,介紹...

企業家貢獻者表達的意見是他們自己的。 您正在閱讀《企業家印度》,這是企業家媒體的國際特許經營刊物。 女演員Taapsee Pannu 最近推出了“taapseeclub.com”,這是她自己的非同質代...

比特幣(BTC) 地址休眠超過11 年,轉移310...

經過11 年多的閒置之後,一個包含3100 萬美元BTC 的休眠比特幣地址最近突然活躍起來。 2023年7月22日,地址 轉入 將其全部餘額轉移到新地址。 早期BTC 地址復活 比特幣自2009 年以來就已經存在,因此存在多年來不活躍的休眠地址,其中包含大量BTC。這種加密貨幣的一些早期採用者能夠...

加密貨幣死了嗎?當今加密貨幣的現狀

您之前可能聽說過加密貨幣正在消亡(或比特幣已消亡)。在這篇文章中,我們將研究加密貨幣的狀態,並嘗試回答這個問題:加密貨幣現在已經死了嗎? 在我們開始之前,我們想澄清一下,本文指的是最廣泛意義上的“加密貨幣行業”; 在裡面 網絡3 感覺。該定義包括加密資產市場; 但它還包括其他非財務用例。 隨著近來加...

Chancer 可能成為體育和社交博彩領域的下一個...

加密貨幣 隨著企業財報季節的繼續,本週股市表現好壞參半。在Ne...

以太坊(ETH) 創下兩個月來CEX 流入最高紀錄...

過去一周,以太坊(ETH)流入中心化交易所(CEX)的資金量創下了過去兩個月來的最高水平。這些重大的資產變動表明ETH 的價格可能會下跌。 CoinGecko 數據顯示,第二大加密貨幣的價格一直在小幅下跌,過去一周價值下跌了2.5%。截至撰寫本文時,以太幣易手價格為1,892.65 美元,過去24...

新的DeFi 法案有“不可行的義務”

加密貨幣創新委員會表示,新的反洗錢法案沒有為DeFi 中的非法金融...

幣安大幅削減成本,瑞波幣為美國銀行和加密貨幣風險投...

美國證券交易委員會(SEC)對加密貨幣公司的打擊似乎嚴重影響了幣安的業務。據報導,在過去幾週內,該加密貨幣交易所解雇了1,000 多名員工,並削減了一些福利。 幣安表示,“當前的市場環境和監管環境”導致利潤下降,這表明可能正在進行更多削減。一位發言人告訴Cointelegraph,該公司將考慮縮減“...

Automata 雙週更新:第48 期| 通過自動...

迎接新的季度意味著設定我們的意圖並為團隊規劃下一步的行動。幕後醞釀的一切——合作、產品功能和營銷發布——很難抑制我們的興奮。我們一開始就在1RPC(2 個備受期待的第2 層主網)上添加了對Linea 和Base 的支持。科技載體更新頁腳以顯示界面版本平滑的用戶體驗 USDC CCTP 支持 關於仲裁...