加密貨幣交易所 加密貨幣交易所
Ctrl+D 加密貨幣交易所
ads
首頁 > AAVE > Info

了解了這些 去做個Web3.0的開發者吧_WEB:區塊鏈工程專業學什么女生

Author:

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

原文標題:《定義web3堆棧》

原文作者:NaderDabit

原文編譯:TheGraph社區成員

想在web3上進行構建?NaderDabit在一份介紹性指南中指出了web3技術堆棧的構建模塊

在「web3上構建」的下一章節中,Edge&Node開發者關系工程師NaderDabit闡述了web3堆棧,以及開發者如何將在web3上構建的各個層面概念化。

我在2021年4月過渡到web3,此前我做了大約10年的傳統全棧開發者。在潛心研究所有這些新技術和想法時,我想知道的第一件事是"什么是web3堆棧?"。

當構建一個傳統的網絡或移動應用程序時,我經常依賴某幾個構建模塊來完成工作:

API/應用服務器

驗證層

數據庫

客戶端框架、平臺和庫

文件存儲

使用這些核心組件,我可以建立我想要的大多數類型的應用程序,或者至少可以達到大部分的目的。那么,這在web3中是什么樣子的呢?

事實證明,這個問題的答案并不那么直截了當,因為:

-此范式在很多方面都完全不同

-web3的工具、技術和生態系統都沒有web2那么成熟

對我來說,也更難理解如何啟動、運行和建立web3應用程序,因為我是以與web2世界相同的方式來處理問題的。

在過去8個月左右的時間里,經過工作、研究、實驗和建設,我想和大家分享一下我的心得。

什么是web3?

在我們定義web3堆棧之前,讓我們試著定義一下web3:

Web3是實現完全去中心化的應用的協議棧。

美聯儲哈克:了解數字貨幣的市場結構非常重要:美聯儲哈克表示,加密貨幣在金融體系中所占的比重還不足以造成金融穩定風險。 在我們準備好真正考慮美聯儲開始使用數字貨幣之前,還有很多工作要做。在進一步推進數字貨幣之前,了解數字貨幣的市場結構非常重要。(金十)[2021/5/22 22:31:01]

有了這個去中心化的技術棧,我們就可以開始構建去中心化的應用,這些應用有其自身的意義和特點。

web3的一些特點是:

去中心化的網絡基礎設施

所有權

本地數字支付

自主的身份

分布式的、無需信任的、強大的基礎設施

開放、公共、可組合的后端

雖然一些建立在去中心化技術堆棧上的應用程序將取代它們的前輩,但區塊鏈啟用的新源語也使新的應用程序范式成為可能。

原生的數字支付和公共后端基礎設施--如機器學習、移動設備、虛擬現實和其他技術源語、平臺和構建模塊--使全新類型的應用程序得以建立,有些是尚未想象到的。

這是否意味著一切都將被web3取代?不一定。雖然我認為對于某些類型的應用程序來說,建立在去中心化的技術堆棧上是一個更好的選擇--就像幾乎任何技術決定一樣,這取決于你要建立什么。

現在讓我們開始深入了解web3的堆棧,分成以下幾類:

區塊鏈

區塊鏈開發環境

文件存儲

P2P數據庫

API

身份

客戶端(框架和庫)

其他協議

區塊鏈

有無數的區塊鏈,你可以選擇建立在其上。沒有一個是"最好的",相反,你應該考慮它們之間的各種權衡。

BB:對波場并不了解,只知道它是基于我們的DPoS技術而開發的:Block.one首席執行官Brendan Blumer(BB)在回答網友提問“EOS相較波場有什么優勢時?”回答表示:“除了知道波場是基于我們的CTO(即BM)的DPoS技術開發的之外,我對這個項目并不太了解。看看EOS,我相信你會發現它是性能最好的技術,也是持幣者最為團結的生態系統。”[2020/8/11]

在學習新東西時,有一件事對我來說常常很重要,那就是將帕累托原則應用到我所學的東西上。也就是說,什么是最有效的方式來獲得該數量的時間和努力的結果。遵循這個想法,我可以在最短的時間內學習新東西的同時獲得最大的牽引力和動力。

在區塊鏈領域,學習Solidity和EVM可能是作為區塊鏈開發者入門時的最佳選擇。使用這種技能,你不僅可以為以太坊,而且可以為其他以太坊第二層、側鏈,甚至其他區塊鏈構建。

也就是說,Rust在區塊鏈領域開始變得越來越流行,Solana、NEAR、Polkadot等都有一流的Rust支持。你學習這兩種語言可能都不會出錯,但對于初學者來說,如果今天有人問我,我會說Solidity仍將是更好的選擇。

除了這些建議,這里有一個不全面的區塊鏈樣本,它在技術、實用性、社區、勢頭和未來可行性方面有一個堅實的組合:

