比特幣交易所 比特幣交易所
Ctrl+D 比特幣交易所
ads

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

Author:

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

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

以下內容為譯文:

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

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

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

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

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

Move語言具有第一類資源;

Facebook考慮推出數字錢包的同時構建 NFT 功能:8月25日消息,Facebook正在考慮構建與NFT相關的產品和功能。Facebook高管David Marcus周二在接受采訪時表示:“我們肯定正在研究參與該領域的多種方式,因為我們認為我們處于非常有利的地位。”Marcus領導F2或Facebook Financial,這是開發公司Novi數字錢包的內部團隊。他說,那個錢包可以用來存放NFT。他并沒有更具體地說明Facebook可能會開發什么樣的NFT相關產品。Facebook的數字錢包“現在已經準備好了”,但該公司一直在等待推出它,直到它能與Diem一起推出,Diem是一種以前稱為Libra的數字貨幣。Marcus表示,Facebook將考慮推出沒有Diem的Novi錢包“作為最后的手段”,但他認為這兩者對于改變人們的支付方式都是必要的。(BNN)[2021/8/25 22:35:24]

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

動態 | 加密資產Nym公布分散式身份識別系統新代碼 可與Facebook登錄應用程序競爭:據CoinDesk 消息,專注于隱私的Nym技術公司本周公布了其分散式身份識別系統的新代碼。它計劃在今年秋天發布測試網。周二在柏林舉行的Web3峰會上,Nym首席執行官Harry Halpin表示,這項技術代表了“下一代隱私基礎設施”,不僅適用于區塊鏈,而且適用于整個網絡。實際上,Halpin認為,Nym網絡的一個關鍵特性就是它是區塊鏈無關的。Halpin說:“我們正在開源我們的實現,它內置了與以太坊區塊鏈的通信。”“我們允許將以太坊區塊鏈中特定令牌的值轉換為Nym憑據。”如果成功,這一舉措將把Nym的數據屏蔽功能帶給世界上幾乎任何區塊鏈平臺的隱私用戶。Halpin認為,Nym可以與Facebook及其單一登錄應用程序Facebook Connect競爭,將用戶數據隱私重新交到用戶手中。[2019/8/22]

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

動態 | Charlie Shrem反對Facebook的政策和GlobalCoin的核心理念:據AMBCrypto消息,加密社區對GlobalCoin的意見分歧導致了對Facebook首席執行官馬克·扎克伯格的攻擊,當Facebook隱私泄露丑聞發生時,扎克伯格的聲譽遭受打擊。比特幣傳播者、BitcoinFoundation.org創始人Charlie Shrem也持有這種觀點,他反對Facebook的政策和GlobalCoin的核心理念。“我認為‘FacebookCoin’是大型科技公司、銀行和信用卡公司的一種嘗試,旨在吸引人們從比特幣轉向其‘更好、更簡單的加密貨幣’,這不過是一種偽裝成加密貨幣的法定幣。數百萬人將被愚弄。” GlobalCoin最近也出現在新聞中,CNBC Crypto Trader主持人Ran NeuNer稱馬克·扎克伯格將成為“非民選獨裁者”。盡管該加密貨幣的發布日期仍未確定,但GlobalCoin已經獲得了足夠的吸引力,迫使整個加密貨幣開始關注。[2019/6/16]

一、Move語言的主要特點

動態 | Facebook任命新區塊鏈部門工程總監 將更好的研究加密貨幣:據CCN消息,社交媒體巨頭Facebook最近將高級工程師鄭世勛提升為區塊鏈部門的工程總監。今年早些時候,馬克·扎克伯格在Facebook上發帖稱,今年他將接受個人挑戰,研究加密貨幣,他表示,加密貨幣技術盡管能夠“把更多的權力下放到人民手中”,但也存在風險,通過正視,研究這些技術的積極和消極方面,這會讓我們更好的在服務中使用它們(加密貨幣技術)。今年早些時候,Facebook取消了在其平臺上發布加密貨幣廣告的禁令。[2018/7/8]

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

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

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

Facebook有意發行加密貨幣 促進平臺交易:據科技博客TheVerge北京時間5月12日報道,Facebook計劃推出自主加密貨幣。目前,有關Facebook開發自主加密貨幣的細節還不多,但是據稱該公司尤其專注于使用加密貨幣促進平臺上的支付交易。考慮到Facebook的龐大用戶群以及網站上現有提供商品買賣的網絡平臺,這可能是該公司的一個巨大轉變。[2018/5/12]

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

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

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

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

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

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

Tags:MOVMOVEBOOKACEMOVD價格MarketMoveQuantbookLACE幣

歐易交易所
Facebook發幣 這些細節和冷知識千萬別錯過了_FACE

隨著Facebook的穩定幣項目Libra白皮書的發布,外界對Libra的關注也達到極熱的水平,甚至登上了微博和知乎的熱搜榜單.

1900/1/1 0:00:00
UZone區塊鏈顏值經濟的締造者_ZONE

高顏值不僅會讓一個人在生活中獲得更多的關注,在未來還將會直接帶來金錢上的收益,而都將會在區塊鏈+顏值經濟的結合下變為現實.

1900/1/1 0:00:00
總統候選人不看好Libra 但美聯儲主席對其抱有很高期望_BOO

據CNBC報道,美聯儲主席杰羅姆·鮑威爾表示Facebook在發布Libra加密項目之前與美聯儲有過接觸.

1900/1/1 0:00:00
Facebook加密貨幣項目Libra白皮書(簡體中文版)_BOOK

第一部分:簡介 Libra的使命是建立一套簡單的、無國界的貨幣和為數十億人服務的金融基礎設施。本白皮書概述了我們努力打造一個新的去中心化區塊鏈、一種低波動性加密貨幣和一個智能合約平臺的計劃,以期.

1900/1/1 0:00:00
從 Move 語言的設計看 Facebook 的開放式金融_ION

接上文。 Facebook如期上線了FBCoin的官網和白皮書,官宣里還放了幾個錢包的截圖,可謂吊足了人們的胃口。坊間已經有了各種討論了1,各種陰謀論2也緊隨其后.

1900/1/1 0:00:00
ZB.com關于支持ENT主網切換及開放ENT提幣的公告_COM

尊敬的ZB用戶: 根據ENT基金會官方公告,區塊鏈內容分發平臺ENT升級為應用型公鏈ENTChain,原QRC標準的代幣將切換為ERC20代幣,官方已開啟切換主網與更換代幣工作.

1900/1/1 0:00:00
ads