比特幣交易所 比特幣交易所
Ctrl+D 比特幣交易所
ads
首頁 > MANA > Info

Facebook Move編程語言入門:易于開發嗎?_LIB

Author:

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

Facebook區塊鏈項目Libra的其中一個技術亮點,就是它使用了一種稱為Move的新編程語言,那么這種語言是怎樣的呢,今天我們就從其官方的概述資料入手,近距離了解這種新的語言。

以下內容為譯文:

Move是一種新的編程語言,它為Libra區塊鏈提供了一個安全和可編程的基礎。Libra區塊鏈中的賬戶是任意數量Move資源及Move模塊的容器。提交至Libra區塊鏈的每個事務,都使用以Move語言編寫的事務腳本對其邏輯進行編碼。

這個事務腳本可調用模塊聲明的過程來更新區塊鏈的全局狀態。

在本指南的第一部分內容中,我們將概括性地介紹Move語言的主要特點:

Move事務腳本啟用可編程事務;

Move模塊允許組合型智能合約;

Move語言具有第一類資源;

聲音 | Abra首席執行官:比特幣ETF的推出將比Facebook的Libra快:據AMBCrypto今日報道,加密投資應用Abra首席執行官Bill Barhydt在最近的采訪中表示,他很驚訝比特幣ETF今年不會出現,如果高盛等公司決定這樣做,ETF可能會重見天日,因為它們似乎是SEC愿意支持的公司。Barhydt還稱,SEC的批準并不是加密貨幣領域的“終結和全部”,因為零售消費者可以通過其他方式獲得相同的風險敞口。Barhydt相信,比特幣ETF的推出將比Facebook的Libra快。[2019/11/14]

對于求知欲強的讀者來說,Move編程語言的技術論文包含了更多關于該語言的細節信息:

在本指南的第二部分,我們將向你展示如何在Move中間代碼優化的環境下編寫自己的應用。初始的測試網并不支持自定義Move程序,但這些功能可供你在本地試用。

動態 | 歐洲央行行長:沒有計劃禁止Facebook的Libra:歐洲中央銀行行長Benoit Coeure在周四發布的一次采訪中表示,全球各地的金融監管機構沒有計劃禁止Facebook的Libra或其他穩定幣,但這些以官方貨幣為支撐的數字代幣必須符合最高的監管標準。他表示,并沒有明確的判斷認為穩定幣不應該存在。(路透社)[2019/10/17]

一、Move語言的主要特點

1、1Move事務腳本啟用可編程事務

每個Libra事務都包含一個Move事務腳本,該腳本對驗證者應代表客戶端執行的邏輯進行編碼;

事務腳本通過調用一個或多個Move模塊的過程,與Libra區塊鏈全局存儲中發布的Move資源進行交互;

事務腳本不會存儲在全局狀態當中,因此其它事務腳本無法調用它,這是一個一次性程序;

動態 | Facebook將Coinbase廣告列入白名單:Coinbase聯合創始人Brian Armstrong今日在其社交媒體配圖稱:“今年早些時候Facebook禁止了加密貨幣廣告的發布。我們(Coinbase)現在已經被加入白名單之列,將會向更多的用戶介紹開放式的金融體系。”[2018/7/21]

我們在編寫事務腳本時,提供了幾個事務腳本示例;

1、2Move模塊允許組合型智能合約

Move模塊定義了更新Libra區塊鏈全局狀態的規則。Move模塊與其它區塊鏈中的智能合約一樣都是解決相同的問題。模塊聲明了可在用戶賬戶下發布的資源類型。Libra區塊鏈中的每個賬戶都是任意數量資源和模塊的容器。

模塊聲明結構類型以及過程;

Move模塊的過程,定義了創建、訪問以及銷毀其聲明類型的規則。

現場|Google與Facebook工程師邀請Hotnode CEO到訪宣講:金色財經現場報道,在節點資本硅谷見面會上,Google與Facebook工程師聽了Hotnode的介紹后,邀請Hotnode CEO Andy Wang到谷歌和facebook 宣講,Andy Wang欣然接受邀請并表示近期將赴Google與Facebook宣講。[2018/6/28]

模塊是可重用的。一個模塊中聲明的結構類型,可以使用另一個模塊中聲明的結構類型,并且一個模塊中聲明的過程可以調用另一個模塊中聲明的公共過程。模塊可以調用在其他Move模塊中聲明的過程。事務腳本可以調用已發布模塊的任何公共過程。

最終,Libra用戶將能在自己的帳戶下發布模塊。

1、3Move語言具有第一類資源

Move的主要功能是定義自定義資源類型。資源類型用于編碼具有豐富可編程性的安全數字資產。

卡巴斯基實驗室披露新的網絡釣魚計劃,詐騙者將竊取Facebook用戶的加密貨幣資金:“卡巴斯基實驗室”披露了一個新的網絡釣魚計劃的細節,專家透露,詐騙者試圖竊取Facebook用戶的加密貨幣資金。攻擊者在社交網絡中復制加密貨幣社區的頁面,然后在他們的頁面上分享真實社區中的參與者的照片,并將其標記在加密平臺上。 給予Facebook用戶大量付款的承諾,此時用戶需要去一個假的網站, 并在那里留下私人數據。[2018/1/22]

資源是語言中的普通值,它們可存儲為數據結構,作為參數傳遞給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區塊鏈是一種新的編程環境,我們對應支持的習慣用法和模式的理解,仍在不斷發展。目前,源語言還處于開發的早期階段,我們還沒有為它準備好發布時間表。

Tags:MOVEMOVLIBLIBRAmovez幣項目方MovieCashLIB價格LIBRAF價格

MANA
JEX上線周BCH期權0628公告_BCH

BCH看漲期權 代碼周BCH看漲0628期權標的BCH合約類型歐式看漲期權計價單位USDT最小價格單位0.0001USDT合約比例50:1.

1900/1/1 0:00:00
Facebook發幣的奧秘竟是這些 比特幣何去何從?_FACE

本著負責,專注,誠懇的態度用心寫每一篇分析文章,特點鮮明,不做作,不浮夸!本內容中的信息及數據來源于公開可獲得資料,力求準確可靠,但對信息的準確性及完整性不做任何保證,本內容不構成投資建議.

1900/1/1 0:00:00
方軍:重看BM的三通證設計 | 火星號精選_STE

通證學派研究院由孟巖等區塊鏈行業與實體產業專家共同發起,專注于區塊鏈思維普及,致力于產業區塊鏈應用推廣,協助優秀項目的創新與落地.

1900/1/1 0:00:00
K網國際站即將上線LIBRA(Facebook穩定幣)的公告_ETH

尊敬的用戶: K網國際站即將上線Facebook加密項目穩定幣LIBRA,具體上線時間請留意K網國際站公告,敬請期待.

1900/1/1 0:00:00
獨家專訪 | PCHAIN創始人曹鋒:PoS是重要趨勢,Staking未來可期_CHA

近日,在接受火星財經APP專訪時,PCHAIN創始人曹鋒博士分享了自己對POW、POS等共識算法的看法,他談到:POW仍是目前去中心化最好的算法,但是POS會是未來的趨勢.

1900/1/1 0:00:00
Facebook 發幣,美元全球收割機2.0版 | 火星號精選_FACE

作為法學家和納粹黨徒的卡爾·施密特,有一個著名論斷:統治者,是對特殊狀態作出決斷的人。今天,作出決斷的是坐擁全球27億用戶的Facebook創始人:扎克伯格.

1900/1/1 0:00:00
ads