以太坊--原創智能合約平臺

ZKrollups:ZKSync,Starknet,Hermez-高吞吐量的以太坊第2層,但不與EVM原生兼容

Optimisticrollups:Arbitrum&Optimism-以太坊第2層,與EVM兼容。

Polygon-以太坊側鏈

Solana-吞吐量高,交易成本低,區塊時間快,但比EVM更難學習

NEAR-底層區塊鏈,可以用Rust或Assemblyscript編寫智能合約

聲音 | Diar創始人:加密領域不會推翻銀行業,但讓人們了解了真正的資產所有權:據Medium消息,加密貨幣周報出版機構Diar創始人Fadi Aboualfa近期接受采訪時表示:“我們現在所處的是一個平行的金融體系。無論如何加密領域也不會推翻銀行業。不過,它已經播下了一顆種子,讓人們了解了真正的資產所有權,以及讓人們更容易進入金融市場的精神,而不是我們今天在銀行和經紀商身上看到的那種。所以現在不少傳統企業推出了自己的區塊鏈項目,比如高盛和JP摩根。一年前,Defi這個詞還不存在,而現在它卻是一個重點。明天,誰知道事情將如何發生,朝什么方向發展。這個領域將繼續作為一個實驗前進下去,直到它不再被認為是一個實驗。”[2019/5/6]

Cosmos-一個互操作的區塊鏈的生態系統

Polkadot-基于區塊鏈的計算平臺,使建立在其上的區塊鏈能夠在它們之間執行交易,創建一個互連的區塊鏈互聯網

Fantom-EVM兼容的底層區塊鏈

Avalanche-EVM兼容的底層區塊鏈

Celo-EVM兼容的底層區塊鏈,旨在使任何擁有智能手機的人都能輕松發送、接收和存儲加密貨幣

Tezos-非EVM兼容的底層區塊鏈,很多NFT項目正在使用它

區塊鏈開發環境

對于EVM開發,有幾個好的開發環境可以使用:

Hardhat是一個較新的選擇,但它正在獲得越來越多的青睞。他們的文檔很好,工具和開發人員的體驗很好,我個人一直在用它來構建去中心化應用。

Truffle是一套在EVM上構建和開發應用程序的工具。它很成熟,經過實戰考驗,并且有很好的文檔。它已經存在了一段時間,許多開發者都在使用它。

Foundry是一個來自Paradigm的新的Solidity開發環境,顯示出很大的前景。它的主要特點是能夠在Solidity中編寫測試,支持模糊測試,以及速度。我在這里寫了一個關于它的單獨介紹。

聲音 | 報告:六成以上南非人了解加密貨幣:據Mybroadband消息,全球數字貨幣公司Luno委托市場研究公司Kantar TNS對10個國家進行了調查,其中南非加密貨幣交易所的調查結果顯示,69%的南非受訪者表示他們了解加密貨幣,而近三分之一的受訪者已經擁有某種形式的加密貨幣。此外,超過一半的南非人表示他們有興趣購買加密貨幣。調查數據顯示,南非人迫切希望采用加密貨幣,超過80%的受訪者認為數字代幣是投資類別并準備長期持有。48%的受訪南非人表示,他們擔心因網絡釣魚詐騙、交易失誤和其他安全問題而蒙受損失。在接受調查的南非人中,只有18%表示沒有興趣購買加密貨幣。此外,40%的受訪者認為加密貨幣是一種安全的投資,61%的受訪者認為它是有利可圖的。[2018/11/2]

Brownie是一個基于Python的智能合約開發和測試框架,用于Solidity/EVM開發。

對于Solana的開發,Anchor正在迅速成為新的開發者的入門點。它提供了一個CLI,用于構建和測試Solana程序的腳手架,以及你可以用來構建前端的客戶端庫。它還包括一個DSL,可以抽象出開發人員在開始使用Solana和Rust開發時經常遇到的許多復雜問題。

文件存儲

我們在web3中把圖片、視頻和其他文件存儲在哪里?在鏈上存儲這么大的文件通常是非常昂貴的,所以我們可能不想把它們存儲在那里。

相反,我們可以使用少數幾個文件存儲協議中的一個:

IPFS--點對點文件系統協議

優點:它很可靠,有很好的文檔,有一個龐大的生態系統

缺點:如果數據沒有固定,就會丟失。

Arweave-允許你永久地存儲數據,只需支付一筆交易費。我是Arweave的粉絲,在這里寫了一篇關于它的博文。

韓國調查人群中,有21.6%的人了解數字貨幣:韓國銀行(BOK)針對2511名受訪者展開的民意調查顯示,21.6%的人意識到數字貨幣。其中,20多歲、30多歲、60多歲、70多歲的人群中,意識到數字貨幣的比例分別是29.4%、40.3%、5.7%、2.2%。據統計,韓國目前約有超過200萬人擁有一些最知名的數字貨幣。[2018/3/27]

