主要內容:
?Cairo1.0開源啦!這僅僅是StarkNet棧開源的第一步。
?我們為讀者帶來了對Cairo1.0編譯器的初步介紹。大家可以開始嘗試使用基本的Cairo1.0代碼了。
?Cairo1.0的核心與Rust非常相似。
?考慮到這是首次測試,而不是正式版本,優化還在進行當中。第一版的編譯器計劃在明年一季度初推出。
?目前,StarkNet還不支持Cairo1.0,需要到明年第一季度,StarkNet才會支持Cairo1.0。
介紹
a16z CTO:“橙球”謎語推文并非是要推出L2:4月19日消息,a16z 首席技術官 Eddy Lazzarin 回應 a16z 工程師 ncitron.eth 發布的“橙色圓球”即將推出謎語推文稱,這并非 L2。a16z 工程師 ncitron.eth 發布橙球推文后,與 Optimism 圖像的相似性導致交易者猜測 a16z 可能計劃推出自己的 Layer2 區塊鏈,OP Token 此后上漲 3%。
此前報道,Coinbase 于 2 月份發布包含藍色圓球的推文,并基于 OP Stack 構建了一個全新 L2 區塊鏈 Base。(CoinDesk )[2023/4/19 14:12:34]
2020年,我們發布了Cairo,它是一種支持可驗證計算的圖靈完備編程語言。Cairo開始時是一種匯編語言,后來逐漸變得更具表達力。兩個月前,我們宣布了Cairo1.0的誕生,它解決了當下一些主要問題:
Kraken將解除價值超過10億美元的ETH質押:金色財經報道,Nansen數據顯示,在上海升級引入ETH取款功能后,加密交易所Kraken已要求提取超過55.6萬枚ETH(價值10億美元),占目前排隊等待取款的86萬枚ETH的63.5%。Kraken此前宣布,由于監管原因,它將自動開始為其美國客戶解除所有以太幣的質押。此前,美國證券交易委員會(SEC)指控Kraken未能在美國注冊其質押計劃,Kraken同意支付3000萬美元的罰款。[2023/4/14 14:02:39]
?自誕生以來,雖然Cairo的語法結構已經有了很大的改進,但開發者的體驗還是有改進的空間的。Cairo1.0是一個受Rust啟發的完全類型語言,編寫同樣的邏輯會更加容易,并且出錯的可能性更低。
?現有的編譯器與StarkNet本身是在同一個repo中開發的,所以追蹤語言變化的困難更大。Cairo1.0編譯器是從頭開始編寫的,所以有更快的功能開發和更多的社區參與。
鮑威爾:考慮過暫停加息,但加息的決定得到了很強的共識支持:金色財經報道,美聯儲主席鮑威爾表示,我們考慮過暫停加息,但加息的決定得到了很強的共識支持。[2023/3/23 13:20:46]
?現在每一次計算都是可以證明的。目前,一個Cairo程序可能在特定的輸入指令下出現失敗,使計算無法被證明。在Cairo1.0中,程序在每個可能的分支中都是可證明的。這對StarkNet中的DOS保護和抗審查尤為重要。
?今天,我們達到了上述目標方面的第一個里程碑,因為我們將開發工作轉移到了公共repo,并將Cairo1.0開源!現在,開發人員可以編譯和執行簡單的Cairo1.0程序。由此,開發者可以開始嘗試使用Cairo1.0,并逐漸適應新的功能,即使在這個階段,他們還不能在StarkNet上實現。
Binance Connect與加密錢包SafePal達成合作關系,SafePal用戶可直接購買加密資產:金色財經消息,據幣安官方公告,由幣安支持的支付基礎設施提供商Binance Connect宣布與加密錢包SafePal建立新的合作伙伴關系。SafePal中的用戶將能夠使用他們的信用卡/借記卡通過Binance Connect直接購買200多種加密貨幣資產。[2022/9/1 13:02:33]
目前的性能
目前,你可以編譯和執行基本的原生Cairo程序。雖然許多語法/語言的優化仍在進行中,但你還是可以慢慢去習慣Cairo1.0,享受升級帶來的好處。
請注意,目前仍然無法編寫StarkNet合約。StarkNet語法會在未來幾周內添加。
代碼示例
加密公司 Tiptop Labs 完成 2300 萬美元 A 輪融資,a16z 領投:金色財經消息,Postmates 創始人 Bastian Lehmann 成立的加密貨幣公司 Tiptop Labs 在 5 月份完成 2300 萬美元 A 輪融資,Andreessen Horowitz(a16z)領投,參投方包括 Sam Altman、Naval Ravikant、Gokul Rajaram、Scott Banister、Cyan Banister、Nabeel Hyatt、Dan Romero、Jude Gomila、Sean Plaice、Andy McLoughlin、Jeff Clavier、Vivek Patel 等。
4 月份,Bastian Lehmann 準備成立加密貨幣公司,并已于 2 月在美國特拉華州注冊一家名為 Tiptop Labs 的公司。 據 Tiptop Labs 信息顯示,該公司計劃建立一個將法定貨幣與加密貨幣聯系起來的金融解決方案。[2022/6/10 4:15:15]
為了說明舊的語法和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的概念
請務必保持關注并跟蹤編譯器的進展!
OptimisticRollup項目并不一定會輸給ZKRollup項目從目前看,以太坊L2技術演化中,Rollup成為其最重要的方向.
1900/1/1 0:00:00和許多加密推特用戶一樣,我上周花了太多時間觀看FTX新聞。我一直在關注揭露的信息,對有關公司文化的披露翻白眼。這是一種表達憤怒和懷疑的集體儀式,這是可以理解的.
1900/1/1 0:00:00核聚變工業協會?(FIA)?最新發布的報告顯示,過去一年,核聚變領域的私人投資額已經接近30億美元,一年的投資額超過了此前的投資總和.
1900/1/1 0:00:0011月23日,ConsenSys更新關于收集用戶IP的聲明。聲明說當用戶在MetaMask中使用Infura作為默認RPC?時,將在用戶發送交易時收集對應的IP地址和ETH地址.
1900/1/1 0:00:00本文篇幅較長,如果不想深入探討,可以看總結。金錢不是最終的回報--人脈與文化才是。社會和文化資本增長緩慢但持續時間長。為了滿足下一輪牛市,加密的獎勵必須從“快餐”轉變為“慢食獎勵”.
1900/1/1 0:00:00像世界各地的數百萬人一樣,我在全球大流行病期間進入了Web3。雖然我是一個書呆子,但我從來不是一個技術愛好者,而隔離是一個向自己證明我也可以學習技術的絕佳機會.
1900/1/1 0:00:00