最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

當前位置:主頁 > 區(qū)塊鏈 > 區(qū)塊鏈技術(shù) > 非確定性錢包介紹

兩種錢包之非確定性錢包(keystore管理私鑰)

2026-02-28 12:36:50 | 來源: | 作者:佚名
本文講解非確定性錢包,因為比較簡單,下面會直接給出代碼實現(xiàn),下一篇文章會詳細講解分層確定性錢包,這個已經(jīng)成為了行業(yè)標準,我會重磅介紹,并對比兩種錢包的適用場景

以太坊上有 2 種錢包:

  • 非確定性錢包,也叫隨機錢包,每個賬戶通過獨立的隨機數(shù)生成器創(chuàng)建,使用keystore管理賬戶,沒有助記詞。
  • 分層確定性錢包,也叫HD Wallet,每個賬戶通過固定的種子(seed)派生,使用助記詞管理所有賬戶。

本文講解非確定性錢包,因為比較簡單,下面會直接給出代碼實現(xiàn)。下一篇文章會詳細講解分層確定性錢包,這個已經(jīng)成為了行業(yè)標準,我會重磅介紹,并對比兩種錢包的適用場景。

概念

隨機數(shù)生成器:如Web3專題(一) 助記詞和生成私鑰、公鑰、地址的基本原理所說,私鑰是 256 位隨機數(shù)字,需要使用安全的隨機源生成,并經(jīng)過一系列算法生成公鑰、地址。

keystore:是一種文件格式,稱為存儲機制,主要目的是提供一種安全的方式來保管私鑰,需要用戶提供密碼來解鎖私鑰。

通常,用 keystore 文件加密私鑰等信息,來保護非確定性錢包。

使用 Go 語言開發(fā)一個非確定性錢包

  • 需要引入的包
import (
	"github.com/ethereum/go-ethereum/accounts/keystore"
	"github.com/ethereum/go-ethereum/common"
	"github.com/ethereum/go-ethereum/crypto"
)
  • 創(chuàng)建 keystore 對象,所有的私鑰都由這個 keystore 對象管理。在這里,我們指定./keystore文件夾保存賬戶。

特別提醒
NewKeyStore 方法只會加載目錄,并監(jiān)控目錄的變化,不會創(chuàng)建賬戶,創(chuàng)建賬戶在下面第 3 步。
NewKeyStore 方法內(nèi)部會自動掃描./keystore文件夾,并加載這個文件夾下的所有賬戶到 keystore 對象

// 第一個參數(shù):./keystore 指定賬戶所在的文件夾
ks := keystore.NewKeyStore("./keystore", keystore.StandardScryptN, keystore.StandardScryptP)
  • 創(chuàng)建一個新賬戶

NewAccount 會利用你指定的密碼在./keystore 目錄下創(chuàng)建一個 json 文件,這個文件包含了加密過的私鑰、公鑰、地址等。
每執(zhí)行一次 NewAccount 都會創(chuàng)建一個新賬戶。因此,如果只需要加載已有賬戶,則不需要執(zhí)行這個方法。
所有的 json 文件都會存放在./keystore 文件夾。

acc, err := ks.NewAccount("your password")
if err != nil {
    panic(err)
}
  • 獲取已創(chuàng)建的賬戶,會從./keystore 文件夾內(nèi)拿到所有賬戶

ks對象是第2步創(chuàng)建的,會自動掃描./keystore 文件夾,拿到所有賬戶。

for _, acc := range ks.Accounts() {
    fmt.Println("賬戶地址:", acc.Address.String())
}
  • 如果希望簽名交易的話,可以使用錢包
for _, wallet := range ks.Wallets() {
    // 這里每個錢包獲得的第一個account和上面第4步的賬戶是一一對應(yīng)的
    _, _ = wallet.SignTx(wallet.Accounts()[0], nil, nil)
    _, _ = wallet.SignData(wallet.Accounts()[0], "", nil)
}
  • 如果希望導(dǎo)出私鑰,則需要密碼才可以。PASSWORD是上面第3步創(chuàng)建新賬戶設(shè)置的密碼。
