主要內容:
?Cairo1.0開源啦!這僅僅是StarkNet棧開源的第一步。
?我們為讀者帶來了對Cairo1.0編譯器的初步介紹。大家可以開始嘗試使用基本的Cairo1.0代碼了。
?Cairo1.0的核心與Rust非常相似。
?考慮到這是首次測試,而不是正式版本,優化還在進行當中。第一版的編譯器計劃在明年一季度初推出。
?目前,StarkNet還不支持Cairo1.0,需要到明年第一季度,StarkNet才會支持Cairo1.0。
介紹
美聯儲布拉德:美聯儲必須繼續延續當前的加息路徑:金色財經報道,美聯儲布拉德表示,美聯儲必須繼續延續當前的加息路徑;僅僅收緊金融市場環境并不會引發經濟衰退;金融市場壓力當前已經有所緩解;對美聯儲向銀行施壓的措施能夠起效的前景非常樂觀;逆回購措施已一如預期起效;希望見到核心通脹率出現更明晰的下行趨勢;當前銀行業反映信貸需求仍然旺盛。[2023/4/7 13:49:07]
2020年,我們發布了Cairo,它是一種支持可驗證計算的圖靈完備編程語言。Cairo開始時是一種匯編語言,后來逐漸變得更具表達力。兩個月前,我們宣布了Cairo1.0的誕生,它解決了當下一些主要問題:
?自誕生以來,雖然Cairo的語法結構已經有了很大的改進,但開發者的體驗還是有改進的空間的。Cairo1.0是一個受Rust啟發的完全類型語言,編寫同樣的邏輯會更加容易,并且出錯的可能性更低。
美股三大指數小幅收跌,標普500指數跌0.25%,年度累計下跌19.44%:金色財經報道,12月31日,美股三大指數小幅收跌,道指跌0.22%,年度累計下跌8.78%;納指跌0.11%,年度累計下跌33.1%;標普500指數跌0.25%,年度累計下跌19.44%。熱門科技股中特斯拉漲超1%,本年累計下跌65%,亞馬遜本年跌近50%,蘋果、微軟本年跌超20%。[2022/12/31 22:17:20]
?現有的編譯器與StarkNet本身是在同一個repo中開發的,所以追蹤語言變化的困難更大。Cairo1.0編譯器是從頭開始編寫的,所以有更快的功能開發和更多的社區參與。
?現在每一次計算都是可以證明的。目前,一個Cairo程序可能在特定的輸入指令下出現失敗,使計算無法被證明。在Cairo1.0中,程序在每個可能的分支中都是可證明的。這對StarkNet中的DOS保護和抗審查尤為重要。
價值近25億美元的比特幣年終期權將于本周五到期:金色財經報道,本周五(12 月 30 日)將有價值約 24.7 億美元的比特幣年終期權到期,盡管看漲期權數量超過看跌期權,但由于當前加密市場表現不佳,空頭可能會受益。分析顯示,如果比特幣價格在 15,000 美元到 16,000 美元之間,空頭或將獲利 3.4 億美元;在 16,000 美元到 17,000 美元之間,空頭或將獲利 2.4 億美元;在 17,000 美元到 18,000 美元之間,空頭或將獲利 1.1 億美元;在 18,000 美元到 19,000 美元之間,多頭和空頭將達到平衡。(cointelgraph)[2022/12/29 22:13:17]
?今天,我們達到了上述目標方面的第一個里程碑,因為我們將開發工作轉移到了公共repo,并將Cairo1.0開源!現在,開發人員可以編譯和執行簡單的Cairo1.0程序。由此,開發者可以開始嘗試使用Cairo1.0,并逐漸適應新的功能,即使在這個階段,他們還不能在StarkNet上實現。
當前Curve上cbETH與ETH兌換比例為1:0.9603:9月19日消息,據派盾監測顯示,當前Curve上cbETH與ETH兌換比例為1:0.9603,其中cbETH占比達51.54%。
此外Coinbase曾表示,Coinbase Wrapped Staked ETH (cbETH) 價格并不完全等于ETH價格,cbETH代表質押的ETH加上其所有應計的質押利息。[2022/9/19 7:06:06]
目前的性能
目前,你可以編譯和執行基本的原生Cairo程序。雖然許多語法/語言的優化仍在進行中,但你還是可以慢慢去習慣Cairo1.0,享受升級帶來的好處。
請注意,目前仍然無法編寫StarkNet合約。StarkNet語法會在未來幾周內添加。
灰度比特幣信托負溢價達34.09%,創歷史新低:金色財經報道,據Coinglass數據顯示,灰度比特幣信托負溢價達34.09%,創歷史新低。以太坊信托的負溢價達33.96%,ETC信托的負溢價達52.13%,LTC信托的負溢價為38.8%,BCH信托的負溢價為14.02%。[2022/6/20 4:40:34]
代碼示例
為了說明舊的語法和Cairo1.0之間的差異,我們選擇了幾個不同的實現/類型模板來展示找到第n個斐波那契數。
例一:匹配表達式
在Cairo1.0中,你可以使用類似Rust的匹配表達式。你再也不用擔心if/else語句會導致引用撤銷了!
例二:數據類型
Cairo0使用的是felt和指針,而在Cairo1.0中,我們可以在語言中訪問復雜的數據類型。下面你可以看到一個例子,它生成了一個前n個斐波那契數的數組。
如上所示,我們沒有直接使用內存指針,而是使用`Array::<felt>`類型和`array_append`函數。
例三:結構體和所有權
下面的代碼說明了Cairo1.0中結構體的用法。
下面這段話是為Rust開發者準備的。Cairo1.0管理內存的方式與Rust類似。而且,它使用了所有權和借用的概念。因此,通過訪問`FibResult`結構體的一個成員,我們已經移動了`result`,這意味著除非FibResult是可復制的,否則我們不能在`result.index`中再次訪問它。為了解決這個問題,我們在`FibResult`類型中添加了`#`屬性。在未來的版本中,我們會為結構體添加自動解構功能。在不影響其他成員的情況下移動某個成員的所有權。
特別要注意的是,Cairo1.0完全抽象掉了Cairo原有的內存模型。
例四:錯誤傳播
下面的代碼是計算第n個斐波那契數,但與前面的例子不同,所有的輸入指令都是uint128類型的。注意,這解決了Cairo0中處理uint的一個主要痛點。在這里,uint128是原生類型。
兩個128個比特位的整數相加會導致溢出。上面的代碼使用Option枚舉和問號運算符來處理其中一個中間加法中的溢出情況。與目前的uint256加法語法相比,必須調用`unit256_check`函數來保證完整性。此外,在不久的將來,我們會在語言中加入`panic`的概念,像加法溢出這樣的簡單錯誤會是無法捕捉并自動傳播的,也就是說,你在添加uint時不必使用`Option`或`?`。
趕緊試試吧
你現在可以編譯和運行當前支持的Cairo1.0程序了。按照這些說明,學會使用`cairo-run`指令。注意,它的后臺由Lambdaclass開發的RustCairoVM執行指令。
你可以在這里找到更多的例子幫助你入門。請注意,這只是對編譯器開發的第一次測試;未來幾周,我們會隨著編譯器改進CLI。
未來計劃
第一版編譯器的重點是支持Cairo1.0中StarkNet的所有功能,該版本計劃在明年第一季度推出。此外,我們正在努力擴展Cairo1.0編譯器的功能。未來幾周,即將上線:
?StarkNet的性能——編寫智能合約和使用系統調用。
?循環
?新的庫函數
?優化的語言服務器
?StarkNetgas的概念
請務必保持關注并跟蹤編譯器的進展!
Canto第三季線上黑客松已于12月1日正式啟動,旨在為Canto生態輸出更多新項目。Canto是一個基于CosmosSDK打造的L1DeFi公鏈.
1900/1/1 0:00:00YugaLabs攜手HorizenLabs于12月5日正式上線了ApeStake.io網站,也開啟了ApeStaking為期一周的預質押階段.
1900/1/1 0:00:00如果你今年在關注DeFi世界,那么你可能就會發現幾個新出現的趨勢。一種敘事是引導協議擁有流動性方面的創新,另一種敘事是NFT用例擴展到了PFP之外的地方.
1900/1/1 0:00:00距上一次幣安IEO,已過去了9個月,而熊市寒冬顯然無法撲滅人們對幣安IEO造富神話的憧憬。被紅杉和BinanceLabs所捧出的HookedProtocol,用久違的IEO賦予了這個寒冬新的意義.
1900/1/1 0:00:00Binance最近宣布?HookedProtocol?($HOOK)將在其launchpad上進行銷售.
1900/1/1 0:00:00FTX崩潰之后,SBF首次接受語音專訪,AutismCapital擇要整理了20個點,MarsBit編譯整理如下:一“我什至不知道我們的系統是如何運作的。當然不存在什么后門.
1900/1/1 0:00:00