主頁 > 區塊鏈 > Hardhat 開發框架 - Solidity開發教程連載

Hardhat 開發框架 - Solidity開發教程連載

2023-05-12 08:33:27 區塊鏈

Decert.me 要連載教程了, 《Solidity 開發教程》 力求系統深入的介紹 Solidity 開發, 同時這是一套互動式教程,你可以實時的修改教程里的合約代碼并運行,

本教程來自貢獻者 @Tiny熊,讓我們正式開始學習吧,

如果你已經是 Hardhat 的使用者,可以直接跳到文末,參與挑戰領取技能認證 NFT,


Hardhat 提供了一個靈活且易于使用的環境,可以輕松地撰寫、測驗和部署智能合約,類似的開發工具或框架還有: Remix IDE, Truffle , Foundry, 目前最受歡迎的是 Hardhat 與 Foundry,

Hardhat 使用 Node 進行包管理,如果你熟悉 Node 及 Javascript, Hardhat 將非常簡單上手,

Hardhat還內置了Hardhat 網路(Hardhat Node),它是為開發而設計的本地以太坊網路, 用來部署合約,運行測驗和除錯代碼

在本文中,我們將介紹:

  1. 創建及配置Hardhat專案
  2. 撰寫智能合約
  3. Hardhat 編譯合約
  4. 使用 Ethers.js 和為合約撰寫自動化測驗
  5. 使用 console.log()除錯 Solidity
  6. 使用 Hardhat 部署合約
  7. 使用 Hardhat Etherscan 進行開源驗證,
  8. Hardhat 插件的使用

本文對應的代碼在:https://github.com/xilibi2003/training_camp_2/tree/main/w1_hardhat

創建及配置Hardhat專案

Hardhat 構建在Node.js之上, 使用 Hardhat 要求我們在電腦先安裝好Node.js (>= 16.0), 環境準備可以參考這里,

先創建專案目錄:

mkdir hardhat-tutorial
cd hardhat-tutorial

初始化 Node 專案:

npm init

安裝 Hardhat :

npm install --save-dev hardhat

在安裝Hardhat的目錄下運行:

npx hardhat

使用鍵盤選擇"創建一個新的hardhat.config.js(Create a JavaScript project)" ,然后回車,

$ npx hardhat
888    888                      888 888               888
888    888                      888 888               888
888    888                      888 888               888
8888888888  8888b.  888d888 .d88888 88888b.   8888b.  888888
888    888     "88b 888P"  d88" 888 888 "88b     "88b 888
888    888 .d888888 888    888  888 888  888 .d888888 888
888    888 888  888 888    Y88b 888 888  888 888  888 Y88b.
888    888 "Y888888 888     "Y88888 888  888 "Y888888  "Y888

?? Welcome to Hardhat v2.13.0 ???

? What do you want to do? …
? Create a JavaScript project
  Create a TypeScript project
  Create an empty hardhat.config.js
  Quit

這個 JavaScript Hardhat 工程會默認下載 hardhat-toolbox 插件及一些常規設定:

創建好的Hardhat工程包含檔案有:

  • contracts:智能合約目錄
  • scripts :部署腳本檔案
  • test:智能合約測驗用例檔案夾,
  • hardhat.config.js:組態檔,配置hardhat連接的網路及編譯選項,

撰寫合約

合約開發推薦使用 VSCode 編輯器 + solidity 插件,在contracts 下新建一個合約檔案 Counter.sol (*.sol 是 Solidity 合約檔案的后綴名), 復制如下代碼:

//SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

contract Counter {
    uint counter;

    constructor() {
        counter = 0;
    }

    function count() public {
        counter = counter + 1;
    }

    function get() public view returns (uint) {
        return counter;
    }
}

接下來就可以編譯這個合約了,

使用OpenZepplin 等第三方庫

在撰寫合約時,盡量不要重復造輪子,基于優質開源的第三方庫,不僅可以提交效率,還可以讓我們的合約代碼更安全,例如要開發一個 Token,可以用npm 安裝OpenZepplin 庫:

npm install @openzeppelin/contracts --save-dev

然后在合約中 import 相應庫中的合約檔案及可,

pragma solidity ^0.8.0;

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

contract Token is ERC20 {
  constructor(uint256 initialSupply) ERC20("Token Name", "Token Symbol") {
    _mint(msg.sender, initialSupply);
  }
}

編譯合約

hardhat.config.js 有默認的Solidity 編譯器配置:

require("@nomicfoundation/hardhat-toolbox");

/** @type import('hardhat/config').HardhatUserConfig */
module.exports = {
  solidity: "0.8.18",
};

因此我們直接編譯合約即可,在終端中運行 npx hardhat compilecompile任務是內置任務之一,

$ npx hardhat compile
Compiling 1 file with 0.8.18
Compilation finished successfully

合約已成功編譯了,

成功編譯后,會在 artifacts/contracts/ 目錄下生成Counter.json 和 build-info, Counter.json包含了智能合約的 ABI 、位元組碼(Bytecode)等,

:::tip

智能合約的 ABI(Application Binary Interface)資訊,其中包括了合約的函式、事件等介面資訊,這個檔案通常會在與其他合約互動時使用,因為它可以被其他合約和 DApp 使用,

Bytecode 是部署合約所需的位元組碼(也稱為創建時位元組碼),部署合約時,就是把該位元組碼作為交易的輸入資料發送鏈上,:::

:::

撰寫測驗用例

為智能合約撰寫自動化測驗至關重要,因為事關用戶資金,

在我們的測驗中,使用 Harhdat 內置的網路,使用ethers.js與前面的合約進行互動,并使用 Mocha 作為測驗運行器,

在專案 test下,并創建一個名為Counter.js的新檔案:

const { ethers } = require("hardhat");
const { expect } = require("chai");

let counter;

describe("Counter", function () {
  async function init() {
    const [owner, otherAccount] = await ethers.getSigners();
    const Counter = await ethers.getContractFactory("Counter");
    counter = await Counter.deploy();
    await counter.deployed();
    console.log("counter:" + counter.address);
  }

  before(async function () {
    await init();
  });

  // 
  it("init equal 0", async function () {
    expect(await counter.get()).to.equal(0);
  });

  it("add 1 equal 1", async function () {
    let tx = await counter.count();
    await tx.wait();
    expect(await counter.get()).to.equal(1);
  });

});

在終端上運行npx hardhat test, 你應該看到以下輸出:

> npx hardhat test


  Counter
counter:0x5FbDB2315678afecb367f032d93F642f64180aa3
    ? init equal 0
    ? add 1 equal 1

  2 passing (1s)

這意味著測驗通過了, 現在我們解釋主要代碼:

  const Counter = await ethers.getContractFactory("Counter");

ethers.js中的ContractFactory是用于部署新智能合約的抽象,因此此處的Counter是用來實體合約的工廠,

counter = await Counter.deploy();

ContractFactory上呼叫deploy()將啟動部署,并回傳決議為ContractPromise, 該物件包含了智能合約所有函式的方法,

let tx = await counter.count();
await tx.wait();

counter 上呼叫合約方法, 并等待交易執行完畢,

注意,默認情況下, ContractFactoryContract實體連接到第一個簽名者(Singer),

若需要使用其他的簽名這, 可以使用合約實體connect 到另一個簽名者, 如 counter.connect(otherAccount)

expect(await counter.get()).to.equal(0);

判斷相等,我們使用Chai,這是一個斷言庫, 這些斷言函式稱為“匹配器”,在此實際上使用的“匹配器”來自Hardhat Chai Matchers,

使用 Console.log 除錯合約

在**Hardhat Node **節點上運行合約和測驗時,你可以在Solidity代碼中呼叫console.log()列印日志資訊和合約變數,可以方便我們除錯代碼,

在合約代碼中匯入**Hardhat **的console.log就可以使用它,

pragma solidity ^0.8.0;

import "hardhat/console.sol";

contract Counter {
    uint public counter;

    constructor(uint x) {
        counter = x;
    }

    function count() public {
        counter = counter + 1;
        console.log("counter is %s ", counter);
    }

}

就像在JavaScript中使用一樣, 將一些console.log添加函式中,運行測驗時,將輸出日志記錄:

> npx hardhat test

  Counter
counter:0x5FbDB2315678afecb367f032d93F642f64180aa3
    ? init equal 0
counter is 1
    ? add 1 equal 1 (38ms)


  2 passing (1s)

可以在這里了解更多 console.log ,

部署合約

其實我們在測驗時, 合約已經部署到了Hardhat 內置的網路上,部署合約我們需要撰寫一個部署腳本,

scripts檔案夾,新建一個deploy.js 用來寫部署腳本,部署腳本其實和前面測驗時 init 函式類似:

const { ethers } = require("hardhat");

