国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

從實(shí)戰(zhàn)開(kāi)始了解Web3(一)

這篇具有很好參考價(jià)值的文章主要介紹了從實(shí)戰(zhàn)開(kāi)始了解Web3(一)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

為什么會(huì)有這篇文章

一年前從青島離職回老家工作,來(lái)到這家公司的時(shí)候,這邊的前端對(duì)于區(qū)塊鏈基本說(shuō)0了解,很多時(shí)候基本屬于東拼西湊,來(lái)去獲取賬戶,剩下的全靠后端,去中心化可以說(shuō)完全沒(méi)有接觸過(guò)。

ps: 這篇文章并不會(huì)給你帶來(lái)技能提升,只能說(shuō)在未了解該類(lèi)型項(xiàng)目時(shí),讓你以最快的速度能先項(xiàng)目實(shí)際開(kāi)發(fā)中入手該類(lèi)型項(xiàng)目

正文開(kāi)始

  1. 首先準(zhǔn)備基礎(chǔ)環(huán)境 以谷歌瀏覽器 為例 我們需要下載一個(gè)擴(kuò)展程序 meatMask 自己注冊(cè)個(gè)錢(qián)包地址
  2. 項(xiàng)目中安裝web3依賴(lài) npm install web3

從現(xiàn)在開(kāi)始正式開(kāi)始與web3開(kāi)始

檢測(cè)環(huán)境

//檢測(cè)當(dāng)前瀏覽器是否以太坊兼容,并進(jìn)行相應(yīng)的處理

if (typeof window.ethereum === 'undefined') {
// 瀏覽器不存在以太坊兼容 看你怎么花式提示用戶了
}else{
// 哎~ 檢測(cè)到瀏覽器中 存在以太坊環(huán)境了  接下來(lái)就可以來(lái)去獲取錢(qián)包地址了
}

獲取賬戶

當(dāng)我們檢測(cè)到瀏覽器中存以太坊環(huán)境,那么我們就可以進(jìn)行下一步,獲取到用戶的錢(qián)包賬戶了

window.ethereum.request({ method: 'eth_requestAccounts' })
          //如果用戶拒絕了登錄請(qǐng)求
          .catch(reason => {
            if (reason === 'User rejected provider access') {
              // 用戶不想登錄,你看該怎么辦?
            } else {
              // 本不該執(zhí)行到這里,但是真到這里了,說(shuō)明發(fā)生了意外
            }
          })
          //如果用戶同意了登錄請(qǐng)求,你就可以拿到用戶的賬號(hào)
          .then(accounts => {
            //一旦獲取了用戶賬號(hào),你就可以簽名交易
            // 這里獲取到的accounts 是個(gè)數(shù)組 正常取0即可
          })

簽名授權(quán)

這時(shí)候就有人會(huì)問(wèn)了 為什么簽名授權(quán)放在這里,或者說(shuō)簽名授權(quán)是啥?
這時(shí)候扯入一個(gè)知識(shí)點(diǎn) 叫做觀察錢(qián)包,現(xiàn)在的錢(qián)包app 都支持觀察錢(qián)包 觀察錢(qián)包只需要錢(qián)包地址即可添加到錢(qián)包,這時(shí)候如果通過(guò)上方獲取賬戶 同樣可以正常獲取到觀察錢(qián)包賬戶,如果和合約交互那么可以不用考慮,如果你哪里錢(qián)包賬戶用作跟后端交互 那么這里就有必要開(kāi)啟簽名授權(quán),簽名授權(quán)可以禁止觀察錢(qián)包操作。具體樣子可以自己寫(xiě)demo試一下,我懶得寫(xiě)

//簽名授權(quán)的前提是 獲取到用戶賬戶
               let web3 = new Web3(window.ethereum);//創(chuàng)建web3
              web3.eth.personal.sign(web3.utils.fromUtf8('授權(quán)提示語(yǔ)'),'錢(qián)包賬戶', (err, res) =>{

               if (res != null && res !== undefined && res !== '') {
               //簽名通過(guò),做你自己的事 比如把錢(qián)包賬戶給跑出來(lái)
               } else {
               // 用戶拒絕簽名 ,提示該提示的
               }
             })
           }

到現(xiàn)在為止,你已經(jīng)可以獲取到用戶的錢(qián)包賬戶了,可以開(kāi)啟下一步新的功能,整個(gè)web3實(shí)戰(zhàn)的1/3基礎(chǔ)你已經(jīng)學(xué)會(huì)了哦~

監(jiān)控鏈信息變更

哎 上文中不是說(shuō)已經(jīng)可以獲取到錢(qián)包賬戶了么 ,那這個(gè)又是啥那?

