偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

一款Web3原生數(shù)據(jù)庫(kù):Tableland

譯文
數(shù)據(jù)庫(kù) 其他數(shù)據(jù)庫(kù)
在Web2環(huán)境下,數(shù)據(jù)庫(kù)承擔(dān)所有與數(shù)據(jù)相關(guān)的工作。應(yīng)用程序在數(shù)據(jù)庫(kù)中存儲(chǔ)干凈的結(jié)構(gòu)化數(shù)據(jù)。開(kāi)發(fā)者可以使用SQL讀取所需的數(shù)據(jù)。數(shù)據(jù)與應(yīng)用程序分離開(kāi)來(lái)。

?譯者 | 布加迪

審校 | 孫淑娟

今天的智能合約很復(fù)雜。它們支持更復(fù)雜的應(yīng)用程序。智能合約需要存儲(chǔ)、查詢和處理更復(fù)雜更龐大的數(shù)據(jù)。智能合約與數(shù)據(jù)高度耦合。因此,這些復(fù)雜的數(shù)據(jù)處理場(chǎng)景使智能合約變得復(fù)雜且難以維護(hù)。開(kāi)發(fā)者需要為其合約添加與數(shù)據(jù)相關(guān)的邏輯,比如數(shù)據(jù)查詢、數(shù)據(jù)更新和數(shù)據(jù)過(guò)濾。開(kāi)發(fā)者需要針對(duì)不同的數(shù)據(jù)結(jié)構(gòu)編寫(xiě)不同的函數(shù)。

除了更高的復(fù)雜性外,另一個(gè)問(wèn)題是靈活性。當(dāng)開(kāi)發(fā)者需要使用復(fù)雜的過(guò)濾器查詢數(shù)據(jù)時(shí),需要為合約添加自定義查詢函數(shù)。開(kāi)發(fā)者無(wú)法直接讀取和過(guò)濾數(shù)據(jù)。

在Web2環(huán)境下,數(shù)據(jù)庫(kù)承擔(dān)所有與數(shù)據(jù)相關(guān)的工作。應(yīng)用程序在數(shù)據(jù)庫(kù)中存儲(chǔ)干凈的結(jié)構(gòu)化數(shù)據(jù)。開(kāi)發(fā)者可以使用SQL讀取所需的數(shù)據(jù)。數(shù)據(jù)與應(yīng)用程序分離開(kāi)來(lái)。

Tableland正是為了解決這些問(wèn)題而誕生的。Tableland自稱是Web3原生數(shù)據(jù)庫(kù)。

1.機(jī)制 

由于鏈上數(shù)據(jù)存儲(chǔ)空間廣闊,Tableland使用鏈下數(shù)據(jù)庫(kù)和鏈上智能合約用于權(quán)限檢查和數(shù)據(jù)修改。

圖片

?

圖1

(1)Dapp智能合約向Tableland智能合約發(fā)送數(shù)據(jù)更新請(qǐng)求。

(2) Tableland智能合約檢查調(diào)用者的權(quán)限,并通過(guò)查詢發(fā)出事件。

(3)Tableland鏈下驗(yàn)證者網(wǎng)絡(luò)監(jiān)控鏈上事件,并執(zhí)行SQL。

(4) 同步Tableland鏈下驗(yàn)證者網(wǎng)絡(luò)。

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)
);
}

雖然開(kāi)發(fā)者可以使用智能合約來(lái)執(zhí)行SQL,但dapp智能合約無(wú)法獲得任何返回值。這有損可組合性。Tableland通過(guò)dapp前端、dapp智能合約和Tableland三方交互來(lái)解決這個(gè)問(wèn)題。Dapp前端讀取數(shù)據(jù),dapp智能合約更新數(shù)據(jù)。Dapp前端從Tableland網(wǎng)關(guān)讀取數(shù)據(jù)。Tableland網(wǎng)關(guān)可以直接與Tableland鏈下驗(yàn)證者網(wǎng)絡(luò)進(jìn)行交互。Tableland網(wǎng)關(guān)的功能類(lèi)似區(qū)塊鏈RPC的功能。借助網(wǎng)關(guān),開(kāi)發(fā)者無(wú)需構(gòu)建自己的網(wǎng)絡(luò)節(jié)點(diǎn)。

