“波卡知識圖譜”是我們針對波卡從零到一的入門級文章,我們嘗試從波卡最基礎的部分講起,為大家提供全方位了解波卡的內容,當然這是一項巨大的工程,也充滿了挑戰,然而我們希望通過這樣的努力讓大家能夠正確認知波卡,也讓不了解波卡的人方便快速掌握波卡相關知識,今天是該欄目的第65期,波卡本身不支持智能合約,但是波卡的平行鏈將支持智能合約,而Substrate智能合約本質上更安全,開發門檻也較低,那么如何在波卡中構建智能合約呢?
智能合約是區塊鏈必不可少的功能,正是有了智能合約,區塊鏈才實現了機器信任,目前其應用場景廣泛,包括數字身份、供應鏈、貿易金融、抵押等多個領域。
Substrate智能合約允許用戶在區塊鏈核心邏輯的基礎上增加業務邏輯,同時建立了防范破壞者的保護機制。與平行鏈相比,智能合約的開發速度更快、部署難度更低,因此像是Moonbeam、Astar、Phala這樣的智能合約平臺為想要快速上線的應用提供了更多的選擇。
波卡中繼鏈本身不支持智能合約,但是,波卡上的平行鏈將支持智能合約。
開發智能合約和平行鏈的區別
抽象層
當你編寫智能合約時,你正在創建與特定鏈地址關聯并部署在其上的指令。相比之下,runtime模塊是一個鏈的狀態轉換的整個邏輯。
智能合約必須有意識地實現可升級性,而平行鏈將有能力完全通過根命令或通過治理Pallet交換其代碼。
當你構建智能合約時,它最終會被部署到一個具有自己環境的目標鏈上。平行鏈允許開發人員聲明自己鏈的環境,甚至允許其他人為其編寫智能合約。
波卡生態概念板塊今日平均漲幅為4.00%:金色財經行情顯示,波卡生態概念板塊今日平均漲幅為4.00%。26個幣種中20個上漲,6個下跌,其中領漲幣種為:MATH(+26.01%)、XOR(+10.42%)、PCX(+8.56%)。領跌幣種為:CRU(-5.82%)、PHA(-1.82%)、AR(-1.23%)。[2021/9/2 22:55:36]
Gas費
智能合約必須找到限制自身執行的方法,否則完整節點很容易受到DOS攻擊。
例如,智能合約中的無限循環可能會消耗整個鏈的計算資源,從而阻止其他人使用它。斷續問題表明,對于足夠強大的語言,不可能提前知道程序是否會停止執行。
一些平臺,比如比特幣,通過提供非常有限的腳本語言來繞過這個約束。其他項目,例如以太坊,向智能合約收取“gas”以提供執行其代碼的權利。
如果智能合約確實進入了一個永遠不會停止執行的狀態,它最終會耗盡gas,停止執行,并且智能合約本應進行的任何狀態轉換都會回滾。
波卡使用的是重量收費模型,而不是gas計量模型。
平行鏈可以實現任意強大的編程語言,并且不為它們自己的本地邏輯包含gas概念。
這意味著某些功能對開發人員來說更容易實現,但某些結構,例如沒有終止條件的循環,不應該實現。
將某些邏輯留給非智能合約層,或者甚至試圖消除它,通常是更明智的選擇。平行鏈試圖主動,而智能合約平臺是事件驅動的。
構建智能合約
波卡平行鏈眾籌模塊發布代碼庫:3月16日,Parity核心開發者ShawnTabrizi在社群中表示,波卡平行鏈眾籌模塊發布代碼庫。[2021/3/16 18:49:03]
波卡中繼鏈本身將不支持智能合約。然而,由于連接到波卡的平行鏈可以支持任意狀態轉換,因此它們可以支持智能合約。
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的設計進行了一些顯著的改進:
波卡生態概念板塊今日平均漲幅為2.36%:金色財經行情顯示,波卡生態概念板塊今日平均漲幅為2.36%。26個幣種中18個上漲,8個下跌,其中領漲幣種為:CELR(+19.01%)、KTON(+17.36%)、EWT(+16.30%)。領跌幣種為:EDG(-12.90%)、INSTAR(-11.38%)、DOCK(-8.06%)。[2021/1/5 16:29:49]
1.Wasm:ContractsPallet使用WebAssembly作為其編譯目標。任何編譯為Wasm的語言都可能用于編寫智能合約。盡管如此,最好有一個專門的領域特定語言,因此Parity提供了ink!語言。
2.存款:合約必須持有足夠大的存款以證明它們在鏈上的存在。部署人員需要在ExistentialDeposit的基礎上將其存入新合約。
3.緩存:合約在默認情況下是緩存的,因此這意味著它們只需要部署一次,然后可以根據需要多次具現化。
這有助于將鏈上的存儲負載降至最低。最重要的是,當合約不再被使用,存在的存款被耗盡時,代碼將從存儲中刪除。
4.存儲租金:已棄用Pallet_contracts最初是為了應對無限制的狀態增長而設計的,它對合約所消耗的狀態進行收費,但后來被棄用。
有關更多詳細信息,請參閱相關的pullrequest:https://github.com/paritytech/substrate/pull/9669
波卡標準提案
Web3基金會支持波卡的提案,這些提案定義了一套符合生態系統需求的標準。這些標準要經過幾個接受階段,在這些階段需要整個社區的參與來建立有價值的和面向未來的標準。
波卡二層擴容協議Plasm Network將與Reef Finance合作開發DeFi應用:據官方消息,波卡二層擴容協議Plasm Network宣布與Reef Finance的合作已經確認,旨在Plasm和Polkadot上開發DeFi應用程序。二者的項目團隊將通過在已經屬于Polkadot生態一部分的平行鏈上使用智能合約來解決平行鏈數量有限的問題。[2020/12/30 16:05:50]
從標準中受益的所有團隊都需要就其內容達成一致。
其中一些PSP是針對Substrate的ContractsPallet:請訪問波卡標準建議(PSP)Github了解更多信息:https://github.com/w3f/PSPs
Ink!
ink!是一種在Rust中編寫智能合約的領域特定語言,可編譯為Wasm代碼。正如它在自述書中所言,它仍處于試驗階段,因此勇敢的開發人員應該意識到,他們可能會有一個坎坷但可行的開發經驗。
有一些項目已經用ink!構建了項目,具有相當程度的復雜性,因此它已經足夠成熟,可以開始構建有趣的內容。
對于感興趣的開發人員,他們可以開始使用ink!編寫智能合約,通過研究已經寫過的例子。這些可以作為編寫更復雜邏輯的指南,這些邏輯將可部署在智能合約平行鏈上。
ink!為基于Wasm虛擬機并與Substrate鏈兼容的新智能合約棧奠定了許多基礎。
ink!的智能合約庫下面收集了一些智能合約的示例。你正在開發智能合約示例嗎?請讓我們將其添加到此頁面!
Moonbeam Network宣布與波卡生態DEX項目Polkastarter合作:金色財經報道,Moonbeam Network宣布與波卡生態DEX項目Polkastarter合作。Moonbeam Network將為Polkastarter的Solidity開發人員提供相關框架,以快速有效地將現有面向以太坊的代碼移植到Polkadot生態系統中。[2020/12/2 22:54:59]
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
Gate.ioLiveStreamiscommittedtocreatingabrand-newlivestreamingecosystemfortheblockchainindustry.
1900/1/1 0:00:00以太坊鯨魚投資者一直對ETH價格產生影響。這是因為他們利用自己的持股在ETH市場上創造了他們想要的趨勢。但根據CryptoQuant的數據,它們的影響正在引起更多關注.
1900/1/1 0:00:00盡管Vasil硬分叉取得了成功,但Cardano似乎已經失去了它的優勢,因為其鎖定的總價值達到了2022年的最低值.
1900/1/1 0:00:00尊敬的用戶:?????????BKEX即將上線XEN,詳情如下:上線交易對:XEN/USDT??幣種類型:ERC20交易功能開放時間:2022年10月10日14:00充值和提現開放時間請留意后續.
1900/1/1 0:00:00過去幾周,比特幣價格一直在2萬美元左右的區間內盤整,由于我們正處于熊市之中,波動性已經顯著下降,而且許多信號和指標資產凈值)顯示出極其悲觀的前景.
1900/1/1 0:00:00不可替代的代幣不僅僅是無聊的猿。它們比現有系統更好地實現了許多功能。一些批評者認為不可替代的代幣(NFT)完全沒有價值。他們看不到重點.
1900/1/1 0:00:00