以太坊交易所 以太坊交易所
Ctrl+D 以太坊交易所
ads
首頁 > Pol幣 > Info

如何基于波卡開發區塊鏈項目?_UBS:區塊鏈

Author:

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

2020年10月20日,密碼極客發起了第一期。我們非常榮幸邀請到了Parity亞洲區技術總監賈瑤琪博士做客密碼極客大咖直播間,為大家講解《如何基于波卡開發區塊鏈項目》。

1、在波卡上如何開發區塊鏈系統?

大家作為不管是開發者或者是區塊鏈從業人員,應該都能感覺到從零開始構造一個區塊鏈是一個非常困難的事情,為什么說是很困難的事情?

圖1

大家可以看一下圖1,其實要從頭開發一個區塊鏈,你要考慮到的就不只是數據庫公式算法,還要考慮到處理各種各樣的交易相關的一個轉換函數。與此同時,如果你想加一些比較復雜或者先進的一個邏輯在里邊,例如零知識證明,這樣就要在開發區關聯時候額外添加這些比較復雜的算法以及功能。

那么大家其實就會想到我們如何使用已經有的這些,不管是公鏈技術或者是聯盟鏈技術來進行二次開發。其實在過去的十幾年當中,特別是從09年比特幣白皮書這樣的一個上線,以及15年以太坊系統的上線,大家可以看到區塊鏈不止可以做支付,而且還可以在上邊部署一些智能合約。那么的話就有很多開發者是基于比特幣做二次開發,以及一些比較有意思的這種utxo模型的這樣的一個區塊鏈系統,還有根據以太坊做的一些調整,然而這些基于已有的區塊鏈開進行二次開發來做一些新的鏈這樣的一個系統,他們最大的問題就是由于像比特幣或者以太坊早期的這些項目,他們也有一個比較好的開發框架,其實大家都是在源碼基礎上進行改動的,這樣就要求開發者對于源碼的理解是比較高的。與此同時的話,由于這些源碼沒有比較好的模塊化來作為一個框架,其實開發起來的難度是很大的。

而我們Parity其實從Gavin在很早期15年建立Parity的時候,我們在最初就在幫以太坊開發它的Rust客戶端,之前是叫做ParityEthereum現在改名叫做OpenEthereum,我們積累了很多各種各樣的對區塊鏈的開發經驗,特別是在從18年開始積極的開發Polkadot跨鏈項目,我們吸收以及總結了很多開發供應鏈的這樣的一些經驗,然后從這些經驗里邊,我們抽取以及進一步的深化,做出了這樣的一個區塊鏈開發框架。而這套框架我們命名為Substrate。

圖2

因為波卡是一個跨鏈項目,那么我們為了幫助開發者更快的開發自己的一個區塊鏈系統,我們就開發了Substrate這樣的一套框架,來方便開發者去開發相關的這樣一個區塊鏈系統,我們叫做平行鏈。大家可以看到Substrate其實包含了很多剛剛我提到的這種區塊鏈的核心組件,例如數據庫層、網絡層以及可插拔的共識協議。

《“區塊鏈+”如何重構內容產業生態》獲第三十一屆中國新聞獎三等獎:金色財經報道,人民日報(2021年11月08日 第?17版)發布第三十一屆中國新聞獎獲獎作品目錄,《“區塊鏈+”如何重構內容產業生態》獲第三十一屆中國新聞獎三等獎,刊播單位:新聞與寫作?,報送單位:北京記協。[2021/11/8 6:37:41]

同時,我在之后也會提到包含了比較有意思的鏈下工作機以及鏈上的這種可升級的功能,這樣就可以幫助開發者在開發的時候,其實大家只選用自己想使用的一個模塊,就可以很快速的開發相關的一個區塊鏈系統,可以快到哪種程度,Gavin其實在18年的時候,在Web3峰會做了這樣的一個演講,就是拿出了嶄新的蘋果電腦,然后開始裝這樣的一個Substrate相關的dependency,然后到最終編譯出一個區塊鏈只花了15分鐘,大家可想而知,這個是18年的不穩定版本,現在的話Substrate已經到了2.0版本,那么在這個版本上進行一個開發,其實會有更好的用戶體驗,是更加快速的。回到咱們今天講的主題,在波卡上如何開發區塊鏈系統,那么相信大家現在已經有了一個比較好的眉目,其實就是使用Substrate這樣的一個開發框架來進行一個開發。

