24h購物| | PChome| 登入
2023-01-09 16:24:00| 人氣25| 回應0 | 上一篇 | 下一篇
推薦 0 收藏 0 轉貼0 訂閱站台

Web3.0技術簡介

1.什麼是Web3.0
Web3(也稱為 Web 3.0)指的是第三代網際網路,它圍繞著defi去中心化和基於代幣經濟學等概念展開並利用各種去中心化技術,包括(但不限於)區塊鏈技術

相較於Web2.0, 使用者不需要再透過Google、Facebook、Twitter、亞馬遜等大型公司留下個資、使用紀錄、網路足跡…,不再讓主導權掌握在政府、或少數企業上,真正把所有權還給使用者。核心概念為區塊鏈的「去中心化」。 讓將網際網路轉化為一個大型資料庫,透過人工智慧發展建構出網路虛擬世界生態系。區塊鏈應用、大數據、虛擬實境、人工智慧等,構成Web 3.0技術的重要性。

現在爆紅的NFT代幣元宇宙技術都和Web3.0扯上關系,開發者們對於這股熱潮也是不容錯過。
Web3.0直接面向使用者的就是各個DApp(例如各個去中心化交易所, NFT交易平台Opensea ..等), 我們可以從理解DApp技術的使用和過去Web2.0有何不同開始進入新的開發領域。

 

2. DApp所用的技術


Dapp 的全名是去中心化應用程式(Decentralized Application),相對於過往運行在中心化服務器的 App,Dapp應用的程式部署在分佈式的網絡上,所有的數據皆公開透明且不可篡改。

 

如同以前的網站分為前後端,前端網頁只需要知道後端提供的API(應用程式介面)即可,DApp要做的事就是讓前端(通常是Web)與智能合約互動,網頁前端透過ABI(Application Binary Interface 應用程式二進制介面)和區塊鏈上的智能合約溝通。和區塊鏈上的智能合約溝通的過程稱為transaction(交易),使用二進制介面溝通不太方便,因此通常開發DApp時會使用諸如web3.js 或Ethjs等函式庫提供的API來簡化與智能合約的溝通。這麼一來開發DApp的體驗其實與開發一般網頁應用已經相當接近。目前並沒有對Web3.0精確的定義

 

但大致上可以分出幾個技術類別:

 

(1) 智能合約:通常指代運行在 EVM 兼容網絡中的 Solidity 或其他合約語言代碼,他們負責與用戶交易我們發行的資產並儲存 DApp 鏈上的狀態。

 

(2) DApp前端: 目前大部份是Web, 可以用流行的框架像React,Vue等開發。

 

(3)Web3 Provider:負責與區塊鏈進行通信,並進行合約讀寫操作,但Metamask就是一個流行的InjectProvider。

 

(4) RPC節點: 隱藏在Provider是真正負責與區塊鏈溝通的節點,可能是本地節點或是遠端節點,也可以使用Relay Network像是Alchemy, infura或是Morails等服務。
面對未來,Web3.0集成雲兌心科技有信心在這些數據經濟上更上一層樓,與您齊綻放。

 

在未來任何雲端上Web 2.0的SaaS平台都會開始轉型進入Web 3.0 ,任何產業只找對Web3.0集成雲服務公司和諮詢團隊,都能讓自己早日在Web3.0集成雲服務行銷市場上卡位取得先機。

以下會再詳細介紹各個技術:


3. 智能合約介紹
從智能合約的原始碼到使用智能合約,大概包含幾個步驟:

  1. 撰寫智能合約的原始碼(一般為 Solidity )。
  2. 編譯智能合約的原始碼成可在 EVM 上執行的 bytecode(binary code)。同時可以透過編譯取得智能合約的 ABI。
  3. 部署智能合約,透過 transaction把 bytecode 儲存在鏈上,並取得一個專屬這個合約的地址。
  4. 呼叫智能合約時,透過 transaction把資料發送到這個合約的地址。
  5. 所以我們知道合約地址/ABI後,就可以透過RPC(或是透過Web3.js)去呼叫合約,下節會說明RPC及Web3.js的原理為何

 

以下是對於新手學習的提示:
但無疑的新入門必學的就是Solidity,
可以從官網的範例教學開始:

solidity example
可以使用Remix做為為開發工具
remix
可以使用EtherScan看合約ABI,也可以看到合約的source code
etherscan
合約開發及整合測試可以使用
Hardhat

4. Web3 Provider & JSON-RPC節點
以太坊使用了JSON-RPC做為通訊方式,JSON-RPC是一個無狀態且輕量級的遠端過程呼叫(RPC)傳送協議,其傳遞內容通過 JSON 為主, 詳細定義可以
看這,所以DApp需要做為JSON-RPC客戶端與處於區塊鏈的JSON-RPC服務器溝通以使用區塊鏈的功能。

