成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

一款Web3原生數據庫:Tableland

譯文
數據庫 其他數據庫
在Web2環境下,數據庫承擔所有與數據相關的工作。應用程序在數據庫中存儲干凈的結構化數據。開發者可以使用SQL讀取所需的數據。數據與應用程序分離開來。

?譯者 | 布加迪

審校 | 孫淑娟

今天的智能合約很復雜。它們支持更復雜的應用程序。智能合約需要存儲、查詢和處理更復雜更龐大的數據。智能合約與數據高度耦合。因此,這些復雜的數據處理場景使智能合約變得復雜且難以維護。開發者需要為其合約添加與數據相關的邏輯,比如數據查詢、數據更新和數據過濾。開發者需要針對不同的數據結構編寫不同的函數。

除了更高的復雜性外,另一個問題是靈活性。當開發者需要使用復雜的過濾器查詢數據時,需要為合約添加自定義查詢函數。開發者無法直接讀取和過濾數據。

在Web2環境下,數據庫承擔所有與數據相關的工作。應用程序在數據庫中存儲干凈的結構化數據。開發者可以使用SQL讀取所需的數據。數據與應用程序分離開來。

Tableland正是為了解決這些問題而誕生的。Tableland自稱是Web3原生數據庫。

1.機制 

由于鏈上數據存儲空間廣闊,Tableland使用鏈下數據庫和鏈上智能合約用于權限檢查和數據修改。

圖片

?

圖1

(1)Dapp智能合約向Tableland智能合約發送數據更新請求。

(2) Tableland智能合約檢查調用者的權限,并通過查詢發出事件。

(3)Tableland鏈下驗證者網絡監控鏈上事件,并執行SQL。

(4) 同步Tableland鏈下驗證者網絡。

function runSQL(
address caller,
uint256 tableId,
string memory statement
) external payable override whenNotPaused nonReentrant {
if (
!_exists(tableId) ||
!(caller == _msgSenderERC721A() || owner() == _msgSenderERC721A())
) {
revert Unauthorized();
}

uint256 querySize = bytes(statement).length;
if (querySize > QUERY_MAX_SIZE) {
revert MaxQuerySizeExceeded(querySize, QUERY_MAX_SIZE);
}

emit RunSQL(
caller,
ownerOf(tableId) == caller,
tableId,
statement,
_getPolicy(caller, tableId)
);
}

雖然開發者可以使用智能合約來執行SQL,但dapp智能合約無法獲得任何返回值。這有損可組合性。Tableland通過dapp前端、dapp智能合約和Tableland三方交互來解決這個問題。Dapp前端讀取數據,dapp智能合約更新數據。Dapp前端從Tableland網關讀取數據。Tableland網關可以直接與Tableland鏈下驗證者網絡進行交互。Tableland網關的功能類似區塊鏈RPC的功能。借助網關,開發者無需構建自己的網絡節點。

如果dapp前端向網關發送數據更新請求,網關會將請求轉發到Tableland智能合約。

圖片

?圖2

2.局限 

作為“Web3原生數據庫”,Tableland仍有諸多局限性:

  • Dapp智能合約無法讀取數據和接收執行結果。開發者無法將所有與數據相關的邏輯放入到智能合約中。
  • 一張表被局限在10萬行24列。
  • 一個數據單元被局限在1kb。
  • 僅支持SQL的子集:CREATE TABLE、INSERT、UPDATE、DELETE、SELECT、GRANT和REVOKE。
  • 僅支持某些類型,INT、REAL、TEXT、BLOB和ANY。

3.應用 

Tableland自詡為“Web3原生數據庫”。這有點夸張,因為合約和數據之間的可組合性不好。現在Tableland可以應用于游戲和NFT。Tableland對NFT的支持很好。開發者創建表并插入NFT元數據后,可獲得網關鏈接。開發者可以將此鏈接用作URI。

function _baseURI() 內部純覆蓋返回(字符串內存){
function _baseURI() internal pure override returns (string memory) {
return "https://testnet.tableland.network/chain/5/tables/79/id/";
}
左右滑動查看完整代碼

開發者以后可以使用Tableland CLI來更新NFT元數據。

4.路線圖 

Tableland將于7月發布其NFT。NFT持有者可以訪問更多的開發功能。將來,Tableland 會在以下方面進行改進:

  • 支持更多SQL。
  • 驗證者網絡實現去中心化。
  • 發行代幣,并使用代幣保護驗證者網絡。
  • 數據庫管理面板。

圖片

圖3

5.未來 

Tableland不是Web3原生數據庫的終點。一個真正的Web3原生數據庫應滿足以下要求:

  • 分離合同和數據。
  • 合約和數據之間的可組合性。
  • 應對審查阻力。
  • 支持Web3數據類型,比如地址和事務。
  • 用戶擁有數據所有權。

原文鏈接:https://hackernoon.com/a-web3-native-database-tableland?

責任編輯:武曉燕 來源: 51CTO技術棧
相關推薦

2018-11-20 09:00:00

TiDBNewSQL數據庫

2021-08-31 07:54:23

數據庫選型

2023-02-25 16:02:48

2021-02-11 09:03:48

Web3技術Web 3.0

2022-07-28 21:17:46

福布斯數字化Web3

2022-08-18 15:21:42

區塊鏈DevOps

2018-09-04 09:58:25

2025-04-21 01:00:00

DbGate數據庫開源

2015-11-16 14:27:03

2020-05-28 09:33:07

Web調試代理工具Fiddler

2024-03-13 07:26:23

2023-09-13 06:59:07

2023-08-07 09:10:18

2021-05-20 11:45:16

數據庫中間件架構

2024-12-09 08:39:31

PostgreSQL數據庫企業級

2019-12-18 10:24:10

數據庫PostgreSQL Oracle

2018-06-05 14:21:33

NewSQLMySQLRadonDB
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产精品久久久久久久久久久久冷 | 国产成人福利在线观看 | 日韩男人天堂 | 日韩av一区二区在线观看 | 欧美一区二区三区四区在线 | 精品一区久久 | 日韩在线播放第一页 | 啪啪免费网 | 一区二区中文字幕 | 久久精品日产第一区二区三区 | 国产成人综合亚洲欧美94在线 | 国内精品久久精品 | 一区二区三区精品视频 | 国产一区二区三区在线 | 久久久久久久国产精品视频 | www久久爱| 日本一区二区三区在线观看 | 在线观看午夜视频 | 成人在线免费 | 99在线播放| 亚洲欧美在线视频 | 日韩一区二区av | 青青草av网站 | 亚洲二区视频 | 久久精品国产a三级三级三级 | 欧美午夜精品理论片a级按摩 | 国产精品视频久久久久久 | 在线观看h视频 | 久久久久久免费毛片精品 | 国产一区二区av | 精品福利一区二区三区 | av高清 | 中文字幕亚洲精品 | 欧美又大粗又爽又黄大片视频 | 精品av| 91短视频网址 | 国产精品日日摸夜夜添夜夜av | 手机av在线 | 国产 日韩 欧美 在线 | 亚洲欧美一区二区在线观看 | 日本人做爰大片免费观看一老师 |