圖3

2、Substrate開發出來的系統有哪幾種方式可以進行部署?

圖4

其實除了作為波卡的平行鏈或者平行線程之外,也可以直接部署成為獨立的鏈。特別是在國內這種特有的環境下,大家也可以使用Substrate搭建自己對應的這種商業邏輯的聯盟鏈或者私有鏈,以及一些對于吞吐量要求比較高的,可以針對某一個應用,例如游戲單獨搭一條鏈并部署在自己相對應的環境下邊,當然了目前大家在Substrate進行開發的時候,比較有利的一點是經過三年,從這個圖可以看到,整個波卡生態的壯大以及開發者持續的開發,Substrate的開發生態以及工具是有很多的,大家可以用Polkadot-js,當然內置的話也是有一個比較好的這種區塊瀏覽器,大家也可以使用ParitySigner這樣的一個離線的硬件錢包。

3、怎么使用Substrate進行Rust開發?

圖5

與此同時,除了圖5上面提到的這種ink!智能合約。這種ink!.Rust類型的智能合約,我們目前也兼容了evm其實大家可以使用這些去編寫智能合約,然后在自己對應的消費鏈上面進行一個運行。接下來我就大致跟大家分享一下怎么使用Substrate進行這種Rust開發。因為Substrate是跟其他的智能合約開發比較不太一樣,因為你是相當于開發一個區塊鏈,雖然區塊鏈底層,像數據庫、網絡、控制協議都搭好了,但是針對你自己特殊的這種需求,例如你要做游戲的一個區塊鏈,或者是偏支付的這樣一個鏈,這種核心的商業邏輯還是需要你進行開發的。

美國貨幣監理署新署長:期望進一步了解銀行與加密貨幣機構如何相互作用:美國貨幣監理署(OCC)新署長Brian Brooks表示,OCC正尋求與銀行和加密貨幣機構的行業領袖進行更多的對話,期望了解如何進一步促進雙方相互作用。他表示加密貨幣機構需要銀行服務,他們需要跨銀行通道進行交易的。他期望進一步了解有關加密貨幣對銀行的需求以及銀行對加密貨幣的需求,因為他們確實想在這方面有所作為。OCC是美國財政部的主要銀行監管機構,Brooks于3月份離開Coinbase,加入OCC并擔任首席法律官。(Cointelegraph)[2020/6/5]

圖6

那么進行開發的話需要這種SubstrateRuntime的。圖6里邊大家可以看到,由于Substrate跟我們平時開發智能合約不太一樣,那么的話它是有一些這種開發上面的一些這種policy需要大家去記住的。例如第一點,在SubstrateRuntime你如果發了一個我們叫做extrinsic,或者你就把它當做交易,發交易的時候,如果這個交易進行時發生了問題的,那么交易對狀態的改變是不會回滾的。

然后在以太坊上面進行solidity的開發的話,如果交易執行不成功,那么其實它的狀態是會回滾的。這就要求了我們在開發Substrateruntime的時候,最好是我們先自己驗證一下他這樣的一個邏輯對不對?然后再寫。

接下來這幾頁的圖片,大家可以看一下,在寫這種runtime或者相對應的這種邏輯的時候,需要大家在里邊填充自己的這種代碼的,大家可以看模塊定義通常是包含怎么定義存儲事件以及錯誤,還有就是一些相關的這樣的一個函數。

圖7

對于這種如果大家想引用其他的相關的這樣的一些trait的話,因為整個Substrate都用Rust寫,所以這也會用到一些trait,如果大家想知道更多這種Rust相關的信息的話,再可以在網上查一下Rust的相關課程,或者加入我們Substrate的課程,我們會介紹一些Rust的相關的這種基礎。然后像存儲的話,大家可以看到其實里邊有一些比較簡單的類型、最簡單的方法,大家就可以學習已經有的這些簡單的類型或者這種例子,然后根據自己的實際情況,然后去改一下相關的這種變量名字,進行這樣的一個操作。與此同時的話類似于我們寫智能合約,在做一些操作的時候都要觸發事件或者發出事件,那么這里邊你也可以去定義一個事件。

