本文來自波卡百科(Polkadot Wiki),更新于 2020 年 3 月 5 日。
本文是這篇文章的最新版本:為 Polkadot 做好準備你所需要的一切。
Polkadot 是一個區塊鏈協議,它有兩個目標:為所有接入的平行鏈提供共享安全性,并允許所有接入的鏈使用 XCMP 進行互操作。隨著 Parity 的 Substrate 和 Cumulus 等 PDK 的出現,開發和啟動新鏈所需的時間大大減少。以前開發一條鏈需要幾年的時間,現在可能只需要幾周甚至幾天。
這份指南將帶你了解想要使用 Polkadot 創建你的愿景,你現在能做的事兒。我們將解釋平行鏈和智能合約之間的區別(以及為什么其中一個可能比另一個更適合你的應用程序)。還將列出現在可用的資源和即將發布的資源,以便你可以開始創建應用程序,并為參與今年晚些時候的 Polkadot 主網發布做準備。
Polkadot 上線:2020 年初
金絲雀測試網已上線:Kusama
目前的測試網:Westend
Substrate: 2.0.0 版本
Cumulus:開發中,Demo 見 https://github.com/paritytech/cumulus
ink!:開發中,文檔見 https://substrate.dev/substrate-contracts-workshop/
Polkadot 目前正處在 v0.7 版本,它有一個名為 Westend 的測試網和一個名為 Kusama 的有價值的金絲雀網絡。Polkadot 擁有從 Rust 到 JavaScript 的各種編程語言實現 。目前主要使用 Rust 基于 Substrate 框架開發。Substrate 是一個庫,開發者可以通過將網絡協議、共識和 Wasm 解釋器組合在一起,輕松開發出整個區塊鏈應用程序。Cumulus 是對 Substrate 的延伸,它允許任何用 Substrate 開發的鏈連接到 Polkadot 并成為平行鏈。Substrate 目前快要發布官方 2.0.0 版本,將鞏固其 API。
Polkadot 并不原生支持智能合約,但是會有平行鏈去支持。Substrate 鏈可以使用為 Wasm 合約準備的 Contracts pallet ,或使用 FRAME 中的 EVM pallet 來增加智能合約功能。合約模塊可以使鏈能夠使用 Wasm 編譯的合約,這些合約可以由用戶無許可地進行部署,或者取決于該區塊鏈的特定規則。為了促進 Wasm 智能合約的發展,Parity 也在開發 ink!,一門用 Rust 編寫,用于編寫智能合約的特定領域語言。
Moonbeam網絡交易突破1千萬美元,為波卡生態最活躍平行鏈之一:金色財經消息,波卡生態智能合約平臺 Moonbeam 在推特上宣布其網絡交易突破1千萬美元,目前擁有 200 多個項目建設、298k+ 個錢包和 2.5k+ 個ERC-20 代幣,成為波卡生態最活躍的平行鏈之一。[2022/9/8 13:15:34]
Polkadot 計劃在 2020 年初發布一個初始版本,這取決于安全審計和我們團隊控制之外的上線規定。現在,既然這些工具已經開始出現并逐漸穩定下來,沒有比現在更好的時機了,去投身其中并為上線做好準備吧。但是等等!在你一頭栽進代碼中之前,你應該考慮一下,你想要創建的去中心化應用程序的類型,并理解那些希望在 Polkadot 上開發的開發者可以使用的不同范例。
Polkadot 為你提供了幾種部署應用程序的方法:作為現有平行鏈上的智能合約、成為平行鏈或者平行線程。在使用每一種方法時都會有一些取舍,閱讀本節將有助于你理解它們。
平行鏈是包含它們自己 runtime 邏輯的單獨的鏈,并受益于 Polkadot 中繼鏈提供的共享安全性和跨鏈消息傳遞。平行鏈有高度的靈活性和可定制性,但需要更多的成本來創建和維護。
平行線程類似于平行鏈,使開發者能夠對其應用程序的邏輯進行較低級別的掌控。兩者的主要區別在于經濟成本,因為平行線程的安全成本要比平行鏈低得多。平行線程的成本較低是因為平行線程只在需要時生成一個塊,而平行鏈則必須保證有一個插槽來在中繼鏈的每個區塊上都出塊。在創建一條平行線程時,你將使用跟平行鏈相同的工具(如 PDKs ),你將得到創建一條平行鏈的所有好處,而沒有成本的缺點。
在 Polkadot 主網上,將由平行鏈充當智能合約平臺。智能合約是只存在于一條鏈上的可執行程序,其復雜度有限。因為它們存在于一條鏈上,所以它們可以與同一鏈上的其他智能合約具有平滑的互操作性。然而,它們總是受到主鏈固有特性的制約和限制。
如果需要對應用程序的設計和功能進行大量控制,那么平行鏈是更好的選擇。 請記住,智能合約可以作為一個試驗場所,然后再轉變到功能成熟的平行鏈。智能合約平臺通常會有更方便的工具,如 IDEs,以促進快速迭代。可以創建一個智能合約 MVP(最小可行性產品) 來衡量用戶的興趣,然后再投入到平行鏈的構建中。
在從頭構建貨幣體系和鏈的其他方面上,平行鏈給予了創造者更多空間。它可以比智能合約平臺更簡潔高效地執行復雜邏輯。平行鏈在治理上也提供了更大的靈活性,并且跟現有的硬分叉方式相比,平行鏈進行完全升級的爭議更少。
平行鏈或平行線程上可以具有的一些功能示例:
自定義費用結構(例如,為交易支付固定費用或按字節付費)
Biconomy與Moonbeam Network集成,為波卡用戶提供Web3.0用戶體驗:官方消息,區塊鏈基礎設施服務提供商Biconomy宣布,與以太坊兼容的智能合約平臺Moonbeam Network集成,現在DApps可以在Moonbeam上集成Biconomy,為Polkadot用戶提供卓越直觀的Web3.0用戶體驗。[2021/4/9 20:02:06]
自定義原生代幣和經濟模型的貨幣政策
在狀態轉換時財政庫會獲得資金
一種管理 DAO 的治理機制,可以負責分配鏈上資金
平行鏈提供了構建復雜 runtime 邏輯的可能性,而使用智能合約執行復雜 runtime 邏輯成本太高。然而,與智能合約不同,平行鏈完全缺乏強制性的 gas 計費系統,可能容易受到導致無限循環的漏洞(智能合約中的設計阻止了這種漏洞)。
你還可以決定使用平行鏈、平行線程和智能合約的組合。如果你有某些需要循環的邏輯,并且無法將其移除,可以使用本地平行鏈 runtime 來處理所有復雜邏輯,并使用智能合約來調用迭代。如果你需要來自 oracle 的鏈下數據,則可能需要使用一個平行線程作為 oracle 喂價,每 24 小時觸發一次(如果該數據對 Polkadot 生態系統中的其他參與者也有用,則這是最有意義的)。
很可能你已經意識到你的應用程序更適合其中哪個(或兩者的混合),但如果你需要一個快速摘要來消化信息,可以使用下面這個對比表:
注意:上圖不包括平行線程,但是正如我們前面提到的,平行鏈的所有優點同樣適用于平行線程。不過平行線程的部署和維護成本更低。所以,如果平行鏈在上表中占了一列,那會跟平行鏈的那一列很像,只不過其中的 “易部署性” 和 “維護開銷” 更改為 +。
本指南現在分為兩個部分,具體取決于你是決定使用智能合約還是平行鏈來構建應用程序。請隨意閱讀這兩個部分,或者只閱讀適合你的部分。
我想建立一條平行鏈或平行線程
我想建立一個智能合約
現在你已經確定構建平行鏈或平行線程是適合你新項目的方法,下一步是決定使用哪個框架。用于構建平行鏈或平行線程的框架稱為平行鏈開發工具包(PDKs:parachain development kits)。目前,僅有的可用 PDK 是來自 Parity 的 Substrate 和 Cumulus。
將來,會有許多不同的編程語言的 PDK,就像 Polkadot 主網有多種實現一樣。
看這里:你想從頭開始構建平行鏈開發工具包嗎?Web3 基金會將向進行此項工作的團隊提供資助,想了解更多信息和申請請訪問 W3F grant 頁面。
BTCST成為波場TRON世紀挖礦首個入選項目:據最新消息,BTCST(Bitcoin Standard Hashrate Token)成為波場TRON世紀挖礦首個入選項目。波場TRON創始人兼BitTorrent?CEO孫宇晨將提供50%包含:TRX、BTT、JST、SUN、WIN在內的五幣禮包補貼,全部回饋挖礦用戶!礦池即將開啟,敬請期待。
據悉,BTCST?作為首個區塊鏈行業類似于灰度基金的比特幣算力基金,是至今?Binance?LaunchPool?的首個唯一算力幣,BTCST自上線以來,就創下Binance?LaunchPool?TVL第一的記錄,?項目零私募,零?VC,零團隊預留,完全依靠社區自治的基于?BSC?的智能合約。
目前,Launchpool?上首個算力幣BTCST?已經上線?Binance、VCC?Exchange、PancakeSwap?交易所。BTCST?已與?BTC.TOP、Easy2Mine、Genesis?Mining、Atlas?Mining、Hengjia?Group?五大礦場合作,同時得到?MathWallet?麥子錢包、TokenPocket、SafePal?等錢包的支持。[2021/3/18 18:58:20]
Substrate 是構建 Polkadot 的底層框架。它是區塊鏈創新者的工具集,為構建鏈提供了必要的開發工具。它包括一個模塊化的插件庫,你可以從中組合你的鏈邏輯,也可以編寫自己的模塊來使用或發布到社區。
開始使用 Substrate 的最佳途徑是探索 Substrate 開發者中心 ,這是一個由 Parity 構建和維護的在線資源。
我們建議你在里面多看看,熟悉常見的模式。一旦你有了很好的理解,你可以從 Substratekitties workshop 開始挑戰自己,然后再進階到 TCR Dappchain 教程或其他教程。
在用 Substrate 創建你的鏈邏輯之后,你將能夠將其編譯成 Wasm 可執行文件。這個 Wasm 代碼 blob 將包含鏈的整個狀態轉換函數,這是將項目部署到 Polkadot 的平行鏈或平行線程所需的。
Polkadot 上的驗證人將使用提交的 Wasm 代碼來驗證鏈或線程的狀態轉換,但這樣做需要一些額外的基礎設施。驗證人需要某種方法來保持最新狀態轉換,因為 Polkadot 節點不一定也是你的鏈的節點。
這就是收集人節點發揮作用的地方。收集人是平行鏈的維護者,它在為鏈生成新的候選區塊并將它們傳遞給 Polkadot 驗證人來納入中繼鏈的過程中扮演著重要角色。
Substrate 帶有自己的內置網絡層,但遺憾的是它只支持獨立鏈(即不連接到中繼鏈的鏈)。然而,確實有 Cumulus 擴展包含了一個收集人節點,并允許你的底層構建邏輯與 Polkadot 兼容,不論是平行鏈還是平行線程。
Dean:成為波卡的平行鏈存在巨大的潛力:8月26日消息,Crust network CPO Dean在做客HyperPay焦點欄目時提及:成為波卡的平行鏈,除了Gas費用和TPS問題之外,還有另外幾點好處:基于substrate的框架,可以打破現有EVM技術框架的限制,更好的進行功能拓展和延伸;波卡還有一大亮點,就是Substrate的鏈上治理和無分叉升級。這就讓協議的治理和升級變得異常簡單,實實在在的解決了協議治理難和升級難的痛點。因此在波卡生態內開發項目有著巨大的潛力。在這樣的背景下,波卡上的DeFi,不僅可以讓金融服務于金融,還可以讓金融服務于實業。[2020/8/26]
Cumulus 的目標是擴展 Substrate,使任何 Substrate runtime 都與 Polkadot 兼容。
它處理網絡兼容性開銷問題,任何平行鏈都需要實現這一點才能連接到 Polkadot。包括:
開箱即用的收集人節點設置
中繼鏈的嵌入式輕客戶端
波卡區塊創建者兼容性
集成 Cumulus 與 Substrate 鏈,使其成為一個平行鏈,能夠在最小修改的情況下在 Polkadot 上運行,可能只需導入一個 crate 再敲一行代碼即可。
波卡的聯合創始人 Rob Habermeier 去年在 EthCC 做了一次 Cumulus 的演講,你可以在這里觀看。
為了將平行鏈連接到 Polkadot 網絡,你需要獲取平行鏈卡槽。
平行鏈卡槽將在公開拍賣中出售,拍賣機制可以在 wiki 的平行鏈拍賣頁面上找到。
平行線程不需要平行鏈卡槽,因此你不需要參與蠟燭拍賣機制。不過,你可以向中繼鏈提交平行線程代碼,并開始參與每個塊的拍賣,以便將狀態轉換提交到中繼鏈中。
有關平行線程每個區塊拍賣是如何工作的更多信息,請參閱更詳細的平行線程頁面。
Polkadot 中繼鏈本身不支持智能合約。但是,由于連接到 Polkadot 的平行鏈可以支持任意狀態轉換,因此它們可以支持智能合約。智能合約的開發者可以在這些功能完善的時候使用它們。現在可以使用本地開發鏈開始開發,然后在技術成熟時部署到真實環境中。
Substrate 支持兩種開箱即用的智能合約的方式。一種方法是使用框架庫中提供的合約模塊。第二種方法是使用 Substrate EVM 模塊來部署基于 EVM 的字節碼,該字節碼由 Solidity 或 Vyper 編譯,并使用 Ethereum 堆棧中提供的工具。
對于以前編寫過智能合約的開發者來說,部署到基于 EVM 的鏈的操作可能更為熟悉。然而,合約模塊對 EVM 的設計做出了一些顯著的改進。包括:
公告 | BiKi將開啟認購上幣 首期為波卡生態項目:據BiKi公告,BiKi平臺將于2020年2月28日11:00(GMT+8)開啟波卡(Polkadot)生態項目Edgeware(EDG)和Kusama(KSM)認購上幣。認購上幣:為出于對優質資產的支持,各項目之間不存在PK關系,單個項目滿足投票人數即可上線。用戶將以認購的形式進行投票,投票比例為1USDT:1票,單個用戶最多可投10票,如項目投票成功,參與投票的用戶也可獲得相應的EDG或KSM。如項目投票失敗,投票的USDT將返還。
Edgeware是一個公平分發、基于POS共識的WebAssembly智能合約平臺,它也是Polkadot生態下的第一條智能合約鏈(Polkadot 的平行鏈);
Kusama提供了一種貼近真實環境的方式去提前測試波卡網絡,保證波卡網絡的安全性。它還可以讓未來的波卡網絡參與方提前演練驗證者節點等、波卡生態工具的建設者們都可以用Kusama來提前準備。[2020/2/26]
Wasm。合約模塊盤使用 WebAssembly 作為其編譯目標。任何編譯成 Wasm 的語言都有可能用于編寫智能合約。雖然有一門專門的特定領域語言會更好,所以 Parity 提供了 ink! 語言。
租金。合約必須支付租金,否則必須繳納足夠多的保證金,以證明其存在于鏈上。當一個合約不支持這一點時,它可能會創建一個所謂的 tombstone,作為合約的參考。在某些情況下,如果合約不符合這些要求,將隨其儲存一起被徹底刪除。
緩存。默認情況下,合約是緩存的,因此意味著它們只需要部署一次,之后,可以根據需要再進行多次具體化。這有助于將鏈上的存儲負載降至最低。除此之外,當合約不再被使用并且已有的存款被耗盡時,代碼將從存儲中刪除(稱為回收)。
你可能需要設置一個本地測試環境開始編寫智能合約。這可以使用 Substrate 節點來完成,它包含兩個智能合約模塊中的一個。開發完成后,你可以查看 Edgware 等項目,以便將智能合約部署到真實環境中。
目前帶有智能合約模塊的一個項目是 Edgeware。Edgeware 是一個無許可的智能合約平臺,正在進行鏈上治理的實驗。對于已經創建了智能合約并希望部署到真實環境中的開發者來說,這是目前最好的選擇。
Edgeware 計劃在合適的時間連接到 Polkadot,并作為一條智能合約平行鏈。此時,智能合約將能夠通過 XCMP 與 Polkadot 生態系統的其他部分交互。
可在此處找到 Edgeware 文檔。
ink! 是一種特定領域語言,用于使用 Rust 編寫智能合約并編譯成 Wasm 代碼。正如它在自述中所說,它仍然處于實驗階段,因此勇敢的開發者應該意識到,他們的開發過程可能會比較坎坷,但也能走得通。有些項目是用 ink! 開發的,并且有相當程度的復雜性,比如 Plasm 的 Plasma 合約,所以它其實已經足夠成熟,可以開始創建一些有趣的東西了。
對于感興趣的開發者,他們可以通過研究一些已經寫好的案例來開始使用 ink! 編寫智能合約。這些可以作為編寫更復雜的邏輯的指南,這些邏輯可以部署在智能合約平行鏈上。
ink! 已經為一個基于 Wasm 虛擬機并與 Substrate 鏈兼容的新智能合約棧奠定了基礎。
智能合約僅僅是存在于一個鏈上地址的代碼,并且可以由外部參與者調用。關鍵的一點是,在任何人開始執行代碼之前,你必須將代碼放到鏈上!
在鏈上部署智能合約,會因你使用的特定平行鏈而略有不同,但通常你會發送一筆特殊交易,該交易將在分類賬上創建智能合約。你可能需要為初始化邏輯和合約使用的任何存儲支付相關費用。
每個平臺都有不同的方式來支付和維護智能合約的狀態。
你可能看到的一些支付智能合約的不同模式包括:
與部署每個交易相關的交易費。
定期支付鏈使用費來使用平臺的訂閱模式。
Acess token 模式,需要持有一定數量的原生代幣來使用平臺(EOS 有類似的模式)。存儲租用。
免費試用或開發者推廣。
大多數智能合約平臺使用某種形式的 gas 費來限制用戶可執行的操作數量。要求用戶預先支付 gas 費用,沒有使用的會被退還。
你需要考慮智能合約的存儲和復雜性,以確保 gas 的使用保持在合理的范圍內。無論你使用哪種智能合約平臺,存儲都可能很昂貴,因此有必要盡可能多地將數據進行鏈下存儲。你可以考慮使用 IPFS 或 Storj來保存數據,而只將內容地址提交上鏈。
Polkadot 上的智能合約還處于極早期,目前開發才逐漸趨于穩定。我們正在積極生產相關內容,以幫助開發者加快速度,并將在 wiki 上更新的資源。同時,你還可以關注以下鏈接來獲取最新進展:
Edgeware:https://edgewa.re/
ink!:https://github.com/paritytech/ink(留意 wiki 上的內容)
Substrate 合約模塊:https://github.com/paritytech/substrate/tree/master/frame/contracts
本指南為你提供了一個心理模型,并展示了必要的資源,以幫助你開始構建平行鏈或智能合約。盡管工具還處于完善階段,但提前做了解的好處是可以熟悉并提前開始你的項目,讓你能夠創建真正創新的東西。
如果你對 Polkadot 上的平行鏈或智能合約有一些有趣的想法,請隨時在 Polkadot Riot 聊天室中討論。感興趣的開發者可以加入 Polkadot Beginners Lounge 或者 Substrate Technical,來進行提問。一如既往,大家可以通過媒體渠道與波卡保持聯系。
祝你好運!
原文:https://wiki.polkadot.network/docs/en/build-build-with-polkadot
翻譯:PolkaWorld 社區
為 Polkadot 做好準備你所需要的一切: https://medium.com/polkadot-network/everything-you-need-to-know-to-prepare-for-polkadot-32d08b929735
PDK: https://wiki.polkadot.network/docs/en/build-pdkhttps://github.com/paritytech/cumulus: https://github.com/paritytech/cumulushttps://substrate.dev/substrate-contracts-workshop/: https://substrate.dev/substrate-contracts-workshop/各種編程語言實現: https://wiki.polkadot.network/docs/en/learn-implementationsContracts: https://github.com/paritytech/substrate/tree/master/frame/contractsEVM: https://github.com/paritytech/substrate/tree/master/frame/evmink!: https://github.com/paritytech/ink實現: https://wiki.polkadot.network/docs/en/learn-implementationsW3F grant: https://grants.web3.foundation/Substrate 開發者中心: https://substrate.dev/Cumulus: https://wiki.polkadot.network/docs/en/build-cumulus這里: https://www.youtube.com/watch?v=thgtXq5YMOo平行鏈拍賣: https://wiki.polkadot.network/docs/en/learn-auction平行線程: https://wiki.polkadot.network/docs/en/learn-parathreadshttps://github.com/paritytech/substrate/tree/master/frame/contracts: https://github.com/paritytech/substrate/tree/master/frame/contractshttps://github.com/paritytech/substrate/tree/master/frame/evm: https://github.com/paritytech/substrate/tree/master/frame/evmink!: https://wiki.polkadot.network/docs/en/build-build-with-polkadot#inkEdgeware: https://edgewa.re/XCMP: https://wiki.polkadot.network/docs/en/learn-crosschainhttps://docs.edgewa.re/: https://docs.edgewa.re/ink!: https://github.com/paritytech/inkPlasma 合約: https://github.com/staketechnologies/Plasm案例: https://github.com/paritytech/ink/tree/master/examplesIPFS: https://ipfs.io/Storj: https://storj.io/https://edgewa.re/: https://edgewa.re/https://github.com/paritytech/ink: https://github.com/paritytech/inkhttps://github.com/paritytech/substrate/tree/master/frame/contracts: https://github.com/paritytech/substrate/tree/master/frame/contractsRiot 聊天室: https://riot.im/app/#/room/#polkadot-watercooler:matrix.orgPolkadot Beginners Lounge: https://riot.im/app/#/room/#polkadotnoobs:matrix.orgSubstrate Technica: https://riot.im/app/#/room/#substrate-technical:matrix.org媒體渠道: https://wiki.polkadot.network/docs/en/communityhttps://wiki.polkadot.network/docs/en/build-build-with-polkadot: https://wiki.polkadot.network/docs/en/build-build-with-polkadot
Tags:POLKPOLPolkadotADOpolkawallet錢包polygon幣當前行情polkadottedYabbaDabbaDoo
記者13日從市人大常委會獲悉,回應游雄峰代表提出的關于推廣區塊鏈技術應用和制定相關政策法規的建議,市大數據發展管理委員會近日表示,福州市積極推進區塊鏈落地應用.
1900/1/1 0:00:00在我們討論區塊鏈時,分類是一件不可避免的事情。按照區塊鏈的服務對象來分:公有鏈、聯盟鏈、私有鏈這些詞匯頻繁出現,我們已經耳熟能詳.
1900/1/1 0:00:001. 全球數字貨幣監管牌照全景圖近年來,伴隨著區塊鏈技術日益成熟和數字貨幣步入發展快車道,去中心化加密數字貨幣的市場規模越來越大,目前全球共有319個數字貨幣交易所,已發行5290種數字貨幣.
1900/1/1 0:00:00周末期間市場情緒保持穩定,在BTC帶動下絕大多數主流幣種良好地延續了上周中后段的上漲勢頭,雖然周末兩個交易日內BTC漲幅比較有限,在超50個小時時間里僅取得2.11%的小幅上漲.
1900/1/1 0:00:00美國證券交易委員會(SEC)和Kik Interactive均在4月24日對彼此提出的即決判決動議提出反對.
1900/1/1 0:00:00金色周刊是金色財經推出的一檔每周區塊鏈行業總結欄目,內容涵蓋一周重點新聞、行情與合約數據、礦業信息、項目動態、技術進展等行業動態.
1900/1/1 0:00:00