Filecoin-來自ProtocolLabs,也是建立IPFS的團隊,它是一個協議,旨在提供一個持久的數據存儲系統。有一些方法可以讓開發者建立在Filecoin上,包括web3.storage,這很不錯。

Skynet-我還沒有在生產中使用它,但已經試過了,它似乎工作得很好。這里的API看起來很棒。我有一些問題,比如數據的持久性有多長,以及Skynet與其他協議的互操作性。

P2P數據庫

除了文件存儲和鏈上存儲外,你可能還需要在鏈外存儲數據。你可以使用這些類型的解決方案,類似于你在傳統技術堆棧中使用數據庫的方式,但它們是在去中心化的網絡上的N個節點上復制的,因此更可靠。

幾個選擇是:

CeramicNetwork-一個去中心化的開源平臺,用于創建、托管和分享數據。Ceramic也有一個很好的身份協議,我將在后面談及。可能是我目前最喜歡的鏈外存儲解決方案。這里有一個相當不錯的演示。

TextileThreadDB-一個建立在IPFS和Libp2p上的多方數據庫。如果我理解正確的話,它目前可能正在經歷一個大的API變化。我試過了,它顯示了一些前景,但文檔和DX需要一些改進。

GunDB-一個去中心化的、點對點的數據庫。Gun已經存在了相當長的時間,一些相當有趣的應用已經用它建立。

就成熟度而言,我的看法是,鏈外存儲解決方案的生態系統還沒有達到建立一些開發者可能想要的更高級的用例所需要的程度。這里的一些挑戰是實時數據、沖突檢測和沖突解決、寫入授權、文檔和一般開發者經驗。

將鏈外數據解決方案與區塊鏈協議相結合,是我們在擁有能夠支持任何類型應用的完全去中心化協議棧之前需要跨越的最后一個大障礙之一。

API

我們與區塊鏈互動和在區塊鏈之上構建的方式與傳統技術棧中的數據庫有很多不同。對于區塊鏈,數據不是以一種可以有效或容易地直接從其他應用程序或前端消費的格式存儲的。

區塊鏈是為寫操作而優化的。你經常聽到以每秒交易量、區塊時間和交易成本為中心的創新發生。區塊鏈數據在一段時間內以區塊形式寫入,使得除了基本的讀取操作外,其他的都不可能。

在大多數應用中,你需要像關系型數據、排序、過濾、全文搜索、分頁和許多其他類型的查詢功能。為了做到這一點,需要對數據進行索引和組織,以便有效地進行檢索。

傳統上,這是數據庫在集中式技術棧中所做的工作,但在web3棧中缺少索引層。

TheGraph是一個用于索引和查詢區塊鏈數據的協議,它使這一過程變得更加容易,并為這樣做提供了一個去中心化的解決方案。任何人都可以建立和發布開放的GraphQLAPIs,稱為子圖,使區塊鏈數據易于查詢。

要了解更多關于TheGraph的信息,請查看這里的文檔或我在這里的教程。

身份認證

在web3中,身份認證是一個完全不同的范式。在web2中,認證幾乎總是基于用戶的個人信息。這些信息通常是通過一個表單或OAuth提供者收集的,要求用戶交出這些信息以換取對應用程序的訪問。

在web3中,身份識別完全圍繞著錢包和公鑰密碼學的概念。

雖然"錢包"這個名字有它的作用,但我發現剛接觸web3的人覺得這個術語很混亂,因為它與認證和身份有關。我希望將來我們能想出一些其他的方法來表達錢包是什么,因為它不僅結合了金融的各個方面,也結合了身份和信譽。

作為一個開發者,你將需要了解如何以各種方式訪問用戶的錢包和地址并與之互動。

在一個非常基本的層面上,你可能想請求訪問用戶的錢包。要做到這一點,你通常能夠在窗口環境中訪問用戶的錢包,或者使用像WalletConnect或Solana的錢包適配器。

例如,如果他們有一個可用的Ethereum錢包,你將能夠訪問window.ethereum。對于Solana、Arweave和其他少數的錢包也是如此。WalletConnect很適合移動網絡和ReactNative,因為它允許用戶直接從設備上使用他們的移動錢包進行授權。?

如果你想自己處理認證,你可以讓用戶簽署交易,然后在某處解碼以認證用戶,但這通常需要一個服務器。這里是一個使用EVM錢包的例子,這里是一個使用Solana/Phantom的例子。

以去中心化的方式管理用戶資料呢?CeramicNetwork為管理去中心化的身份提供了最強大的協議和工具套件。他們最近發布了一篇博文,概述了他們最近的一些更新,并給出了一些關于所有工具如何協同工作的指南。我想從那里開始,然后探索他們的文檔,以獲得對如何開始構建的理解,并考慮查看我在這里使用Ceramicself.id的例子項目。