async function main() {

   const Counter = await ethers.getContractFactory("Counter");
   const counter = await Counter.deploy();
   await counter.deployed();

  console.log("Counter address:", counter.address);
}

main();

運行 npx hardhat run scripts/deploy.js 時, 可以合約會部署到Hardhat 內置網路上,

> npx hardhat run scripts/deploy.js
Counter address: 0x5FbDB2315678afecb367f032d93F642f64180aa3

為了在運行任何任務時指示Hardhat連接到特定的EVM網路,可以使用--network引數, 像這樣:

npx hardhat run scripts/deploy.js --network <network-name>

network-name 需要在 hardhat.config.js 檔案中進行配置:

require("@nomicfoundation/hardhat-toolbox");

// 填入自己的私鑰或助記詞,
const PRIVATE_KEY1 = "0x.... YOUR PRIVATE KEY1";
const PRIVATE_KEY2 = "0x....  YOUR PRIVATE KEY1";
const Mnemonic = "YOUR Mnemonic";


module.exports = {
  solidity: "0.8.9", // solidity的編譯版本
  networks: {
    goerli: {
      url: "https://eth-goerli.api.onfinality.io/public",
      accounts: [PRIVATE_KEY1,PRIVATE_KEY2],
      chainId: 5,
    },
    
     mumbai: {
      url: "https://endpoints.omniatech.io/v1/matic/mumbai/public",
      accounts: {
        mnemonic: Mnemonic,
      },
      chainId: 80001,
    },
  }
};

以上配置了兩個網路,一個是以太坊測驗網 goerli, 一個是 Polygon 測驗網mumbai, 我們可以在 https://chainlist.org 找到每個網路的節點 URL 及 chainID,

在網路配置中,需要提供提交交易賬號, 可以通過私鑰或助記詞 進行配置,這里配置的賬號(需要提前充幣進入到賬號中),在hardhat 腳本中(測驗及部署腳本)呼叫getSigners 即可獲得:

const [owner, otherAccount] = await ethers.getSigners();

一個私鑰對應一個Singer,助記詞則對應無數個 Singer , 為每個專案生成一個獨立的賬號是比較推薦的做法,使用 ChainTool 開源工具 可以生成賬號,

:::tip

助記詞可以推匯出無數了私鑰,可參考:BIP39

:::

另外要注意, 在 Goerli 上進行部署,需要將Goerli-ETH發送到將要進行部署的地址中, 可以從水龍頭免費或一些測驗幣,這是Goerli的一個水龍頭:

  • Alchemy Goerli Faucet

最后運行:

npx hardhat run scripts/deploy.js --network goerli

如果一切順利,你應該看到已部署的合約地址,

代碼開源驗證

智能代碼開源會增加了合約的透明度和可靠性,是專案建立信任很重要的一個步驟,

hardhat-toolbox 工具箱里,包含了 hardhat-etherscan 插件用于驗證已經部署到區塊鏈網路上的智能合約代碼與源代碼是否匹配,在完成驗證后在區塊鏈瀏覽器中合約標簽上會出現?, 如圖:

image-20230313104044517

在部署智能合約時,合約位元組碼會被寫入到區塊鏈中,這意味著其他人無法檢查合約的源代碼,代碼驗證的程序是將已部署合約的位元組碼與原始Solidity代碼再次編譯后與部署的位元組碼進行比較,確保它們是一致的,

相比在區塊鏈瀏覽器上上傳代碼驗證, hardhat-etherscan 有很多優點,否則會自動使用 hardhat config 值設定的編譯器選項,并且當代碼中參考的第三方庫或合約, hardhat-etherscan 能自動探測并處理,

開源驗證的步驟是:

  1. 安裝 hardhat-toolboxhardhat-etherscan , 這一步我們這里已經完成,因為在初始化專案的時候安裝了 hardhat-toolbox , 如果沒有安裝,可以使用以下命令安裝

    npm install --save-dev @nomiclabs/hardhat-etherscan
    
  2. hardhat.config.js 中配置您的 Etherscan API 密鑰和網路設定,例如:

  require("@nomicfoundation/hardhat-toolbox");
  或
  // require("@nomiclabs/hardhat-etherscan");
  
  etherscan: {
    apiKey: ""
  },
  
 