當然了這里面還有一個地方就是decl_module,其實就是要定義自己相對應的這種runtime的函數,我在最后會提到的叫做Substrate.dev這樣的一個網站上面有很多各種各樣的教程,大家可以跟隨教程去學習,以及做一些比較簡單的例子去深入學習,怎么去根據這幾個模塊定義對應的這樣的一個事件存儲和函數,來完成自己對應的這樣的一個Runtime,以及相對應的邏輯的定義以及操作。

幣情觀察室 | 如何操作超短線穿越牛熊高倍獲利:4月9日16:00,金色盤面邀請行情大V Alnn做客金色財經《幣情觀察室》直播間,將分享《如何操作超短線穿越牛熊高倍獲利》,敬請關注,掃描下圖二維碼即可觀看直播![2020/4/9]

4、Substrate應用鏈跟智能合約的差異性在哪?

在這里簡單類比下Substrate應用鏈或者Runtime跟智能合約的差異性。

圖8

大家都知道寫智能合約,特別是以太坊上面的solidity這樣的一個智能合約,很多時候由于solidity以及以太坊本身的限制——比如它存儲量較低、手續費較高,同時像solidity它本身的限制也是比較多,可能更多時候是只能操作整數這種類型。

這就是為什么大家看到的目前以太坊上面比較火熱的應用都是跟通證相關,而不是跟更廣泛的Web3.0相關的原因。

而大家使用Substrate進行開發的時候,就不存在這樣的問題。

因為大家使用Substrate開發的時候,整個鏈都是為開發者所控制的。所以當大家在進行開發的時候,不管是鏈上鏈下數據,或是對應的一些solidity沒有的接口,Substrate都可以進行一個提供。

并且大家也可以看到,Substrate本身的吞吐量也是比較高的,所以可以給應用提供更多的處理交易與邏輯的空間。

與此同時,Substrate本身也會提供一個off-chainworker鏈下工作機,可以幫助做Substrate應用開發的開發者能夠更快的處理相關的鏈下數據,實現鏈上處理鏈下數據,這樣就打通了鏈上與鏈下。

5、無縫無分叉的鏈上升級

熟悉區塊鏈行業的朋友都知道,在過去,所有的公鏈項目包括一些聯盟鏈項目,如果想要做升級的話,都需要進行一個硬分叉。像比特幣,特別是以太坊。大家都知道在16年由于“TheDAO”事件,由于礦工意見不同,最終從以太坊分出了經典以太。

我們為什么要做鏈相關的升級?這其實涉及到了一個計算機或者編程行業。

大家其實默認這樣一個現象:沒有任何一個程序員可以寫出沒有漏洞的代碼。

不管是寫傳統的應用,還是寫區塊鏈得應用,或者智能合約。通常情況下你寫的代碼越多,那么你可能產生的安全漏洞就越多。

回顧過去的幾年,不管是DEFI還是鏈本身,大家都會發現很多各種各樣的漏洞,導致很多用戶有各種各樣的財產損失。

這就使得區塊鏈本身需要一個比較好的升級——不管是智能合約升級還是鏈本身的升級。

現場 | 火幣集團COO朱嘉偉:區塊鏈是解決三個和尚如何打水的問題:金色財經現場報道,百度智能云Techday11月21日在北京舉行。火幣集團COO朱嘉偉在會上表示,區塊鏈技術和其他多數技術很不一樣,多數技術是解決一個和尚如何打水的問題區塊鏈是解決三個和尚如何打水的問題,因此區塊鏈適用于多方協同的場景,可以促進數據共享、優化業務流程、降低運營成本、提升協同效率以及建設可信體系。[2019/11/21]

但如果我們頻頻地去使用這種硬分叉進行升級,首先時間趕不上,因為升級需要“各個礦工在很短的時間內,把自己的軟件升級到最新的版本,然后在某一個特定時間內大家共同去升級到這樣的版本,最后從舊鏈切入到新鏈上面”的這樣的一個邏輯。

然而,由于硬分叉,這種升級模式成本極高,而且很多時候可能會導致你本身的鏈又分叉出其它的鏈。

那么像Substrate就有一個無縫的鏈上升級。其實就是將開發者相對應的一個Runtime提交到鏈上面,然后進行一個驗證者鏈上投票,大家可以看到這其實是跟鏈上治理相關的。

