“波卡知識圖譜”是我們針對波卡從零到一的入門級文章,我們嘗試從波卡最基礎的部分講起,為大家提供全方位了解波卡的內容,當然這是一項巨大的工程,也充滿了挑戰,然而我們希望通過這樣的努力讓大家能夠正確認知波卡,也讓不了解波卡的人方便快速掌握波卡相關知識,今天是該欄目的第65期,波卡本身不支持智能合約,但是波卡的平行鏈將支持智能合約,而Substrate智能合約本質上更安全,開發門檻也較低,那么如何在波卡中構建智能合約呢?
智能合約是區塊鏈必不可少的功能,正是有了智能合約,區塊鏈才實現了機器信任,目前其應用場景廣泛,包括數字身份、供應鏈、貿易金融、抵押等多個領域。
Substrate智能合約允許用戶在區塊鏈核心邏輯的基礎上增加業務邏輯,同時建立了防范破壞者的保護機制。與平行鏈相比,智能合約的開發速度更快、部署難度更低,因此像是Moonbeam、Astar、Phala這樣的智能合約平臺為想要快速上線的應用提供了更多的選擇。
波卡中繼鏈本身不支持智能合約,但是,波卡上的平行鏈將支持智能合約。
開發智能合約和平行鏈的區別
抽象層
當你編寫智能合約時,你正在創建與特定鏈地址關聯并部署在其上的指令。相比之下,runtime模塊是一個鏈的狀態轉換的整個邏輯。
智能合約必須有意識地實現可升級性,而平行鏈將有能力完全通過根命令或通過治理Pallet交換其代碼。
當你構建智能合約時,它最終會被部署到一個具有自己環境的目標鏈上。平行鏈允許開發人員聲明自己鏈的環境,甚至允許其他人為其編寫智能合約。
波卡先行網Kusama已正式啟動平行鏈拍賣功能:據官方消息,波卡先行網 Kusama 已正式啟動平行鏈拍賣功能。此前報道,波卡測試網 Kusama 平行鏈宣布已通過 v0.9.1 升級,本次升級了平行鏈、拍賣和眾籌的相關代碼。[2021/5/14 22:04:05]
Gas費
智能合約必須找到限制自身執行的方法,否則完整節點很容易受到DOS攻擊。
例如,智能合約中的無限循環可能會消耗整個鏈的計算資源,從而阻止其他人使用它。斷續問題表明,對于足夠強大的語言,不可能提前知道程序是否會停止執行。
一些平臺,比如比特幣,通過提供非常有限的腳本語言來繞過這個約束。其他項目,例如以太坊,向智能合約收取“gas”以提供執行其代碼的權利。
如果智能合約確實進入了一個永遠不會停止執行的狀態,它最終會耗盡gas,停止執行,并且智能合約本應進行的任何狀態轉換都會回滾。
波卡使用的是重量收費模型,而不是gas計量模型。
平行鏈可以實現任意強大的編程語言,并且不為它們自己的本地邏輯包含gas概念。
這意味著某些功能對開發人員來說更容易實現,但某些結構,例如沒有終止條件的循環,不應該實現。
將某些邏輯留給非智能合約層,或者甚至試圖消除它,通常是更明智的選擇。平行鏈試圖主動,而智能合約平臺是事件驅動的。
構建智能合約
波卡中繼鏈本身將不支持智能合約。然而,由于連接到波卡的平行鏈可以支持任意狀態轉換,因此它們可以支持智能合約。
波卡生態概念板塊今日平均漲幅為9.17%:金色財經行情顯示,波卡生態概念板塊今日平均漲幅為9.17%。26個幣種中22個上漲,4個下跌,其中領漲幣種為:OCEAN(+28.57%)、AKRO(+25.82%)、DOCK(+23.21%)。領跌幣種為:KTON(-11.35%)、XOR(-4.42%)、PCX(-1.87%)。[2021/2/11 19:33:26]
Substrate目前以兩種方式支持開箱即用的智能合約:
Frontier提供的EVMPallet。
基于Wasm合約的FRAME庫中的ContractsPallet。
此外,還有EVMPallet,它允許平行鏈實現以太坊EVM,從而支持以太坊合約的直接端口。
智能合約情況概述的視頻版本可以在PolkadotYouTube頻道上找到。https://www.youtube.com/watch?v=fKHkFBXaUxQ
資源
我應該在什么時候構建Substrateruntime與Substrate智能合約?這篇文章從技術上回答了開發人員何時可能選擇開發runtime而不是智能合約。
以下是目前可供那些想要開始編寫智能合約以部署在基于Substrate的平行鏈上的開發人員使用的資源列表。ink!——Parity編寫智能合約的ink!。
ContractsPallet
以前編寫過智能合約的開發人員可能更熟悉部署到基于EVM的鏈上的體驗。但是,ContractsPallet對EVM的設計進行了一些顯著的改進:
Plasm Network已在波卡Rococo V1上部署首個平行鏈:1月13日,波卡Polkadot官方宣布,波卡二層擴容協議Plasm Network已在Rococo V1測試網上部署首個平行鏈。此前消息,波卡測試網Rococo V1已于1月11日開放平行鏈測試資格注冊。[2021/1/13 16:02:25]
1.Wasm:ContractsPallet使用WebAssembly作為其編譯目標。任何編譯為Wasm的語言都可能用于編寫智能合約。盡管如此,最好有一個專門的領域特定語言,因此Parity提供了ink!語言。
2.存款:合約必須持有足夠大的存款以證明它們在鏈上的存在。部署人員需要在ExistentialDeposit的基礎上將其存入新合約。
3.緩存:合約在默認情況下是緩存的,因此這意味著它們只需要部署一次,然后可以根據需要多次具現化。
這有助于將鏈上的存儲負載降至最低。最重要的是,當合約不再被使用,存在的存款被耗盡時,代碼將從存儲中刪除。
4.存儲租金:已棄用Pallet_contracts最初是為了應對無限制的狀態增長而設計的,它對合約所消耗的狀態進行收費,但后來被棄用。
有關更多詳細信息,請參閱相關的pullrequest:https://github.com/paritytech/substrate/pull/9669
波卡標準提案
Web3基金會支持波卡的提案,這些提案定義了一套符合生態系統需求的標準。這些標準要經過幾個接受階段,在這些階段需要整個社區的參與來建立有價值的和面向未來的標準。
Moonbeam Network宣布與波卡生態DEX項目Polkastarter合作:金色財經報道,Moonbeam Network宣布與波卡生態DEX項目Polkastarter合作。Moonbeam Network將為Polkastarter的Solidity開發人員提供相關框架,以快速有效地將現有面向以太坊的代碼移植到Polkadot生態系統中。[2020/12/2 22:54:59]
從標準中受益的所有團隊都需要就其內容達成一致。
其中一些PSP是針對Substrate的ContractsPallet:請訪問波卡標準建議(PSP)Github了解更多信息:https://github.com/w3f/PSPs
Ink!
ink!是一種在Rust中編寫智能合約的領域特定語言,可編譯為Wasm代碼。正如它在自述書中所言,它仍處于試驗階段,因此勇敢的開發人員應該意識到,他們可能會有一個坎坷但可行的開發經驗。
有一些項目已經用ink!構建了項目,具有相當程度的復雜性,因此它已經足夠成熟,可以開始構建有趣的內容。
對于感興趣的開發人員,他們可以開始使用ink!編寫智能合約,通過研究已經寫過的例子。這些可以作為編寫更復雜邏輯的指南,這些邏輯將可部署在智能合約平行鏈上。
ink!為基于Wasm虛擬機并與Substrate鏈兼容的新智能合約棧奠定了許多基礎。
ink!的智能合約庫下面收集了一些智能合約的示例。你正在開發智能合約示例嗎?請讓我們將其添加到此頁面!
波卡將在48小時之內進入NPoS階段:波卡Polkadot宣布將在接下來的48個小時內進行第一次NPoS(提名權益證明)驗證者選舉。此次更改將是啟動發行過程中進一步分散Polkadot權力的下一步,從而為驗證者和提名者提供質押獎勵。
據波卡官方的主網上線路線圖表示,當第一個階段PoA運行流暢且有足夠的節點參與后,將會考慮進入下一個階段NPoS。在NPoS階段中,該網絡將會由一組去中心化的驗證節點運行,Web3基金會將會使用管理員權限增加這組驗證節點的數量。
在NPoS階段中,該網絡將會由一組去中心化的驗證節點運行,Web3基金會將會使用管理員權限增加這組驗證節點的數量。在經歷了第三階段(Governance)、第四階段(RemoveSudo)之后,第五階段將會打開轉賬功能。[2020/6/17]
OpenBrush:一個ink!庫,提供基于PSP的標準合約,以及用于構建的有用合約和macros。https://docs.openbrush.io/
Metis:由PatractLabs開發的Wasm合約標準庫。https://github.com/patractlabs/metis智能合約環境仍在不斷成熟
波卡上的智能合約還為時過早,其發展現在才趨于穩定。我們正在積極制作內容以幫助開發人員跟上進度,并將使用最新資源維護Wiki。你還應該通過以下鏈接了解最新信息:
ParityTech
ink!:
https://github.com/paritytech/inkSubstratecontractsPallet:https://github.com/paritytech/substrate/tree/master/frame/contracts
平行鏈
Moonbeam:
https://moonbeam.network/
Astar:
https://astar.network/
Acala:
https://acala.network/
Phala:
https://www.phala.network/zh/
許多智能合約平臺正在構建,成為生態系統中的平行鏈。可以在PolkaProjects上找到社區創建和維護基于波卡的不同智能合約平臺的社區列表。
https://www.polkaproject.com/#/projects?cateID=1&tagID=6
Moonbeam
Moonbeam是另一個計劃作為平行鏈部署到波卡的項目,并將支持與以太坊兼容的智能合約。
由于Moonbeam使用Frontier,這是一個與現有以太坊工具的互操作層,它將支持所有針對EVM環境而編寫的應用程序,幾乎沒有阻力。
Moonbeam的先行網絡Moonriver以平行鏈的形式在Kusama上推出。平行鏈功能已上線,功能正在逐步發布。發布的最后階段將包括EVM功能和余額轉移。
嘗試按照Moonbeam的文檔來部署智能合約。https://docs.moonbeam.network/Astar
Astar是建立在Substrate上的智能合約平臺,并打算作為平行鏈與波卡集成。
Shiden是Astar的先行網絡,目前在Kusama上運行,并支持EVM、WASM和Layer2解決方案。
Astar旨在容納所有第2層擴展解決方案,并通過OVM支持所有Layer2協議。
嘗試部署以太坊或ink!按照他們的文檔進行智能合約。https://docs.astar.network/docs/wasm/sc-dev/ink-dev/
Acala
Acala是一個去中心化金融聯盟和DeFi基礎設施鏈,提供一組協議作為波卡上的DeF中心。Karura,Acala的先行網絡作為平行鏈在Kusama上運行。
感興趣的團隊現在可以在Karura的平臺上部署DApp和智能合約。Acala也在實施AcalaEVM。
嘗試按照AcalaEVM的文檔部署Acala智能合約。https://wiki.acala.network/build/development-guide/smart-contracts
Phala
Phala是一個保護隱私的云計算平臺,旨在作為跨鏈平臺提供強有力的保密保證。
作為一個智能合約平臺,Phala將支持在波卡上使用加密的智能合約。Khala是Phala的先行網絡,作為平行鏈在Kusama上運行。
嘗試按照的Phala文檔部署加密的智能合約。https://wiki.phala.network/en-us/general/phala-network/intro/
保持聯系
盡管工具仍處于成熟階段,但早做的好處是熟悉項目并領先于項目,從而讓你進行創新和創建真正新的東西。
如果你對波卡上的智能合約有什么有趣的想法,請隨時進入PolkadotWatercooler進行討論。https://matrix.to/#/#polkadot-watercooler:web3.foundation
開發人員可能有興趣加入波卡初學者休息室https://matrix.to/#/#polkadotnoobs:matrix.org或SubstrateTechnicalhttps://area51.stackexchange.com/proposals/126136/substrate來詢問他們的問題。與往常一樣,通過關注社交渠道,與Polkadot和Kusama保持聯系。
愿一切都好!
盡管工具仍處于成熟階段,但早做的好處是熟悉項目并領先于項目,從而允許您進行創新和創建真正的新東西。
歡迎大家加入我們Polkadot生態研究院的電報:
https://t.me/polkadot_eri
歡迎大家訪問波卡生態研究院的Mirror地址:
https://mirror.xyz/0x9A259b3a2316281Cc948cE2Cf1Ac610a79844f05
在過去的兩天里,比特幣勝利地達到了2萬美元的臨界水平。這種來自主要加密資產的突然推動是在1.8萬美元到2.4萬美元區域之間徘徊了幾個月之后.
1900/1/1 0:00:00國慶假期回來第一天,幣圈爆出重大事件,昔日的國內交易所三巨頭之一的Huobi,已經完成控股股東的股份出售.
1900/1/1 0:00:00親愛的BitMart用戶:BitMart將于2022年10月11日上線代幣FutureofFintech(FOF)。屆時將開通FOF/USDT交易對.
1900/1/1 0:00:00親愛的ZT用戶: ZTETF板即將上線INJBULL,INJBEAR並開啟INJBULL/USDT,INJBEAR/USDT交易對.
1900/1/1 0:00:00比特幣是否被過度投機? ?Q:相較于投機用途,比特幣的支付應用少之又少,過度投機是否扼殺了比特幣? TimDraper: 不,投機是過程的一部分,所有新興產業都會經歷繁榮與蕭條.
1900/1/1 0:00:00交易者將注意力轉移到XRP、UNI、QNT和EGLD,而比特幣繼續在20,000美元附近盤整。在9月份的非農就業數據發布后,美國股市在10月7日大幅下跌,但它們確實控制了本周的小幅上漲.
1900/1/1 0:00:00