如何獲取 Etherscan API 密鑰?

  1. 訪問部署網路對應主網的 Etherscan 網站,并注冊一個賬號(如果還沒有賬號的話),
  2. 登錄你的賬號并進入 Etherscan 的「我的帳戶」頁面,
  3. 點擊頁面左側的「API-KEYs」標簽頁,
  4. 在頁面上方的「Create New API KEY」部分,輸入 API 密鑰的名稱和描述,然后選擇需要訪問的 API 權限,
  5. 點擊「Generate」按鈕來生成 API 密鑰,
  1. 執行驗證命令:

    npx hardhat verify <deployed-contract-address> "引數(若有)" --network <network-name> 
    

    例如,要在 goerli 網路上驗證合約,可以運行以下命令:

    npx hardhat verify 0x..... --network goerli
    

該命令會為我們上傳合約代碼并驗證其源代碼,如果一切順利(網路順暢的話),在 Etherscan 上看到的合約被成功驗證,

Hardhat 插件(Plugin)的使用

上面代碼開源驗證時,使用了hardhat-etherscan插件,其實也可以使用 hardhat-verify 插件,

在 https://hardhat.org/hardhat-runner/plugins 鏈接可以找到當前使用較多的插件,例如:hardhat-gas-reporter 可以對部署合約及函式執行的Gas消耗給出報告;solidity-coverage 可以對測驗覆寫率給出報告,

要使用一個插件通常要:

  1. 用 Node.js 包管理先安裝相應的插件

  2. hardhat.config.js 檔案中引入插件,以便Hardhat 能加載上對應的插件,

參考檔案

示例非常簡單, 更多使用方法,可參考檔案:

  • Hardhat 官方檔案:https://hardhat.org/getting-started/

  • Hardhat 中文檔案:https://learnblockchain.cn/docs/hardhat/getting-started/

  • Harhdat 入門教程:https://learnblockchain.cn/docs/hardhat/tutorial/

  • Ethers.js 檔案:https://learnblockchain.cn/ethers_v5/

小結

本文介紹了 Hardhat 開發框架的一些基本概念和使用方法,了解了如何使用 Hardhat 進行合約編譯、部署、除錯及測驗,在開發中要經常查看檔案,了解更多Hardhat 用法,


Hardhat 的使用你掌握了嗎?來這里挑戰一下看看,挑戰完成你就可以領取到一枚技能認證 NFT,

碼一個未來


原教程鏈接:https://decert.me/tutorial/solidity/tools/hardhat
Decert.me -- 碼一個未來

轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/552221.html

標籤:區塊鏈

上一篇:波場(Tron) 網頁版錢包開源

下一篇:返回列表