如果dapp前端向網(wǎng)關(guān)發(fā)送數(shù)據(jù)更新請(qǐng)求,網(wǎng)關(guān)會(huì)將請(qǐng)求轉(zhuǎn)發(fā)到Tableland智能合約。

圖片

?圖2

2.局限 

作為“Web3原生數(shù)據(jù)庫(kù)”,Tableland仍有諸多局限性:

  • Dapp智能合約無(wú)法讀取數(shù)據(jù)和接收?qǐng)?zhí)行結(jié)果。開(kāi)發(fā)者無(wú)法將所有與數(shù)據(jù)相關(guān)的邏輯放入到智能合約中。
  • 一張表被局限在10萬(wàn)行24列。
  • 一個(gè)數(shù)據(jù)單元被局限在1kb。
  • 僅支持SQL的子集:CREATE TABLE、INSERT、UPDATE、DELETE、SELECT、GRANT和REVOKE。
  • 僅支持某些類(lèi)型,INT、REAL、TEXT、BLOB和ANY。

3.應(yīng)用 

Tableland自詡為“Web3原生數(shù)據(jù)庫(kù)”。這有點(diǎn)夸張,因?yàn)楹霞s和數(shù)據(jù)之間的可組合性不好?,F(xiàn)在Tableland可以應(yīng)用于游戲和NFT。Tableland對(duì)NFT的支持很好。開(kāi)發(fā)者創(chuàng)建表并插入NFT元數(shù)據(jù)后,可獲得網(wǎng)關(guān)鏈接。開(kāi)發(fā)者可以將此鏈接用作URI。

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

開(kāi)發(fā)者以后可以使用Tableland CLI來(lái)更新NFT元數(shù)據(jù)。

4.路線圖 

Tableland將于7月發(fā)布其N(xiāo)FT。NFT持有者可以訪問(wèn)更多的開(kāi)發(fā)功能。將來(lái),Tableland 會(huì)在以下方面進(jìn)行改進(jìn):

  • 支持更多SQL。
  • 驗(yàn)證者網(wǎng)絡(luò)實(shí)現(xiàn)去中心化。
  • 發(fā)行代幣,并使用代幣保護(hù)驗(yàn)證者網(wǎng)絡(luò)。
  • 數(shù)據(jù)庫(kù)管理面板。

圖片

圖3

5.未來(lái) 

Tableland不是Web3原生數(shù)據(jù)庫(kù)的終點(diǎn)。一個(gè)真正的Web3原生數(shù)據(jù)庫(kù)應(yīng)滿足以下要求:

  • 分離合同和數(shù)據(jù)。
  • 合約和數(shù)據(jù)之間的可組合性。
  • 應(yīng)對(duì)審查阻力。
  • 支持Web3數(shù)據(jù)類(lèi)型,比如地址和事務(wù)。
  • 用戶擁有數(shù)據(jù)所有權(quán)。

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

責(zé)任編輯:武曉燕 來(lái)源: 51CTO技術(shù)棧
相關(guān)推薦

2018-11-20 09:00:00

TiDBNewSQL數(shù)據(jù)庫(kù)

2021-08-31 07:54:23

數(shù)據(jù)庫(kù)選型

2023-02-25 16:02:48

2021-02-11 09:03:48

Web3技術(shù)Web 3.0

2022-07-28 21:17:46

福布斯數(shù)字化Web3

2022-08-18 15:21:42

區(qū)塊鏈DevOps

2018-09-04 09:58:25

2025-04-21 01:00:00

DbGate數(shù)據(jù)庫(kù)開(kāi)源

2015-11-16 14:27:03

2020-05-28 09:33:07

Web調(diào)試代理工具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

數(shù)據(jù)庫(kù)中間件架構(gòu)

2024-12-09 08:39:31

PostgreSQL數(shù)據(jù)庫(kù)企業(yè)級(jí)

2019-12-18 10:24:10

數(shù)據(jù)庫(kù)PostgreSQL Oracle

2018-06-05 14:21:33

NewSQLMySQLRadonDB
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)