鏈上投票完成以后,如果絕大多數人同意進行對應的一個升級,那么開發者提交的一個Runtime就會被寫入到整個鏈的Runtime里邊,進行對應的升級。

有了這樣一個無分叉鏈上升級,就可以保證區塊鏈開發者可以更安心的運行自己的區塊鏈。

即使出現一些問題,也可以很快的去進行修復或改正。

圖9

6、鏈下工作機

大家都知道,在以太坊上面我們有各種各樣的預言機,例如chainlink。

在過去的半年,預言機是很受到各種各樣的人的關注的。

因為以太坊本身無法打通鏈上鏈下的渠道,所以鏈上如果想要獲得鏈下數據——例如各種各樣的通證價格,就需要這種預言機將數據發送到鏈上。

而Substrate本身就是鏈下工作機的運行原理——其實就是鏈上的這些節點,它們會通過鏈下工作機去取得鏈下的相對應的數據。

圖10

那么這些鏈上的驗證節點,就可以對鏈條數據直接進行處理。

未來的話可以對處理結果——例如在鏈上形成共識,來保證可以更快、更方便的拿到鏈下信息,并進行相關的計算。

像在波卡或Substrate對應的生態里,就不太需要這種單獨的預言機。因為對應的這種鏈下工作機的接口已經寫的比較好了。

與此同時,大家也可以看到對應的這樣一個場景:除了我剛剛提到的想去拿一些鏈下數據;還有就是使用鏈下工作機的一些場景。

中國紀檢監察報:中國區塊鏈發展的最大挑戰是“如何讓監管理解區塊鏈并適度監管”: 中國紀檢監察報發文表示,區塊鏈底層技術獲得實質性突破之前的這個階段,恰恰是一個戰略機遇期。如果中國區塊鏈行業能緊密合作,監管能夠適當包容、鼓勵,中國在區塊鏈領域引領全球指日可待。實際上,區塊鏈技術最終必然演化為“監管融入技術”的模式,區塊鏈的難以篡改、共享賬本和分布式的特性,更易于監管介入,獲得更加全面實時的監管數據。讓監管機構本身也參與到技術中去,通過技術本身實現對技術的監管,最終化解區塊鏈與監管的沖突。[2018/3/6]

例如某些比較龐大的計算,我們就可以使用鏈下工作機來完成,結果完成后再返回給對應的一個鏈上驗證者。

這里有一些鏈下工作機的相關學習資源,大家可以進行一個參考。

圖11

7、如何更好的接入到波卡里面?

前面我講了一些關于例如波卡是如何使用Substrate進行開發的,以及Substrate寫出來的Runtime大概是什么樣的,同時還有Substrate進行開發的優點的話題。

那么大家可能也更想知道:如果用Substrate去開發出一套區塊鏈系統,我是如何更好的接入到波卡里面的?

大家可以看一下圖12,其實就是關于波卡整個的一個框架。

熟悉波卡都知道,Polkadot最中間、最核心的是叫做RelayChain或者叫做中繼鏈。中繼鏈里面跑了很多對應的驗證節點,叫做區塊驗證節點。

圖12

不同的鏈如果接入到中繼鏈里邊,它們就會作為一個平行鏈接入到中繼鏈里邊。

很多比較大的區塊鏈系統,例如比特幣或者以太坊,它們如果想接入到波卡里面,就需要通過橋首先調節到一個平行鏈上面,再通過平行鏈與其他的平行鏈溝通。

作為平行鏈,它們對于內容的或者區塊的驗證要通過中繼鏈相關的驗證節點來完成。

那么的話大家就會問,平行鏈本身需要什么節點?這就像圖里面提到的一樣,需要叫做collator的這樣一個類型的節點。

這些節點就負責采集每個平行鏈對應的區塊,然后提交給中繼鏈隨機選擇的一些區塊驗證節點。這些區塊驗證節點就會去驗證平行鏈里對應的區塊。

與此同時,使用Substrate寫出來的區塊鏈,還需要另外一個模塊叫做Cumulus。大家可以在用Substrate寫完這個Cumulus后,再進行稍微的改進,就可以用Cumulus連入到平行鏈里面。

當然,不是每一個Substrate鏈都可以連入到平行鏈和中繼鏈,或者波卡里面——這就涉及到一個平行鏈插槽的拍賣。

