買以太坊 買以太坊
Ctrl+D 買以太坊
ads

DAP:一文讀懂dApp開發神器 - Ergo 無頭 dApp框架_BOXER幣

Author:

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

橋接復雜鏈上協議與鏈下世界,賦予開發者構建生態之自由

作者:RobertKornacki;DenysZadorozhnyi

Ergo無頭dApp框架是開發Ergo無頭dApp的首選Rust框架。ErgoHDF給開發者提供了首個可移植、基于UTXO的無頭dApp開發框架,此框架可應用于任何區塊鏈。

什么是無頭dApp?

無頭dApp是用于開發dApp的全新技術和商業模型,它剛開始在更廣泛的區塊鏈領域中占據一席之地。簡而言之,無頭dApp是讀取和參與鏈上智能合約協議的純粹可移植自包含邏輯。

換句話說,無頭dApp是一款可讓復雜鏈上協議接觸鏈下世界的軟件,它精簡的接口使任何人都可以在其上進行構建。此處的關鍵是,顧名思義,無頭dApp沒有構建于其上的前端。

無頭dApp提供的是在其上構建整個去中心化生態系統的自由。由于在默認情況下,無頭dApp是純粹的,可移植的,因此可以將它們編譯為任何桌面設備操作系統、移動設備操作系統或者瀏覽器。因為它們具有精簡的接口,所以可以輕松將其集成到腳本和機器人中;因為它們具有可組合性,所以可以在應用程序中一起使用,從而可以輕松地在不同協議之間套利,或者可以形成全新的用戶體驗,而無需了解每個受支持的無頭dApp的核心工作方式。

新入行的開發者對于開發智能合約協議的經驗有限,而無頭dApp在未來可以使他們仍然對dApp領域產生真正的影響。這種關注點分離的設計允許開發者在無頭dApp的基礎上進行構建,而無需花費大量時間來了解開發dApp的繁冗細節。

此外,無頭dApp開啟了全新商業模式的生態系統。無頭dApp并沒有讓智能合約協議的創建者從成功的協議中攫取所有潛在的利潤/價值,反而為前端開發者揭示了截至目前尚未利用的收入來源。通過僅將協議創建者的潛在收益分散到現在包含已開發的每個前端,我們可以從當今具有單個前端的流行dApp所產生的中心化效果上退一步。相反,我們可以激勵由各種開發者/公司構建的,由眾多獨立前端組成的穩健生態系統,所有人都可以因改善整個生態系統而獲利。

Alchemy Pay以4億美元估值完成1000萬美元融資,DWF Labs領投:4月3日消息,總部位于新加坡的加密支付服務提供商Alchemy Pay宣布以4億美元的估值完成1000萬美元融資,此輪融資由DWF Labs領投,資金將用于擴大其在韓國的業務。(CoinDesk)[2023/4/3 13:41:42]

無頭dApp實現了這所有功能,并且同時進一步改善了開發者的體驗。

方案目標

1.??????讓開發者使用無頭dApp框架寫出自己的鏈下邏輯,從而創建他們自己面向所有平臺的無頭dApp。

2.??????為開發者提供從ErgodApp規范到無頭dApp的輕松體驗,并提供更強大的保證和簡單直接的實現途徑。

3.??????將dApp的鏈下邏輯與任何前端邏輯分開,從而無論什么應用或前端在集成無頭dApp時都保證了重用性。

4.??????為前端實現者提供易于使用的方法,以便輕松訪問dApp協議的當前狀態,而無需了解其工作原理。

5.??????通過使用新穎的設計模式為所需的輸入UTXO指定BoxSpec,將為無頭dApp定義和獲取輸入UTXO的概念進行了抽象化。

6.??????使腳本、機器人和其他軟件輕松地構建在使用無頭dApp框架構建的多個無頭dApp之上,從而提供了標準化的接口和一定程度的可組合性。

理解Ergo無頭dApp框架

在使用無頭dApp框架之前,有許多重要的術語和概念需要理解。無頭dApp框架的總體設計基于EIP-6:Ergo智能合約協議規范格式。

這意味著在最高層級上,dApp被定義為智能合約協議。如果dApp只有一個階段,則將其定義為“單階段智能合約協議”;如果dApp有多個階段,則它是“多階段智能合約協議”。HDF支持構建單階段和多階段協議dApp。