標籤雲
其他(158861) Python(38128) JavaScript(25413) Java(18033) C(15226) 區塊鏈(8265) C#(7972) AI(7469) 爪哇(7425) MySQL(7177) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5871) 数组(5741) R(5409) Linux(5338) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4570) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2432) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) .NET技术(1972) 功能(1967) Web開發(1951) HtmlCss(1935) python-3.x(1918) C++(1915) 弹簧靴(1913) xml(1889) PostgreSQL(1875) .NETCore(1860) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • JAVA使用 web3j 進行token轉賬

    最近新學習了下區塊鏈這方面的知識,所學不多,給大家分享下。 # 1. 關于web3j web3j是一個高度模塊化,反應性,型別安全的Java和Android庫,用于與智能合約配合并與以太坊網路上的客戶端(節點)集成。 # 2. 準備作業 jdk版本1.8 引入maven <dependency> < ......

    uj5u.com 2020-09-10 03:03:06 more
  • 以太坊智能合約開發框架Truffle

    前言 部署智能合約有多種方式,命令列的瀏覽器的渠道都有,但往往跟我們程式員的風格不太相符,因為我們習慣了在IDE里寫了代碼然后打包運行看效果。 雖然現在IDE中已經存在了Solidity插件,可以撰寫智能合約,但是部署智能合約卻要另走他路,沒辦法進行一個快捷的部署與測驗。 如果團隊管理的區塊節點多、 ......

    uj5u.com 2020-09-10 03:03:12 more
  • 谷歌二次驗證碼成為區塊鏈專用安全碼,你怎么看?

    前言 谷歌身份驗證器,前些年大家都比較陌生,但隨著國內互聯網安全的加強,它越來越多地出現在大家的視野中。 比較廣泛接觸的人群是國際3A游戲愛好者,游戲盜號現象嚴重+國外賬號安全應用廣泛,這類游戲一般都會要求用戶系結名為“兩步驗證”、“雙重驗證”等,平臺一般都推薦用谷歌身份驗證器。 后來區塊鏈業務風靡 ......

    uj5u.com 2020-09-10 03:03:17 more
  • 密碼學DAY1

    目錄 ##1.1 密碼學基本概念 密碼在我們的生活中有著重要的作用,那么密碼究竟來自何方,為何會產生呢? 密碼學是網路安全、資訊安全、區塊鏈等產品的基礎,常見的非對稱加密、對稱加密、散列函式等,都屬于密碼學范疇。 密碼學有數千年的歷史,從最開始的替換法到如今的非對稱加密演算法,經歷了古典密碼學,近代密 ......

    uj5u.com 2020-09-10 03:03:50 more
  • 密碼學DAY1_02

    目錄 ##1.1 ASCII編碼 ASCII(American Standard Code for Information Interchange,美國資訊交換標準代碼)是基于拉丁字母的一套電腦編碼系統,主要用于顯示現代英語和其他西歐語言。它是現今最通用的單位元組編碼系統,并等同于國際標準ISO/IE ......

    uj5u.com 2020-09-10 03:04:50 more
  • 密碼學DAY2

    ##1.1 加密模式 加密模式:https://docs.oracle.com/javase/8/docs/api/javax/crypto/Cipher.html ECB ECB : Electronic codebook, 電子密碼本. 需要加密的訊息按照塊密碼的塊大小被分為數個塊,并對每個塊進 ......

    uj5u.com 2020-09-10 03:05:42 more
  • NTP時鐘服務器的特點(京準電子)

    NTP時鐘服務器的特點(京準電子) NTP時鐘服務器的特點(京準電子) 京準電子官V——ahjzsz 首先對時間同步進行了背景介紹,然后討論了不同的時間同步網路技術,最后指出了建立全球或區域時間同步網存在的問題。 一、概 述 在通信領域,“同步”概念是指頻率的同步,即網路各個節點的時鐘頻率和相位同步 ......

    uj5u.com 2020-09-10 03:05:47 more
  • 標準化考場時鐘同步系統推進智能化校園建設

    標準化考場時鐘同步系統推進智能化校園建設 標準化考場時鐘同步系統推進智能化校園建設 安徽京準電子科技官微——ahjzsz 一、背景概述隨著教育事業的快速發展,學校建設如雨后春筍,隨之而來的學校教育、管理、安全方面的問題成了學校管理人員面臨的最大的挑戰,這些問題同時也是學生家長所擔心的。為了讓學生有更 ......

    uj5u.com 2020-09-10 03:05:51 more
  • 位元幣入門

    引言 位元幣基本結構 位元幣基礎知識 1)哈希演算法 2)非對稱加密技術 3)數字簽名 4)MerkleTree 5)哪有位元幣,有的是UTXO 6)位元幣挖礦與共識 7)區塊驗證(共識) 總結 引言 上一篇我們已經知道了什么是區塊鏈,此篇說一下區塊鏈的第一個應用——位元幣。其實先有位元幣,后有的區塊 ......

    uj5u.com 2020-09-10 03:06:15 more
  • 北斗對時服務器(北斗對時設備)電力系統應用

    北斗對時服務器(北斗對時設備)電力系統應用 北斗對時服務器(北斗對時設備)電力系統應用 京準電子科技官微(ahjzsz) 中國北斗衛星導航系統(英文名稱:BeiDou Navigation Satellite System,簡稱BDS),因為是目前世界范圍內唯一可以大面積提供免費定位服務的系統,所以 ......

    uj5u.com 2020-09-10 03:06:20 more
