加密貨幣交易所 加密貨幣交易所
Ctrl+D 加密貨幣交易所
ads
首頁 > KuCoin > Info

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

Author:

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

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

以下內容為譯文:

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

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

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

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

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

Move語言具有第一類資源;

聲音 | BB:為什么Facebook不構建在區塊鏈上?:Block.one CEO Brendan Blumer今日轉發Facebook CEO馬克.扎克伯格關于“言論自由” 看法的推特,并評論稱:馬克理解人們自由表達看法的重要性,但是為什么Facebook不構建在區塊鏈上呢?難道是有太多東西不能公開透明化? (MEET.ONE)[2019/10/17]

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

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

一、Move語言的主要特點

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

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

聲音 | 美聯儲主席:在Facebook解決監管問題前不應允許推出Libra:據coindesk報道,美聯儲主席杰羅姆鮑威爾周三在眾議院金融服務委員會的聽證會上表示,在Facebook詳細說明如何處理一系列監管問題之前,不應允許其推出加密貨幣Libra。鮑威爾表示,他認為,如果沒有對Facebook處理洗錢問題的方式感到滿意,就無法允許其繼續前進。此外據路透社報道,鮑威爾補充說,Libra也引發了有關金融穩定和消費者保護方面的“許多嚴重擔憂”。美聯儲顯然已經建立了一個跟蹤Libra發展的工作組,并且正在與其他國家的中央銀行合作。[2019/7/11]

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

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

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

動態 | Golem Factory兩大高管離職創立新的非盈利基金會:據CoinDesk報道,以太坊項目Golem Factory的CEO和COO將離開公司,并推出一項名為Golem Foundation的新非盈利計劃。Golem Foundation的目標是追求新的、也許是開創性和實驗性的,同時也是更高風險的方式,以實現Golem和其代幣GNT的價值定位。[2019/6/29]

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

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

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

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

動態 | 法國財長要求Facebook就Libra的問題提供“一些保證”:據Fxstreet消息,就在Facebook發布其備受關注的穩定貨幣白皮書的同一天,法國財政部長Bruno Le Maire發出警告稱Facebook加密貨幣不具備成為主權貨幣的能力。Maire表示,各國政府有權”向Facebook要求一些擔保”,這將明確Libra不會成為現有主權貨幣的競爭對手。穩定幣不應被“轉移到資助恐怖主義或任何其他非法活動”。 Maire還敦促G7成員國央行幫助理解Libra加密貨幣的范圍。Bruno Le Maire擔心,Facebook將有能力收集大量用戶數據,因為加密將持續存在,所有用戶帳戶都需經過KYC驗證。在接受法國新聞網站Europel1的采訪時,Maire繼續說道:“我們必須確保消費者沒有風險,保護消費者是我們國家的職責。”[2019/6/18]

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

聲音 | 幣安周瑋:Facebook區塊鏈計劃的目標或是為了阻止其他人進入其系統:據雅虎財經報道,針對Facebook的區塊鏈計劃,幣安首席財務官周瑋表示,“我懷疑這將是一個封閉的Facebook生態系統,他們的目標是阻止其他人進入其系統,而不是向其他人開放其系統。”Facebook在三月份公開宣布已經成立區塊鏈研究小組,有60多名工作人員在研究這項技術。

據此前報道,紐約時報記者Nathaniel Popper發推表示,“有消息來源透露,Facebook目前正在尋求讓風險投資公司投資于其加密貨幣項目。聽說他們的目標很大,高達10億美元。”[2019/4/26]

最終,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區塊鏈是一種新的編程環境,我們對應支持的習慣用法和模式的理解,仍在不斷發展。目前,源語言還處于開發的早期階段,我們還沒有為它準備好發布時間表。

Tags:MOVMOVELIBLIBRAmovez幣最新價格MOVEY幣libre幣多少錢一個libra幣怎么獲得

KuCoin
比特幣從3000美元沖到9000 我賺到了6倍收益_比特幣:數字資產

摩根大通發幣,孫宇晨456萬美元的巴菲特慈善午餐,Facebook區塊鏈項目Libra出爐,2019年區塊鏈與數字貨幣行業的“大消息”頻頻刷屏,甚至在已經完結的美劇《生活大爆炸》里.

1900/1/1 0:00:00
Binance上市Algorand(ALGO)_NCE:Babylon Finance

親愛的用戶: Binance將于2019年06月22日上午8:00上線Algorand,并開通ALGO/BNB、ALGO/BTC、ALGO/USDT、ALGO/TUSD、ALGO/PAX、ALG.

1900/1/1 0:00:00
比特幣:應用之路坎坷但未來可期_比特幣:Ino Coin

本文是ConnorBrooks發表在ALTCOINMAGAZINE上的文章,由貝寶翻譯。 原文鏈接: https://medium.com/altcoin-magazine/bitcoin-th.

1900/1/1 0:00:00
幣客交易所錢包遷移_加密貨幣:TPS

親愛的用戶 幣客交易所將于6月19日13:00(GMT8)對BTC,USDT,MAID錢包進行遷移,屆時會對以上幣種充提造成影響,預計最長完成時間48h,具體開放時間請等待官網公告.

1900/1/1 0:00:00
趁勢而上 捷璨風險創投哥倫布(鏈游)基金正式啟動_NFT:區塊鏈

2019年6月17日,在CHAINPLUS2019區塊鏈數字游戲創新峰會的會議現場,JCCapital聯合Mixmarvel成立JCVentureColumbusFund(捷璨風險創投哥倫布基金.

1900/1/1 0:00:00
OK戰略副總裁徐坤:Libra是尋求最大公約數的積極探索,合規是應用落地的先決條件_穩定幣:LIB

6月20日,由數字資產研究院(CIDA)與OK聯合主辦的“Libra:一場牽動全球的智慧、技術、經濟、、權利的全方位博弈”沙龍活動在北京舉辦.

1900/1/1 0:00:00
ads