買比特幣 買比特幣
Ctrl+D 買比特幣
ads

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

Author:

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

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

以下內容為譯文:

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

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

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

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

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

Move語言具有第一類資源;

南華早報發布Artifact NFT元數據標準白皮書:金色財經報道,據官方消息,《南華早報》(SCMP)發布了一份白皮書,詳細介紹了其名為Artifact的新NFT元數據標準,該標準將用于鑄造歷史NFT。《南華早報》還宣布在Flow區塊鏈上推出其首個NFT系列,提取自其有著118年歷史的媒體檔案。SCMP表示,Artifact的元數據結構將建立在最初由Dapper Labs創建的Flow區塊鏈上。[2021/11/23 7:05:26]

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

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

一、Move語言的主要特點

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

動態 | Facebook首席運營官或將于10月29日出席美眾議院金融服務委員會聽證會:據The Information消息,社交媒體巨頭facebook的首席運營官謝勒·桑德伯格(Sheryle Sandberg)被邀請于10月29日在美國眾議院金融服務委員會(House of Representatives Financial Services Committee)就Facebook旗下新支付網絡Libra問題出席聽證會。然而,該媒體也稱,在扎克伯格同意于2020年1月前作證之前,該機構才會最終確定聽證會。[2019/10/4]

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

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

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

動態 | 瑞士金融監管局將會對Facebook(FB.O)旗下加密貨幣Libra進行監管:據金十消息,瑞士金融監管局將會對Facebook(FB.O)旗下加密貨幣Libra進行監管。[2019/7/15]

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

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

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

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

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

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

聲音 | 福布斯撰稿人:Facebook會使Libra協會其他成員陷入同樣的用戶信任危機:據cointelegraph消息,福布斯撰稿人,IE大學數字化轉型高級顧問Enrique Dans最近發表了對于Libra計劃的看法,他表示,盡管Facebook聲稱將致力于保護用戶數據安全,并且只是Libra協會100多名會員之一,不會享有特權。但Dans認為,鑒于Facebook關于用戶數據的糟糕歷史,沒有什么能阻止該公司將此類數據貨幣化,Facebook推出Libra的唯一原因是為了充分利用其龐大的用戶基礎。而Facebook的“惡意哲學具有傳染性”,最終會使Libra協會其他成員陷入同樣的用戶信任危機。[2019/7/11]

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

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

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

聲音 | 歐洲議會議員:Facebook或成為“影子銀行”,監管機構應高度警惕:據彭博社報道,法國財政部長Bruno Le Maire和德國的歐洲議會議員Markus Ferber都呼吁對Facebook的區塊鏈項目進行監管審查。Ferber警告稱,擁有超過20億用戶的Facebook可能成為“影子銀行”,監管機構應高度警惕。他表示,在推出虛擬貨幣時,不得允許像Facebook這樣的跨國公司在監管天堂中運營。法國財長則稱,毫無疑問,Libra不可能成為主權貨幣,它不可能也不會發生。[2019/6/19]

資源是語言中的普通值,它們可存儲為數據結構,作為參數傳遞給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:MOVEMOVLIBLIBRA4MOVEMOVONLIBRElibra幣最新價格

以太坊交易
ACE:Facebook加密項目Libra指日可待?需跨越3座大山_libra幣今日行情

值得一提的是,Facebook在印度地區有著相當可觀的用戶數量,僅Whatsapp的用戶量就達到了2億人;此外,印度還有巨額的資金跨境需求.

1900/1/1 0:00:00
LIBRA:肖磊:美國互聯網巨頭宣布發幣,陰謀還是戰略?_區塊鏈

要講清楚Facebook發幣這件事情的歷史意義,我們還得從大家都比較熟悉的領域說起。2017年阿里巴巴年會上,馬云語出驚人,到2036年阿里巴巴要服務20億消費者,創造10億的經濟效益和1億個就.

1900/1/1 0:00:00
RAD:行情分析:比特幣最后的調整,觸底反彈就在一線之間_TRA

凌晨走勢繼續保持震蕩趨勢,晚間筆者給的思路建議在凌晨也能小賺一筆,不過當前走勢有繼續向下的趨勢,小時級別布林帶開口向下打開,MACD指標出現背離現象,目前量能持續流出.

1900/1/1 0:00:00
NTO:Contentos 正式登陸 Binance DEX 測試網上線10天獲近萬鏈上日活躍用戶_msntoken

Contentos(COS)(6/20)正式登陸幣安的去中心化交易平臺BinanceDEX!這個建基于大量亞太及南美洲用戶基礎的明星公鏈項目.

1900/1/1 0:00:00
FACE:Facebook一份白皮書,掩蓋了比特幣10年的努力?_MoniBooks

世有不公之法,我們是要安于循守,還是且改且守、待其功成?或是即刻起而破之?? ——梭羅 01?比特幣的盟友還是對決?北京時間2019年6月18日17點.

1900/1/1 0:00:00
ANC:Binance上市Algorand(ALGO)_Goldyearn.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
ads