Facebook區塊鏈項目Libra的其中一個技術亮點,就是它使用了一種稱為Move的新編程語言,那么這種語言是怎樣的呢,今天我們就從其官方的概述資料入手,近距離了解這種新的語言。
以下內容為譯文:
Move是一種新的編程語言,它為Libra區塊鏈提供了一個安全和可編程的基礎。Libra區塊鏈中的賬戶是任意數量Move資源及Move模塊的容器。提交至Libra區塊鏈的每個事務,都使用以Move語言編寫的事務腳本對其邏輯進行編碼。
這個事務腳本可調用模塊聲明的過程來更新區塊鏈的全局狀態。
在本指南的第一部分內容中,我們將概括性地介紹Move語言的主要特點:
Move事務腳本啟用可編程事務;
Move模塊允許組合型智能合約;
Move語言具有第一類資源;
聽證會 | 扎克伯格:若美監管機構要求Facebook完全撤出Libra協會,Facebook將執行:金色財經直播報道,在今日聽證會上,議員再次確定Libra協會的治理決定權力,以及扎克伯格所提出的,獲得一切所需監管批準前不會有進一步動作。
扎克伯格再次給出了明確說明:“我僅代表Facebook部分的Libra權利,且明確確定Facebook在得到美國監管批準前不會就Libra采取進一步行動。如果美國監管機構要求Facebook完全撤出Libra協會,小扎表示將會執行。”[2019/10/24]
對于求知欲強的讀者來說,Move編程語言的技術論文包含了更多關于該語言的細節信息:
在本指南的第二部分,我們將向你展示如何在Move中間代碼優化的環境下編寫自己的應用。初始的測試網并不支持自定義Move程序,但這些功能可供你在本地試用。
一、Move語言的主要特點
現場 | Dovey:Libra是Facebook業務轉型遇到瓶頸后試圖拿出的殺手锏:金色財經現場報道,9月19日,橙皮書主辦的“Defi的中場危機”在上海進行。在圓桌討論環節,Primitive Venture 創始合伙人Dovey表示,當我們與金融中間商進行交易時,包括券商、保險、銀行,其實它們都存在對手盤風險。而智能合約可以保證百分百執行,所以我們不存在去相信任何人。
對于Libra,我認為它炒的越兇越好,因為這相當于Facebook用自己的資源幫助幣圈把所有的坑提前走了一遍。其實我認為Libra是Facebook業務轉型遇到瓶頸后試圖拿出的殺手锏,但我對于Libra能否成功并不確定,因為它的推出大概用了一年半左右的時間,我個人認為是比較倉促的。此外,我認為貨幣的非主權化是未來的趨勢。[2019/9/19]
1、1Move事務腳本啟用可編程事務
每個Libra事務都包含一個Move事務腳本,該腳本對驗證者應代表客戶端執行的邏輯進行編碼;
聲音 | Facebook區塊鏈項目負責人:Libra是正義的象征 在法語中(libre)的意思是自由:Facebook區塊鏈項目負責人David Marcus在推特表示,我把它命名為Libra。Libra衡量硬幣的重量單位,它是正義的象征,在法語中(libre)的意思是自由。[2019/6/30]
事務腳本通過調用一個或多個Move模塊的過程,與Libra區塊鏈全局存儲中發布的Move資源進行交互;
事務腳本不會存儲在全局狀態當中,因此其它事務腳本無法調用它,這是一個一次性程序;
我們在編寫事務腳本時,提供了幾個事務腳本示例;
1、2Move模塊允許組合型智能合約
Move模塊定義了更新Libra區塊鏈全局狀態的規則。Move模塊與其它區塊鏈中的智能合約一樣都是解決相同的問題。模塊聲明了可在用戶賬戶下發布的資源類型。Libra區塊鏈中的每個賬戶都是任意數量資源和模塊的容器。
動態 | 報告:Facebook龐大的分銷渠道和用戶群或可無縫地引導Libra采用:據AMBCrypto 6月22日消息,B2B市場研究機構Circle Research指出,Libra最明顯的優勢是,Facebook大肆宣傳的加密項目將被整合到一些“世界上最突出和根深蒂固的消費者應用程序和支付服務提供商”中,通過利用Facebook龐大的分銷渠道和每月超過23億活躍用戶的用戶群,可以無縫地“引導采用”。Libra協會政策與溝通負責人Dante Disparte表示,“這個項目暗示,只要接受Visa或萬事達卡標識,Libra就會效仿。” 該報告稱,Libra另一個領先優勢是它不僅支持單一法幣,而是包括美元、日元、歐元和英鎊。研究還補充說,“Libra協會可以靈活地調整儲備的構成,以在需要時(即經濟危機)加入或替換資產。 報告稱,Libra可以潛在地教育加密行業以外的許多人,讓其了解該技術及相關方面,包括數字錢包、加密交易所、公鑰密碼、假名、對等支付和不可改變的分類賬。Libra可能會推動用戶體驗的改善,而以太坊DApp似乎已經落后。報告指出,Libra可以為Facebook、Calibra和其他社交網站的用戶提供一種方式,讓他們更容易探索開放金融和其他應用程序并與之交互。[2019/6/22]
模塊聲明結構類型以及過程;
金色晨訊 | Facebook穩定幣或首選印度市場 以太坊版閃電網絡上線主網:1.Facebook穩定幣選擇印度市場因其是世界上最大的匯款接收國。
2.斯里蘭卡電信與加拿大科技公司合作推出區塊鏈電子競技平臺。
3.火幣中國等機構簽約發起“未來大學(海南)”。
4.以太坊版閃電網絡上線主網 可與所有ERC20代幣兼容。
5.EOS紐約發文介紹接近不可變的dApp架構。
6.英國稅務機關發布加密貨幣繳稅指導說明。
7.全國黨政領導干部區塊鏈培訓基地舉辦首期研修班。
8.億邦國際:兩家A 股上市公司今年上半年購買了7 億元的礦機。
9.Brave瀏覽器更新Brave Rewards匿名捐贈系統。[2018/12/24]
Move模塊的過程,定義了創建、訪問以及銷毀其聲明類型的規則。
模塊是可重用的。一個模塊中聲明的結構類型,可以使用另一個模塊中聲明的結構類型,并且一個模塊中聲明的過程可以調用另一個模塊中聲明的公共過程。模塊可以調用在其他Move模塊中聲明的過程。事務腳本可以調用已發布模塊的任何公共過程。
最終,Libra用戶將能在自己的帳戶下發布模塊。
1、3Move語言具有第一類資源
Move的主要功能是定義自定義資源類型。資源類型用于編碼具有豐富可編程性的安全數字資產。
資源是語言中的普通值,它們可存儲為數據結構,作為參數傳遞給procedure,從procedure返回,等等;
Move類型系統為資源提供了特殊的安全保障。Move資源不能復制、重復使用或丟棄。資源類型只能由定義該類型的模塊創建或銷毀。這些保障是由Move虛擬機通過bytecode驗證靜態地強制執行的。Move虛擬機將拒絕運行尚未通過bytecode檢驗器的代碼;
Libra幣作為一種資源類型,其名稱為LibraCoin
此事務腳本存在著一個不幸的問題:如果地址接收方沒有賬戶,它將失敗。我們將通過修改腳本來解決這個問題,為接收方創建一個賬戶。
//Asmallvariantofthepeer-peerpaymentexamplethatcreatesafresh//accountifonedoesnotalreadyexist
LibraAccount
讓我們看一個更復雜的例子。在這個例子中,我們將使用事務腳本為多個接收方進行支付。
//Multiplepayeeexample
好了,到這里,我們就結束了事務腳本部分的展示,有關更多例子,包括初始測試網中支持的事務腳本,請參閱
libra/language/stdlib/transaction_scripts2、3編寫模塊
現在,我們把注意力集中到編寫自己的Move模塊上,而不僅僅是重用現有的LibraAccount和LibraCoin模塊。考慮這樣一個情況:Bob將來某個時候將在地址a創建一個帳戶,Alice想要“指定”Bob一筆資金,以便他可以在賬戶創建后將其存入自己的帳戶。但她也希望,如果Bob一直不創建一個賬戶,她就能收回這筆資金。
為了解決Alice的這個問題,我們將編寫一個專用的EarmarkedLibraCoin模塊,它會:
聲明一個新的資源類型EarmarkedLibraCoin
//Allowthetransactionsendertoclaimacointhatwasearmarkedforher
//Allowthecreatoroftheearmarkedcointoreclaimit
//ExtracttheLibracoinfromitswrapperandreturnittothecaller
}
Alice可以為Bob創建一種預先安排的幣,方法是創建一個事務腳本,調用Bob的地址a的create,以及她所擁有的LibraCoin.T。一旦地址a被創建,Bob就可以通過從a發送一個事務來領取這筆幣,這會調用claim_for_recipient,將結果傳遞給unwrap,并將返回的LibraCoin存儲在他希望的任何地方。如果Bob在創建a的過程中花費的時間太長,而Alice想要收回她的資金,那么Alice可以使用claim_for_creator,然后unwrap。
觀察型讀者可能已經注意到,本模塊中的代碼對LibraCoin.T的內部結構不可知。它可以很容易地使用泛型編程編寫。我們目前正致力于為Move增加這種參量多態性。
2、4未來開發者體驗
在不久的將來,MoveIR將穩定下來,編譯和驗證程序將變得更加對用戶友好。此外,IR源的位置信息將被跟蹤,然后傳遞給驗證者,以使錯誤消息更容易排錯。然而,IR將繼續作為測試Movebytecode的工具。它是作為底層bytecode的一種語義透明的表示。
為了允許有效的測試,IR編譯器需生成錯誤的代碼,這些代碼將被bytecode驗證者拒絕,或在編譯器的運行時失敗。
而對用戶友好的源語言則是另一種選擇,它應該拒絕編譯在管道的后續步驟中將失敗的代碼。
未來,我們將擁有更高層次的Move源語言。這種源語言將被設計成安全而容易地表達常見的Move慣用語和編程模式。由于Movebytecode是一種新語言,而Libra區塊鏈是一種新的編程環境,我們對應支持的習慣用法和模式的理解,仍在不斷發展。目前,源語言還處于開發的早期階段,我們還沒有為它準備好發布時間表。
本文是ConnorBrooks發表在ALTCOINMAGAZINE上的文章,由貝寶翻譯。 原文鏈接: https://medium.com/altcoin-magazine/bitcoin-th.
1900/1/1 0:00:00作者|Nick 編譯|Jhonny 2019年6月18日,新成立不久的LibraAssociation協會發布了Libra白皮書,該協會由一些金融和科技公司組成.
1900/1/1 0:00:00愛的共識——創新幣種520,將于HKT2019年6月20日17:20開放充值,將于HKT2019年6月30日15:00開放520/ZT,520/QC交易對.
1900/1/1 0:00:00今天的封面是《墨西哥的建筑》,愛德華·霍珀Facebook如期發布了穩定幣Libra的白皮書,Libra將建立在一條全新的鏈上,沒有如少數人預期運行在BTC、ETH等公鏈上.
1900/1/1 0:00:00今天下午,Facebook即將發行的加密資產Libra白皮書已在其官網正式上線。白皮書中表示,Libra的使命是建立一個簡單的全球貨幣和金融基礎設施,為數十億人提供支持.
1900/1/1 0:00:00文章系金色財經專欄作者供稿,發表言論僅代表其個人觀點,僅供學習交流!金色盤面不會主動提供任何交易指導,亦不會收取任何費用指導交易,請讀者仔細甄別,謹防上當.
1900/1/1 0:00:00