如果你想獲取一個用戶的ENS文本記錄,ensjs庫提供了一個很好的API來獲取用戶數據:

1、constens=newENS({provider,ensAddress:getEnsAddress('1'。)2、constcontent=awaitens.name('sha.eth').getText('avatar')

SpruceID也是一個看起來很有前途的東西,但我還沒有試過。

Ceramic和Spruce都實現了W3C的DID規范,這本身也是我認為是web3的一個組成部分。既然如此,任何DID的集中實現都違背了該規范試圖實現的理念。

客戶端

就JavaScript框架而言,你真的可以用任何你想要的東西來構建,因為客戶端的區塊鏈SDK大多是框架無關的。也就是說,絕大多數的項目和例子都是在React中構建的。還有一些像SolanaWalletAdapter這樣的庫,為React提供額外的工具,所以我說學習或熟悉React可能是一個明智之舉。

對于以太坊的客戶端SDK,有web3.js和ethers.js。對我來說,Ethers更容易接近,并且有更好的文檔,盡管web3.js存在的時間更長。

在Solana,你可能會使用@solana/web3.js和/或Anchor。我發現Anchor客戶端庫是我構建Solana程序的首選,因為我反正也在使用Anchor框架,而且我發現它比@solana/web3.js更容易理解。

其他協議

Radicle是一個建立在Git上的去中心化的代碼協作協議。它可以被認為是GitHub的一個去中心化版本。

Livepeer是一個去中心化的視頻流媒體網絡。它已經很成熟,并被廣泛使用,網絡上有超過7萬個GPU的直播。

Chainlink是一個預言機,能夠訪問真實世界的數據和鏈外計算,同時保持區塊鏈技術固有的安全性和可靠性保證。

總結

這篇文章將是我在學習、試驗和收集web3開發人員的反饋時跟上的動態文檔。

如果你有任何反饋意見或關于我在這里遺漏的想法,請與我分享你的想法。看到圍繞web3發生的所有活動,讓人興奮不已,因為開發者們正在躍躍欲試地參與進來。雖然基礎設施仍在不斷發展,但建立真正的去中心化協議和應用程序的愿景是非常重要的,它允許人們協調,而不必將權力和控制權交給大公司,我們正在接近實現這一愿景。

Tags:WEBWEB3區塊鏈SOLweb3域名值錢嗎MetaWeb3Pad區塊鏈工程專業學什么女生NewSolution 2.0

AAVE
萬字長文詳解Web3音樂平臺賽道:以作品權限為標準分四大類_NFT:NFTCircle

導讀: 2021年,伴隨著牛市的發展,也涌現了一批Web3音樂平臺。本文系統梳理了Web3音樂平臺賽道,將賽道按照音樂作品涉及的權利類型分為四大類,分別介紹其中的典型項目,并對所有項目做了綜合對.

1900/1/1 0:00:00
數字人民幣App來了:支付寶和微信支付們怎么辦_數字人:數字貨幣屬于貨幣嗎

央行數字貨幣的研發,中國走在了世界前沿。近日,數字人民幣App正式在各大應用市場上線。App“開發者”一欄顯示為中國人民銀行數字貨幣研究所,它是中國法定數字貨幣——數字人民幣向個人用戶開展試點的.

1900/1/1 0:00:00
Hasu 對話 Su Zhu:以太坊VS新公鏈 屠龍者正變成巨龍_以太坊:TrollCoin

SuZhu(現推特名ZhuSu),三箭資本創始人,加密世界中最有權勢的男人之一,現在多了一個身份標簽,被Cryptobriefing評選為2021加密世界十大“惡棍”之首.

1900/1/1 0:00:00
晚間必讀5篇 | 元宇宙的建設需要哪些硬件?_元宇宙:OIN

1.營收逐步多元化Coinbase成有吸引力的長期投資?1月13日,Coinbase在博客宣布正在收購加密衍生品交易所FairX,據稱FairX受美國商品期貨委員會監管.

1900/1/1 0:00:00
手把手教你用數字人民幣點外賣、買菜_數字人:數字人民幣怎么提現到銀行卡工商銀行

新年伊始,數字人民幣試點接連傳來新消息。繼數字人民幣App試點版正式上架各大應用市場之后,1月5日,北京商報記者親測發現,全國數字人民幣試點地區居民在美團App、美團外賣App訂外賣時,已可通過.

1900/1/1 0:00:00
2022年DAO將走向何方?_DAO:DaoVerse

前言 2021年3月,俄亥俄州參議院正式通過DAO法案,用戶被允許通過DAO來協作處理事物。回顧過去一年,越來越多的人涌入加密世界,通過DAO來參與到Web3.0世界的創新.

1900/1/1 0:00:00
ads