區塊鏈術語中,服務器通常被稱為節點。因此,當涉及到加密貨幣交易所區塊鏈世界時,我們需要一個節點來使用 JSON-RPC。這些節點有時也稱為 RPC 節點,它們允許我們讀取區塊鏈數據並將交易發送到不同的網絡。這意味著JSON-RPC節點對於使我們的應用程序正常運行至關重要。如果無法發送 RPC調用,我們就不能讓我們的 DApp 與我們選擇的區塊鏈進行交互。

web3.js是一組用來和本地或遠程以太坊節點進行連接的js庫(JSON-RPC客戶端封裝),以便讓 DApps 能夠訪問區塊鏈上的數據。在底層的實現上,它是通過 RPC 協議與節點通信,web3.js可以與任何對外公開 RPC 介面 的區塊鏈節點連接(JSON-RPC節點)

web3.js針對RPC 協議的封裝稱為Provider, 而要使用區塊鏈的功能則Provider需要指定某個區塊鏈節點,其實常用的 Ethereum 瀏覽器錢包 — MetaMask也有提供 web3 provider,當你成功連接錢包時,Metamask會對browser注入window.ethereum物件,Web3可以偵測並使用Metamask Provider,使用它來初始化Web3.0就可以連上 MetaMask 提供的節點(MetaMask使用Infura作為節點提供者)。

 

5. 為什麼要使用Relay Network
雖然也可以使用MetaMask或是本地節點,但因為效能及IP存取限約,我們會希望DApp能有一個自己的區塊鏈節點,但運行和維護自託管節點可能是區塊鏈開發人員的第一痛點。

原因如下:
(1) 費用昂貴,維護人力高
(2) 它可能不可靠 節點平均每 5 天出現一次問題:CPU 峰值、內存洩漏、磁盤問題 不一致的對等,損壞的內部數據庫,交易廣播問題,頻繁的錯誤+回歸
就像我們我們在使用AWS雲服務,Azure等服務一樣,在Web3.0的領域也有一些平
台提供了很容易使用且穩定性高的節點服務,我們稱之為Relay Network。

 

下面列出幾個比較具代表性的Relay Network:
Infura 是世界上最早和最大的以太坊 Relay Network,它提供一些公開的 Gateway 節點,但一般來說,我們需要獲取屬於自己的 DApp Access Key並為這些訪問權限設置 origin 和 IP 限制,以提升使用我們自己的 DApp 用戶的訪問速度體驗。Infura 目前支持 ETH,ETH2 網絡,以及 IPFS 和 Filecoin 兩個分布式儲存方案。

 

Alchemy 也是一個非常流行的 Relay Network,它在 Infura 的功能上更進一步,為開發者提供了相當多實用的功能,例如調試工具,區塊狀態推送與豐富的 Webhooks。

 

Moralis 他們的定位是 Web3.0 的 Firebase,集成了許多 FaaS 的功能到他們的 Relay Network 中,這使得你可以快速在服務端訪問區塊鏈的狀態,而不需要反覆調用第三方網絡的 API,這是一個非常有趣而實用的方案。

 



關於兌心科技 Insight Software

 

最懂你的雲端合作夥伴 — We know what you want

 

 

Web3.0集成雲兌心科技的專業橫跨多個領域

 

雲端架構、遊戲製作、區塊鏈技術、去中心化金融、醫療資訊和物聯網服務等

致力於成為企業Web2.0到Web3.0的領航員

提供雲服務、線路、區塊鏈、金庫等解決方案。

 

不僅孵化區塊鏈新創,且經過嚴謹的過濾驗證

將值得信任、可靠的項目加入生態系中,進而推廣給使用者。

 

 

未命名設計

歡迎聯絡、關注我們!

 

聯絡兌心 ▸ insight-software.com/blank-1

 

官方網站 ▸ insight-software.com/about-3

 

 

facebook:facebook.com/insightsw

 

 

telegram:t.me/Insight_software

 

 

instagram:instagram.com/insight.capital/?fbclid=IwAR1pllXypdioWLzNsLjOzOR-U7JdqtqzTpI61otVsXnYpMMDCypHbyv1dJU

 

 

twitter:twitter.com/insightcapital_?t=RTCttq5pnn-p4Juhlz0sMA&s=09

 

台長: yininy
人氣(25) | 回應(0)| 推薦 (0)| 收藏 (0)| 轉寄
全站分類: 財經企管(投資、理財、保險、經濟、企管、人資)

是 (若未登入"個人新聞台帳號"則看不到回覆唷!)
* 請輸入識別碼:
請輸入圖片中算式的結果(可能為0) 
(有*為必填)
TOP
詳全文