最新发布
  • Hardhat 開發框架 - Solidity開發教程連載

    Decert.me 要連載教程了, 《Solidity 開發教程》 力求系統、深入的介紹 Solidity 開發, 同時這是一套互動式教程,你可以實時的修改教程里的合約代碼并運行。 本教程來自貢獻者 @Tiny熊,讓我們正式開始學習吧。 如果你已經是 Hardhat 的使用者,可以直接跳到文末,參與 ......

    uj5u.com 2023-05-12 08:33:27 more
  • 波場(Tron) 網頁版錢包開源

    之前做區塊鏈專案太難了,很多組件、工具沒有開源專案,需要自己寫很麻煩。 我整理了幾個自己給公司開發專案的時候,分離出來的幾個工具,已經上傳到 Gihub 了,感覺瀏覽量還行,在這里給園子里的朋友分享下。 1、本地網頁版本錢包: 為了方便管理專案里所有用戶的私鑰,用一套助記詞派生出所有私鑰,這樣每個用 ......

    uj5u.com 2023-05-11 07:39:44 more
  • LP三明治機器人

    2022 年 11 月 4 日,EigenPhi檢測到一種全新型別的三明治交易:一個三明治機器人擠壓了一筆增加流動性的交易,根據我們的常識,這很奇怪。這樣做有利可圖嗎?有什么限制嗎?與之前關于包括 37 筆交易的巨大三明治交易的文章不同,該機器人展示了一種截然不同的創新策略。而本文將帶你一探AMM旗 ......

    uj5u.com 2023-05-10 07:52:55 more
  • 當前區塊鏈研究領域的前沿技術和研究方向

    本文分享自天翼云開發者社區《當前區塊鏈研究領域的前沿技術和研究方向》 作者:施****慶 區塊鏈在過去幾年中引起了巨大的關注,這得益于它們的分散性、透明性、匿名性和不可篡改性,這些特點使得區塊鏈技術可以應用于許多領域。目前,區塊鏈技術已被應用于金融、醫療、供應鏈等多個領域,而且也有很多研究人員正在致 ......

    uj5u.com 2023-05-07 08:09:12 more
  • 一文帶你了解區塊鏈中15種共識演算法

    所有主要的區塊鏈共識演算法解釋 區塊鏈技術席卷全球,提供了一種去中心化且安全的資訊存盤和傳輸方式。它還徹底改變了交易的執行方式,隨之而來的是廣泛的共識演算法。在這里,共識演算法在確保區塊鏈網路的完整性方面發揮著關鍵作用。在本文中,我們將探討所有主要型別的區塊鏈共識演算法、它們的含義、優點、缺點,以及為什么它 ......

    uj5u.com 2023-04-30 07:42:57 more
  • web3 產品介紹 MyEtherWallet 方便和智能合約互動的錢包

    MyEtherWallet(簡稱MEW)是一款流行的去中心化以太坊錢包,它允許用戶在安全且簡單的界面中管理自己的以太坊資產。在本文中,我們將介紹MyEtherWallet的主要特點、功能以及如何使用它來管理以太坊資產。 一、MyEtherWallet的特點 安全性:MyEtherWallet是一款去 ......

    uj5u.com 2023-04-25 08:07:47 more
  • web3 產品介紹: walletconnect 連接Web3 DApps與用戶的移動加密錢

    WalletConnect是一種去中心化的開源協議,旨在連接Web3 DApps與用戶的移動加密錢包,提供更安全、更便捷的加密貨幣交易體驗。在本文中,我們將介紹WalletConnect的主要特點、作業原理以及如何使用它來連接DApps和移動錢包。 一、WalletConnect的特點 去中心化:W ......

    uj5u.com 2023-04-24 07:50:30 more
  • Uniswap V2 — 從代碼解釋 DeFi 協議

    Uniswap V2 — 從代碼解釋 DeFi 協議 為了理解我們在分析代碼時將要經歷的不同組件,首先了解哪些是主要概念以及它們的作用是很重要的。所以,和我一起裸露吧,因為這是值得的。 我在 5 個段落中總結了您需要了解的主要重要概念,您將在本文結束時理解這些概念。 Uniswap 是一種去中心化交 ......

    uj5u.com 2023-04-23 07:37:22 more
  • web3 產品介紹: safe --多簽錢包 多人審批更放心

    Safe是一款由Gnosis團隊開發的多簽錢包,它提供了一種安全、靈活和易于使用的方式來管理加密資產。在本文中,我們將介紹Safe的主要特點以及如何使用Safe來保護您的數字資產。 一、Safe的特點 多重簽名:Safe使用多重簽名機制來保護用戶的資產,需要至少兩個簽名才能完成交易。這使得用戶的資產 ......

    uj5u.com 2023-04-23 07:37:18 more
  • web3 產品介紹:硬體錢包Ledger 離線管理私鑰更安全

    Ledger是一款硬體錢包,可以安全地存盤用戶的加密資產,并在需要時進行交易。作為一種離線存盤設備,Ledger錢包比在線錢包更加安全,因為它能夠保護用戶的私鑰和交易資訊,使其免受黑客攻擊和網路病毒的影響。本文將詳細介紹Ledger錢包的特點和使用方法。 一、Ledger錢包的特點 1.安全性高:L ......

    uj5u.com 2023-04-21 09:16:38 more