圖13

8、Web3基金會如何支持波卡生態發展?

波卡生態里面的項目特別活躍。大家可以看一下,不管是基金會還是Parity,我們對波卡生態項目的支持,都是很高的。

例如我們在大概3月的時候,就已經發放了超過100個項目對應的Web3項目,與Web3基金市場grant的支持。

與此同時,我們也會有叫做builder?program去幫助社區一些相對成熟的團隊,給他們提供技術及商務市場的一個服務。

當然,作為一個不太熟悉技術的社區成員,你也可以參加我們的大使計劃,去幫忙推廣波卡相關的技術及理念。

圖14

在亞洲或者國內,大家可以看到從今年5月份開始,我們跟萬向合作做了Web3訓練營,孵化了15支團隊。

這15支團隊大部分已經上了相關的測試網和主網。然后像做融資等也都是非常受歡迎的。

未來,我們也希望有更多、更好的團隊可以加入到我們的Web3訓練營里。我們會提供技術、商務以及市場相關的支持。

全球已經有超過100個團隊基于Substrate進行開發區塊鏈。

我們作為亞洲團隊或者說中國團隊,大家可以看到,在過去的一段時間里,我們已經為大家提供了各種各樣的Substrate開發的相關中文資料。

不管是知乎專欄、Polkadot公眾號,還是線上、線下活動,包括嗶哩嗶哩直播,都歡迎大家去搜索Substrate,或搜索我們的社區,積極加入到我們的活動里面。

與此同時,我們也有一些最新的活動——例如在月底我們要舉辦國內首次web3大會,主題就是開放、開源、互聯。

我們會邀請海內外——不只是區塊鏈行業或波卡生態項目及嘉賓,我們還會邀請海內外比較出名的、對Web3整個領域貢獻比較大的嘉賓,去分享他們對Web3的理解,以及對Web3生態的貢獻。

圖15

大家如果感興趣,可以去學習這樣的一個教程,去體驗一下Substrate新的開發框架——不管是鏈上升級,還是鏈下工作機。以及我們提供的各種各樣的模塊,來搭建自己的區塊鏈。

很高興今天能收到密碼極客的邀請,今天為大家分享了這么多,也希望大家未來不管是在波卡生態,還是在區塊鏈生態,都能夠更好的開發、融入到我們的區塊鏈行業,謝謝大家!

問答環節

問題一,來自網易區塊鏈創新業務負責人胡志敏。

胡志敏:如果作為一個開發者,想在波卡生態中和基于Substrate上進行區塊鏈創業的話,一定會需要一些啟動資金,我想了解polkadot官方基金對于區塊鏈應用的扶持策略,比如對于什么樣的項目會啟用官方投資?

賈瑤琪博士:關于波卡生態和機器設備進行開發的相關項目和團隊,我剛剛已經講過,不管是基金會還是parity,都會提供比較大的支持。

關于資金方面,基金會會根據項目相關的資質來進行評估。

大家可以去申請一個叫做Web3grant這樣的一個項目。對于一些相對比較好的項目,基金會會提供大概3萬美金的一個支持。

當然,對于比較復雜的項目也會提供更高資金的支持,但是需要花費更長的時間進行審核。

對于一些相對成熟的、有產品或者有測試網的項目,可以申請我們比較成熟的、相關的一些program。例如builderprogram或者我們的web3bootcamp,web3訓練營。我們會對這些項目提供技術市場以及商務相關的指導與幫助。

與此同時,我們也會聯系波卡生態里比較積極,支持我們的相關投資人或者海內外投資人,去幫忙觀察一下這些項目,并且進行一些相關的投資。

問題二和問題三來自Coinversation代碼貢獻者,北大畢業,有12年程序開發經驗的清歡。

問題二

清歡:如果開發平行鏈,后續平行鏈接入卡槽的成本會是多少?

賈瑤琪博士:針對第一個問題,如果開發平行鏈,那么插槽的成本會是多少?目前來講,我們還沒有一個很明確的計算。例如大概多少的dot你可以拿到插槽。但就目前來看——因為我們的插槽不是直接去買賣的,而是需要用戶去鎖自己對應的一個dot——那么的話,其實我們還是鼓勵不同的團隊去更好的發展自己的社區,在未來可以通過眾籌的方式或去發展自己平行鏈這樣的一個盈利能力,然后就可以用自己盈利獲得的資金去進行插槽拍賣。