// 先把賬戶的 json 文件導(dǎo)出為[]byte
kjson, err := ks.Export(ks.Accounts()[0], PASSWORD, PASSWORD)
if err != nil {
    panic(err.Error())
}
// 通過kjson+密碼可以解密私鑰
key, err := keystore.DecryptKey(kjson, PASSWORD)
if err != nil {
    panic(err.Error())
}
privateKey := key.PrivateKey
fmt.Println(common.BytesToHash(crypto.FromECDSA(privateKey)).String())

至此,我們已經(jīng)學(xué)會了如何使用 Go 語言創(chuàng)建非確定性錢包。

免責聲明:本文只為提供市場訊息,所有內(nèi)容及觀點僅供參考,不構(gòu)成投資建議,不代表本站觀點和立場。投資者應(yīng)自行決策與交易,對投資者交易形成的直接或間接損失,作者及本站將不承擔任何責任。!

你可能感興趣的文章

幣圈快訊

  • 特朗普:如果不100%滿足我們對伊朗的要求戰(zhàn)爭將以全力度重啟

    2026-07-26 03:02
    7月26日,美國總統(tǒng)特朗普周六在接受法國媒體采訪時表示,若無法拿到美方想要的全部條件,他“完全有可能”重啟針對伊朗的全面戰(zhàn)爭。當被問及想對美國的歐洲盟友傳遞何種信息時,特朗普稱:“有我當他們的盟友,是他們的幸運。”(新浪財經(jīng))
  • 伊朗:美軍傷亡數(shù)字遠超官方口徑

    2026-07-26 02:21
    7月26日,伊朗革命衛(wèi)隊發(fā)言人表示,美國在違反協(xié)議后的死亡人數(shù)超過200人。美國方面公布的美軍人員傷亡數(shù)字是徹頭徹尾的謊言。我們對美國目標進行了攻擊,擊中了8個駐軍中心,其中僅一個就有20個倉庫被摧毀。在“勝利2”行動中,美國的死亡人數(shù)超過200人;受傷人數(shù)遠高于這一數(shù)字。美國人民不應(yīng)讓他們那些撒謊的指揮官把他們當成傻瓜。美國政府應(yīng)邀請記者前往遭襲地點,評估到底有多少人傷亡。(金十)
  • Lido:團隊正在排查今日stETH收益重估計算偏差事件用戶資產(chǎn)不存在任何風(fēng)險

    2026-07-26 02:20
    7月26日,Lido于X平臺發(fā)文稱,開發(fā)團隊正在排查由協(xié)議會計預(yù)言機上報、今日stETH收益重估產(chǎn)生的異常問題。本次重估顯示年化收益率僅2.04%,而預(yù)期數(shù)值為2.15%。該偏差并非驗證者罰沒造成,用戶資產(chǎn)不存在任何風(fēng)險,問題起因是一筆處于待確認狀態(tài)的32枚驗證者質(zhì)押ETH未被預(yù)言機納入統(tǒng)計。開發(fā)人員已反復(fù)核對預(yù)言機播報當時及之后以太坊共識層上所有Lido驗證者的總余額,未發(fā)現(xiàn)任何資產(chǎn)存在風(fēng)險的跡象。用戶無需進行任何操作。團隊目前正在排查問題根本原因;修復(fù)方案上線后,下一輪收益重估會將本次少統(tǒng)計的資產(chǎn)一并計入核算。待查明根本誘因后,官方將發(fā)布完整情況通報。
  • 特朗普下令暫??找u伊朗

    2026-07-26 01:45
    當?shù)貢r間7月25日,美國總統(tǒng)特朗普下令美軍當天不要對伊朗發(fā)動新的空襲,結(jié)束了此前連續(xù)近兩周、持續(xù)13天的每日打擊行動。據(jù)悉,特朗普此前每天都會批準軍方提交的對伊朗打擊方案,但25日收到新的作戰(zhàn)計劃后,并未批準執(zhí)行,而是直接下令當天暫??找u。目前尚不清楚這一決定只是一天的臨時安排,還是意味著軍事行動將進入暫停階段。據(jù)悉,特朗普下令暫??找u前數(shù)小時,阿曼代表團已抵達德黑蘭,就重啟霍爾木茲海峽通航的新安排展開談判。兩名了解談判情況的地區(qū)消息人士稱,談判已取得進展,阿曼與伊朗有望在本周末達成協(xié)議,屆時特朗普將決定是否接受這一方案。(央視新聞)
  • 特朗普周五指示美軍不要在伊朗發(fā)動新的打擊

    2026-07-26 01:05
    7月26日,據(jù)Axios新聞報道,兩位消息人士稱,特朗普于當?shù)貢r間周五指示美國軍方不要在伊朗發(fā)動新的打擊,打破了近兩周的每日連續(xù)攻擊。特朗普的指令是在此前連續(xù)13天對伊朗進行打擊后作出的。目前尚不清楚特朗普周五的命令是一次性的,還是意味著這種平靜狀態(tài)將持續(xù)下去。特朗普的決定既反映了他愿意為外交留出更多空間,也承認了在當前未恢復(fù)大規(guī)模作戰(zhàn)行動的情況下,美軍打擊的效果已達到極限。如果特朗普下令恢復(fù)打擊,美軍可以在相對較短的時間內(nèi)進行動員。消息人士稱,美軍仍在為可能恢復(fù)大規(guī)模作戰(zhàn)行動制定計劃,但特朗普尚未下達朝這一方向推進的命令。白宮未作出回應(yīng)。(金十)
  • 查看更多