達利歐:世界正處于“危險的邊緣”,或面臨三個“地震式”劇變:3月26日消息,美國橋水投資公司創始人、首席投資官導師、董事會成員瑞·達利歐在中國發展高層論壇2023年年會上表示,世界正處于“危險的邊緣”,可能會面臨三個“地震式”的劇變。達利歐所稱的三個劇變分別是,一是巨額債務的貨幣化,即各國央行通過印鈔,發行貨幣來購買這些債務,二是財富和價值觀的鴻溝引發的巨大內部沖突,三是國際大國的沖突。達利歐認為,現在這三種因素都在以1930年-1945年以來最大的程度出現。[2023/3/26 13:27:20]

每個階段都可以被視為協議中的一個狀態,其中帶有ERG、代幣和數據的UTXO位于給定的時間點處。這可能有在整個協議中從一個階段移動到下一個階段的單個盒子、可能并行地通過所有階段的多個盒子或者是異步地在某些階段子集中移動的各種盒子。

無論給定智能合約協議的特定設計/復雜性如何,這些階段中的每個階段都需要“操作”。這些操作指的是狀態轉換,它允許:

1.??????ERG/代幣/數據進入協議”)

2.??????ERG/代幣/數據從協議中的一個階段轉到另一個階段

3.??????ERG/代幣/數據離開協議

在無頭dApp的背景下,這些操作中每個都由兩個關鍵部分組成:

1.??????獲取輸入

2.??????使用狀態轉換的結果來創建UTXO輸出

綜上所述,dApp可以是單階段或多階段的智能合約協議。dApp協議中的每個階段都可以執行一個或多個操作。然后,開發者可以通過指定給定操作所需的必需輸入并編碼所需的狀態轉換邏輯來定義這些操作,以創建嵌入在新創建的UnsignedTx中的UTXO輸出。

無頭dApp框架提供了指定這些構件的必需工具,以便從頭開始構建無頭dApp。在以下各節中,我們將詳細介紹無頭dApp框架的構建方式以及如何馬上開始使用它。

XRP Ledger關于引入NFT XLS-20標準的提案正在進行驗證者投票:8月31日消息,根據Ripple公司戰略副總裁Emi Yoshikawa的推文,XRP Ledger驗證者正對引入NFT XLS-20標準的提案進行投票,驗證者投票將持續到9月13日,如果在此期間支持率保持在80%以上,XLS-20標準將被引入XRPL。目前該提案的支持率約為83%。

此前4月份消息,Ripple宣布推出XLS-20 NFT標準,并于7月份對支持NFT XLS-20標準的XRP Ledger進行了性能測試。XLS-20標準具有拍賣和鑄造等內置功能,簡化了創建NFT的過程。[2022/8/31 12:59:39]

Ergo無頭dApp框架模塊

BoxSpec

本模塊展示了BoxSpec結構體,它可以用來創建UTXO的規范。根據協議中操作的要求,這被用來定義相關的盒子。

///用來制定`ErgoBox`參數的規范.

///本規范用作“真理之源”,來驗證和尋找和規范匹配的`ErgoBox`

///這經常被用于定義多階段智能合約協議中的階段

///但也可用于定義操作的輸入盒子

///所有字段都被包進`Option`,可以不必指定字段

#

#

pubstructBoxSpec{

///盒子地址

address:Option<ErgoAddressString>,

???///nanoErgs被允許的范圍

???value_range:Option<Range<NanoErg>>,

???///排序的`Constant`列表,定義了`ErgoBox`寄存器

美聯儲7月加息75個基點的概率為75.1%:7月27日消息,據CME“美聯儲觀察”最新數據,美聯儲到7月份加息75個基點的概率為75.1%,加息100個基點的概率為24.9%。

到9月份累計加息50、75、100個基點的概率均為0%,累計加息125個基點的概率為51.0%,累計加息150個基點的概率為41.0%、加息175個基點的概率為8.0%。[2022/7/27 2:40:21]

???///第一個元素當作R4,第二個當作R5,以此類推.

???registers:Vec<Option<Constant>>,

???///排序的`TokenSpec`列表定義了`ErgoBox`代幣

???tokens:Vec<Option<TokenSpec>>,

???///可選謂詞,允許定義在驗證盒子時處理的自定義規范邏輯

???predicate:Option<fn(&ErgoBox)->bool>,

}

構造出BoxSpec以后,有許多基本方法來簡化為dApp編寫鏈下代碼的體驗。

例如,verify_box允許測試作為輸入提供的ErgoBox是否與使用BoxSpec創建的規范匹配。