問題三

清歡:Coinversation使用ink!智能合約開發項目,目前從開發工具到智能合約測試再到部署都相對比較煩瑣,后續如何能降低這些開發的門檻?

賈瑤琪博士:ink!現在已經出到第三個版本,具體情況大家可以去看一下。

關于ink!相關的開發、開發的模塊以及相關的組件,我們也在逐步進行開發完善,從而方便更多的開發者去更好的使用ink!科技來進行開發。

目前你講得也很對,可能有些開發工具確實不是那么地到位。但我們的Web3基金會已經給了一些開發工具的團隊在做類似于remix的一個Ide,來幫助開發者使用ink!進行開發。

問題四

Polkadot社區1群成員:波卡或Substrate的應用開發必須要作為平行鏈嗎?這樣每個應用都開發鏈,平行鏈的插槽不夠了怎么辦?

賈瑤琪博士:除了平行鏈,其實還是有其他的方法。

第一個方法就是我剛剛提到的,可以去通過平行線程,然后接入到系統里面。

平行線程不需要一個平行鏈團隊獨占一個插槽超過半年或兩年。它只按需競拍不同的區塊,然后把自己的區塊寫入到波卡系統里面。

當然,還有一些方式。如果你只是搭建一個比較簡單的應用,那么可以嘗試使用ink!或Solidity編寫智能合約,然后可以將自己的智能合約或者相關的應用部署在智能合約平行鏈上面。通過智能合約平行鏈去調用以及提供數據給其他的平行鏈,還可以利用到波卡對應的跨鏈優勢。

還有,也可以搭建一個單獨的Substrate的鏈。未來通過某種方式橋接到一些平行鏈上面,那么通過平行鏈就可以將自己鏈的數據與其他平行鏈進行溝通。

大致的話通過以上三種方式,再加上拍賣平行鏈插槽,然后接入波卡。一共四種方式來接入到波卡的系統里面。

Tags:區塊鏈TRAUBSSTR區塊鏈幣排名FlashxUltraSUBSGSTRM幣

Pol幣
中國DC/EP與G7央行數字貨幣有何差別?周小川這樣說_人工智能:人工智能幣哪個好

新京報貝殼財經訊“數字經濟在各國經濟占比不斷加大,數字貨幣成為重要議題。中國在數字貨幣研發方面走在世界前列,正在研發的DC/EP與七國集團聯合國際清算銀行最新公布的中央銀行數字貨幣在定義上有顯著.

1900/1/1 0:00:00
【Filecoin】挖礦暗藏玄機,收益究竟能有幾倍?_FIL:COI

區塊鏈時代進展史 區塊鏈1.0數字支付啟蒙時代:比特幣之貨幣去中心區塊鏈2.0通證發行爆發時代:以太坊之信任解決區塊鏈3.0大數據時代的迭代:FilecoinVSEOS三年光陰荏苒.

1900/1/1 0:00:00
Gate.io今日直播新鮮看,市場分析、投資教學等15個節目即將開播_TPS:GATE

Gate.io直播間作為行業內首個交易所內置直播功能,通過多樣性的直播形式為平臺用戶帶來具有深度、興趣、開放的信息內容.

1900/1/1 0:00:00
席幕楓:10.27ETH行情分析及操作思路_FANT:CRYPT

多言不可與謀,多動不可與久處,交易與其沖動,還不如一動不動!大家好,我是席幕楓。心存陽光必有詩與遠方,認識老席何懼再遇荒涼?席幕楓:10.27ETH行情分析以太坊,日線斷崖收陰,以太高位震蕩堅挺.

1900/1/1 0:00:00
礦工們要注意了|挖礦被玩壞了_BTC:比特幣是什么怎么挖

隨著比特幣的大火,區塊鏈這一概念逐漸走向了大眾的視野。而目前的幣圈,除了正常交易就是合約,最火的還是挖礦.

1900/1/1 0:00:00
DigiFinex關于合約系統升級的公告_DIGI:DIGIS幣

親愛的用戶: 為了提供更好的合約交易體驗,DigiFinex將于2020年10月29日9:30-10:00(GMT8)進行合約系統升級優化.

1900/1/1 0:00:00
ads