更多

熱門幣種

  • 幣種
    最新價格
    24H漲跌幅
  • bitcoin BTC 比特幣

    BTC

    比特幣

    $ 64419.52¥ 436133.03
    +0.23%
  • ethereum ETH 以太坊

    ETH

    以太坊

    $ 1875.27¥ 12695.95
    +0.69%
  • tether USDT 泰達幣

    USDT

    泰達幣

    $ 0.999¥ 6.7634
    +0.01%
  • binance-coin BNB 幣安幣

    BNB

    幣安幣

    $ 568.97¥ 3852.04
    +1.14%
  • usdc USDC USD Coin

    USDC

    USD Coin

    $ 1.0008¥ 6.7756
    +0.01%
  • ripple XRP 瑞波幣

    XRP

    瑞波幣

    $ 1.103¥ 7.4675
    +1.47%
  • solana SOL Solana

    SOL

    Solana

    $ 74.6406¥ 505.33
    +0.94%
  • tron TRX 波場

    TRX

    波場

    $ 0.3312¥ 2.2422
    +0.18%
  • hyperliquid HYPE Hyperliquid

    HYPE

    Hyperliquid

    $ 58.3964¥ 395.35
    -0.35%
  • dogecoin DOGE 狗狗幣

    DOGE

    狗狗幣

    $ 0.072897¥ 0.4935
    +5.25%
湾仔区| 芷江| 沿河| 平定县| 淳安县| 墨脱县| 渭源县| 丰都县| 曲阳县| 五河县| 天峻县| 滨州市| 新龙县| 临湘市| 苍梧县| 峨山| 土默特右旗| 珲春市| 习水县| 泾川县| 普陀区| 凌海市| 南平市| 金溪县| 株洲市| 舒城县| 双江| 扎囊县| 乃东县| 广宁县| 舒城县| 库尔勒市| 河津市| 西畴县| 兴业县| 奉贤区| 和田县| 大丰市| 盐源县| 通化市| 平顶山市|