pub?fn?verify_box(&self,?ergo_box:?&ErgoBox)?->?Result<()>?{

BoxTraits

本模塊包含三種Trait:

1.??????WrappedBox

2.??????SpecifiedBox

3.??????ExplorerFindable

區塊鏈安全服務提供商Fireblocks推出新的Web3引擎:金色財經報道,區塊鏈安全服務提供商 Fireblocks 推出了新的 Web3 引擎,將幫助開發人員構建 NFT、DeFi 和 GameFi 產品和服務。此外,Fireblocks 允許 Animoca、MoonPay、Stardust、Xternity Games 和 Celsius 等領先實體提供最大程度的保護,防止人為錯誤和網絡攻擊。

該組織透露,新推出的功能包括 Web3 托管技術,并提供跨 35 個 DLT 網絡的連接,例如 OpenSea、Uniswap、Aave Arc 和 dYdX。此外,Web3 引擎允許資金管理,以實現安全存儲、轉移和收益機會。先進的政策控制和風險管理也是其中的優勢。(cryptopotato)[2022/5/18 3:23:41]

所有的ExplorerFindable結構體也是SpecifiedBox,兩者同時都是WrappedBox。在鏈下代碼中,將為操作定義所有UTXO輸入作為實現SpecifiedBox的結構體,同時不需額外工作便可自動派生WrappedBox和ExplorerFindable。

WrappedBox提供了簡化的接口來和ErgoBox交互。另一方面,SpecifiedBox指定WrappedBox也通過box_spec()方法實現了BoxSpec。最后,ExplorerFindable在SpecifiedBoxtrait的頂部提供了一個接口,用于從ErgoExplorerAPI實例中查找與BoxSpec匹配的盒子。

SpecifiedBoxes

此模塊展示了實現“SpecifiedBox/WrappedBox/ExplorerFindable”trait的通用“SpecifiedBox”結構。這些盒子可用作鏈下協議代碼中操作的輸入,同時還使前端開發者能夠輕松訪問鏈上數據。

目前已實現的指定盒子有如下幾種:

1.??????ErgsBox

2.??????ErgUsdOraclePoolBox

3.??????AdaUsdOraclePoolBox

ErgBox用于獲取將Erg保留在其中的輸入,這些輸入可在智能合約協議操作中使用。

ErgUsdOraclePoolBox和AdaUsdOraclePoolBox為無頭dApp開發者和前端實現者提供了極其簡化的接口,以利用來自兩個當前運行的預言機池的數據。這兩個指定的盒子甚至可以用于需要從預言機池盒子讀取當前匯率的錢包/任何鏈下應用程序中。

下面的代碼塊顯示了如何在4行中從開發者自選的ErgoExplorerAPI實例中讀取當前的ERG-USD預言機池匯率:

let?url?=?ErgUsdOraclePoolBox::explorer_endpoint("https://api.ergoplatform.com/api").unwrap();let?response?=?get(&url).unwrap().text().unwrap();let?oracle_pool_box?=????ErgUsdOraclePoolBox::process_explorer_response(&response).unwrap().clone();println!(????"Erg-USD?Oracle?Pool:?{}?nanoErgs?per?USD",????oracle_pool_box.datapoint());

OutputBuilders輸出構建器

此模塊給出了一些結構體,它們提供了在操作中創建通用UTXO輸出的基本接口。這些通常用于創建保存用戶更改或支付交易手續費的輸出。

一些輸出構建器的例子包括:

1.??????ChangeBox

2.??????TokensChangeBox

3.??????TxFeeBox

TxCreation創建交易

該模塊提供了一些基本的函數,這讓開發者更加容易地在操作中創建UnsignedTransaction。

Encoding編碼

該模塊提供了許多有用的函數,這些函數與把值從一種形式轉換為另一種形式的編碼/解碼/包裝/展開有關。

示例:

pub?fn?erg_to_nano_erg(erg_amount:?f64)?->?u64;pub?fn?nano_erg_to_erg(nanoerg_amount:?u64)?->?f64;pub?fn?unwrap_long(c:?&Constant)?->?Result<i64>;pub?fn?serialize_p2s_from_ergo_tree(ergo_tree:?ErgoTree)?->?P2SAddressString;

ProceduralMacros過程宏

此模塊提供了三個過程宏,以使開發者的工作變得更加簡單:

1.??????WrapBox

2.??????SpecBox

3.??????WASMBox

WrapBox只是實現了WrappedBoxtrait;SpecBox實現了使用BoxSpec的自定義new()方法,并且實現了ExplorerFindabletrait;WASMBox實現了兩種基本方法來讓結構體啟用WASM支持。

開始入門

MathBountyHeadlessdApp教程系列已創建,可以指導初學者使用Ergo無頭dApp框架。從項目創建到實現基于命令行的界面,您將得到精確到每一步的指導來逐步開發自己的無頭dApp。

目前可用的部分:

1.??????數學懸賞無頭dApp-現在開始編寫你的第一個操作

2.??????數學懸賞無頭dApp-完成無頭dApp

3.??????數學懸賞無頭dApp-為創建賞金編寫CLI前端

文檔

運行以下命令來閱讀無頭dApp框架的文檔:

cargo?doc?--open

Ergo平臺簡介

Ergo平臺/ErgoPlatform是一個從頭搭建的安全、適應力強、開放、無需許可、真正去中心化的DeFi應用底層公鏈,主要專注于提供一種高效、安全、簡便的方式去實現金融合約。它基于全新PoW共識機制Autolykos且永守PoW,采用UTXO升級版EUTXO模型構建,沿襲比特幣傳統但又新增許多功能,實現復雜金融合約的能力遠超對手。其原生代幣ERG總供應量為97,739,925枚,永不增發,永不銷毀。Ergo于2017年開始開發,主網于2019年7月1日上線。由Github上大名鼎鼎的kushti帶領擁有10年區塊鏈理論研究和實戰經驗的頂尖技術團隊傾力打造。團隊成員曾參與開發NXT、Scorex、Cardano和Waves等。kushti是Ergo的聯合創始人兼核心開發者,曾是NXT的核心開發者、smartcontract.com的聯合創始人,帶領團隊開發有行業領先的預言機池。詳情請登錄https://www.jinse.com/blockchain/979572.html。

作者簡介

RobertKornacki是頂級區塊鏈解決方案公司、Cardano創始單位之一EMURGO的研發負責人和智能合約開發者,也是Ergo基金會成員。

DenysZadorozhnyi是Ergo公鏈平臺Rust軟件工程師、Scala軟件工程師,也是Ergo開發者之一。

譯者:Ergo公鏈御用翻譯之一,留美計算機博士兼區塊鏈愛好者Pie。

聲明:本文著作權歸原作者所有,所寫內容僅代表原作者觀點,不做投資理財建議。

來源:金色財經

Tags:APPERGBOXDAP中幣網app官網Green Life EnergyBOXER幣YFIDapp

Gate交易所
TARA:比特幣空頭施壓謹防走低 Taraxa 即將發車 PlatON 正在預約中_ARA

大家好我是星際區塊鏈研究院TIAN。主要操作現貨,短線合約,暴漲山寨幣,一級市場項目! BTC 比特幣昨日跳水近6000點,日內價格自早間開盤56218位置下行,低位觸及55443位置后止跌隨后.

1900/1/1 0:00:00
加密貨幣:比特幣(BTC)突破6萬美金之后為何未能保持持續的漲勢有哪些因素?_NAN

律動BlockBeats消息,Coindesk3月16日報道,根據摩根大通策略師NikolaosPanigirtzoglou的一份報告顯示,雖然本季度機構資金流入明顯減少.

1900/1/1 0:00:00
EOS:艾薇里昂兩位創始人攜手十位大咖董事一同榮登陸納斯達克世界屏_Degis

2021年1月1日開年,艾薇里昂集團的兩位創始人攜手十位大咖董事連續七天一同榮登美國紐約時代廣場的納斯達克世界屏.

1900/1/1 0:00:00
COI:歐易OKEx早訊:NYDIG CEO透露即將公布大規模BTC投資計劃_比特幣

行情播報 3月17日訊,今日加密貨幣市場漲跌參半。截至發稿,BTC報56323.03美元,日內漲幅0.84%,ETH報1784.99美元,日內跌幅1.05%,LTC報200.549美元,日內跌幅.

1900/1/1 0:00:00
PLACE:幣百靈:2021.3.16午間BTC 行情分析_ROCKET價格

在投資的道路上,不管你是新手還是老手,你都需要有自己的原則!一次投資就是一次經歷,把握住你的每次成長,俗話說:“吾日三省吾身”,只有學會總結,培養自己的原則,不讓自己迷失在投資的道路上.

1900/1/1 0:00:00
元宇宙:解析風險分級衍生品協議 BarnBridge:DeFi 無風險產品會誕生新藍籌嗎?_BAR

撰文:Kriss DeFi的敘事和發展方向當我們去思考DeFi產品的價值時,我們會將所有復雜的產品都簡化到借貸和交易兩大類上,從最樸實的幾個指標去體驗產品本身,如利率、收益率、深度等.

1900/1/1 0:00:00
ads