先貼代碼

// 帳戶更改事件
//當(dāng)你錢(qián)包賬戶切換的時(shí)候就會(huì)觸發(fā)這個(gè)
    window.ethereum.on('accountsChanged', (accounts) => {
     // 如果返回?cái)?shù)組中的第一個(gè)帳戶不是您期望的帳戶,您應(yīng)該通知用戶!將來(lái),accounts 數(shù)組可能包含多個(gè)帳戶。但是,數(shù)組中的第一個(gè)帳戶將繼續(xù)被視為用戶的“選定”帳戶。
      console.log(accounts)
   })

   // 鏈改變事件
   //當(dāng)你鏈切換的時(shí)候就會(huì)觸發(fā)這個(gè)
    window.ethereum.on('chainChanged', (chainId) => {
      console.log(chainId)
   })

我相信每個(gè)玩鏈的玩家,手里應(yīng)該不止一個(gè)錢(qián)包賬戶,不止一個(gè)鏈有錢(qián)包賬戶,
那么如果他們?cè)谀愕膁app中進(jìn)行切換錢(qián)包或者切換鏈,那你是不是要做操作,哎! 這個(gè)監(jiān)聽(tīng)就是為了做這個(gè)!??!文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-455489.html

到了這里,關(guān)于從實(shí)戰(zhàn)開(kāi)始了解Web3(一)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 從實(shí)戰(zhàn)開(kāi)始了解Web3(一)

    一年前從青島離職回老家工作,來(lái)到這家公司的時(shí)候,這邊的前端對(duì)于區(qū)塊鏈基本說(shuō)0了解,很多時(shí)候基本屬于東拼西湊,來(lái)去獲取賬戶,剩下的全靠后端,去中心化可以說(shuō)完全沒(méi)有接觸過(guò)。 ps: 這篇文章并不會(huì)給你帶來(lái)技能提升,只能說(shuō)在未了解該類(lèi)型項(xiàng)目時(shí),讓你以最快的

    2024年02月06日
    瀏覽(22)
  • Minima:為什么 Web3 需要完全去中心化

    我們邀請(qǐng)了來(lái)自Minima的Jonathan MacDonald關(guān)于 Web3 的話題來(lái)談?wù)?Web 3,他建議只有在 完全 去中心化的情況下才有可能,而加密世界還沒(méi)有 – 還沒(méi)有! 他在下面更詳細(xì)地解釋?zhuān)?2021? Wired 對(duì) Gavin Wood 的采訪(他在 2014 年創(chuàng)造了“Web3”一詞)明確區(qū)分了“Web 1.0”(包含開(kāi)放、去中

    2024年01月21日
    瀏覽(31)
  • 為什么開(kāi)發(fā)者關(guān)系對(duì) Web3 的成功至關(guān)重要?

    為什么開(kāi)發(fā)者關(guān)系對(duì) Web3 的成功至關(guān)重要?

    之前,我們研究了早期初創(chuàng)公司如何建立開(kāi)發(fā)者社區(qū)和跟蹤產(chǎn)品與市場(chǎng)的契合度。如果沒(méi)有有效的開(kāi)發(fā)者關(guān)系團(tuán)隊(duì),這些舉措不太可能成功。 開(kāi)發(fā)者關(guān)系專(zhuān)業(yè)人員通常作為信息樞紐,經(jīng)常與產(chǎn)品、銷(xiāo)售和營(yíng)銷(xiāo)等其他運(yùn)營(yíng)團(tuán)隊(duì)合作,并讓每個(gè)人都了解情況。由于許多Web3初創(chuàng)公

    2023年04月08日
    瀏覽(37)
  • 為什么要打造AIGC元宇宙產(chǎn)業(yè)的 Web3 圖像處理服務(wù)平臺(tái)?

    為什么要打造AIGC元宇宙產(chǎn)業(yè)的 Web3 圖像處理服務(wù)平臺(tái)?

    Web3 的游戲規(guī)則是人人都有發(fā)幣權(quán),每個(gè)項(xiàng)目都可以發(fā)行代幣,讓用戶一起參與建設(shè),簡(jiǎn) 單一點(diǎn)說(shuō)就是向用戶集資,等項(xiàng)目發(fā)展起來(lái)了,大家可從幣的增值上套現(xiàn)。另外,代幣 token 也是用戶參與治理的憑證,你有 token 就可以參與投票,決定項(xiàng)目的走向。 賽道之王 AIGC,打開(kāi)

    2024年02月13日
    瀏覽(23)
  • 為什么axios會(huì)有params和data兩個(gè)參數(shù)

    不知道大家有沒(méi)有過(guò)這種感覺(jué),突然一個(gè)問(wèn)題百思不得其解,然后突然有一天就明白了。然后就感覺(jué)這個(gè)問(wèn)題原來(lái)這么簡(jiǎn)單,本來(lái)想記錄下來(lái),但是又感覺(jué)這么簡(jiǎn)單的問(wèn)題記錄下來(lái)沒(méi)啥意義。但是回過(guò)頭來(lái)想一想,這個(gè)問(wèn)題之前其實(shí)困擾了你很長(zhǎng)時(shí)間。感覺(jué)還是記錄一下比較

    2024年02月08日
    瀏覽(20)
  • NFT 為什么會(huì)有差異,探索底層的鑄造協(xié)議

    NFT 為什么會(huì)有差異,探索底層的鑄造協(xié)議

    NFT 的流行,讓許多人都對(duì)它已經(jīng)不怎么陌生了。但你真正了解過(guò)它么?從表面來(lái)看,每個(gè) NFT 之間的性質(zhì)、特點(diǎn)以及屬性和功能等都沒(méi)有多大的差別,當(dāng)我們深入了解時(shí)才會(huì)發(fā)現(xiàn),在不同應(yīng)用領(lǐng)域的 NFT 之間,也有一些細(xì)微的不同。是什么導(dǎo)致了這些差異的存在呢?這個(gè)問(wèn)題

    2024年02月15日
    瀏覽(16)
  • 為什么會(huì)有刷掉第一名、刷掉400+的院校?

    為什么會(huì)有刷掉第一名、刷掉400+的院校?

    本期為大家整理熱門(mén)院校-“南昌大學(xué)”的擇校分析,這個(gè)擇校分析專(zhuān)題會(huì)為大家結(jié)合:初試復(fù)試占比、復(fù)試錄取規(guī)則(是否公平)、往年錄取錄取名單、招生人數(shù)、分?jǐn)?shù)線、專(zhuān)業(yè)課難度等進(jìn)行分析。希望能夠幫到大家! –所有數(shù)據(jù)來(lái)源于研招網(wǎng),如有錯(cuò)誤,歡迎指正,謝謝!

    2024年02月08日
    瀏覽(21)
  • 【C++入門(mén)】你知道C++為什么會(huì)有內(nèi)聯(lián)函數(shù)嗎?

    【C++入門(mén)】你知道C++為什么會(huì)有內(nèi)聯(lián)函數(shù)嗎?

    ??個(gè)人主頁(yè):@Weraphael ???作者簡(jiǎn)介:目前學(xué)習(xí)C++和算法 ??專(zhuān)欄:C++航路 ?? 希望大家多多支持,咱一起進(jìn)步!?? 如果文章對(duì)你有幫助的話 歡迎 評(píng)論?? 點(diǎn)贊???? 收藏 ?? 加關(guān)注? 本章是補(bǔ)充C語(yǔ)言語(yǔ)法的不足,以及C++是如何對(duì)C語(yǔ)言設(shè)計(jì)不合理的地方進(jìn)行優(yōu)化的。 我

    2024年02月03日
    瀏覽(22)
  • 為什么會(huì)有分布式鎖?分布式鎖實(shí)現(xiàn)方案

    為什么會(huì)有分布式鎖?分布式鎖實(shí)現(xiàn)方案

    分布式鎖是控制分布式系統(tǒng)之間同步訪問(wèn)共享資源的一種方式。分布式環(huán)境下會(huì)出現(xiàn)資源競(jìng)爭(zhēng)的地方都需要分布式鎖的協(xié)調(diào)。 分布式鎖的作用:在整個(gè)系統(tǒng)提供一個(gè)全局、唯一的鎖,在分布式系統(tǒng)中每個(gè)系統(tǒng)在進(jìn)行相關(guān)操作的時(shí)候需要獲取到該鎖,才能執(zhí)行相應(yīng)操作。 服務(wù)

    2024年02月08日
    瀏覽(20)
  • 為什么會(huì)有JMM?從0到1一次性說(shuō)清楚

    為什么會(huì)有JMM?從0到1一次性說(shuō)清楚

    JMM(Java Memory Model)是一種規(guī)范,定義了在多線程環(huán)境下Java程序中的內(nèi)存訪問(wèn)行為。JMM保證了在多線程環(huán)境下程序的正確性,同時(shí)也允許編譯器和處理器對(duì)指令進(jìn)行優(yōu)化,以提高程序的性能。 Java線程之間的通信由Java內(nèi)存模型(簡(jiǎn)稱(chēng)JMM)控制,從抽象的?度來(lái)說(shuō),JMM定義了線

    2023年04月20日
    瀏覽(24)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包