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

DST:詳解Cairo指令-ODAILY_HALO NFT OFFICIAL

Author:

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

1.指令結構

CairoCPU原生支持的word是一個域元素,而這個域是特征值大于P>2^63。每個指令會占用1到2個word,如果指令后面跟著立即值(="12345678")則該指令占用2個word,并且值存在第二個word里。每個指令的第一個word由以下元素組成:

2.狀態轉換

狀態轉換函數代表了一個通用的狀態轉換單元,而一個計算通常會分解成多個連續執行的指令,因此我們需要:

a.確保指令的內容,以及指令執行前后的狀態的有效性

b.確保執行的指令是一個有效的指令

2.1轉換邏輯

如果指令執行前后的狀態是一致的,那么其狀態的更新一定是按照以下邏輯執行:

價值逾3400萬美元的ETH從未知錢包轉移到Coinbase:金色財經報道,數據顯示,北京時間今日11:36, 18,940枚ETH (價值約34,863,236美元) 從未知錢包轉移到Coinbase。[2023/8/7 21:29:08]

2.2指令校驗

如圖1所示,?個指令由以下元素組成:

波卡DeFi衍生品協議Bifrost推出生態基金BIFROST Ecosystem Fund:1月30日消息,波卡DeFi衍生品協議Bifrost宣布推出生態基金BIFROST Ecosystem Fund,旨在培育并推動生態系統發展,激勵生態系統上多個DApp 的開發,為基于Bifrost生態的項目提供支持。最近,Bifrost還推出了其主網Bifrost Network,為用戶構建更易于使用的多鏈體驗并引入高級橋接功能,支持任何跨鏈交易失敗時自動回滾交易,將交易恢復到原始狀態以防止資產丟失。[2023/1/30 11:36:08]

3.指令示例

3.1斷言相等

斷言相等指令可以用下述語法表示:

<left_handle_op>=<right_handle_op>

它確保了公式兩邊是相等的,否則程序的執行將會被返回。

Note2:除法和減法可以分別表示為具有不同操作數順序的乘法和加法。

assert指令可以被認為是一條賦值指令,其中?邊是已知的,另一邊是未知的。例如=4可以被認為是斷言的值為4,或者根據上下文將賦值為4。

Ronin Bridge恢復運營,用戶可以存取代幣:9月17日消息,Ronin Bridge恢復運營,用戶可以存取代幣。取款將轉移PoS支持的以太坊,跨鏈橋不支持提款到任何其他鏈。[2022/9/17 7:03:23]

圖4給出了斷言相等指令的一些示例,以及每個指令對應的標志值:

解釋指令=5:

?為assert指令=>opcode=4

?next_ap=ap=>ap_update=00=0

?next_pc=pc+instruction_size=>pc_update=000=0

?op0和op1沒有addormul=>res_logic(res)=00=0

?存在立即數=>op1_src(op1)=001=1

?立即數地址指令地址相鄰=>off_op1=1

?等式左邊=>dst_reg(dst)=1

?等式左邊=>off_dst=1

NFT鑄造平臺Fair.xyz與OpenSea合作推出靈魂綁定代幣Minter Token:9月8日消息,針對創作者的NFT鑄造平臺Fair.xyz與OpenSea合作推出靈魂綁定代幣Minter Token,以作為創作者與OG社區互動的新方式,它可直接集成到智能合約中,允許為NFT項目的鑄幣者構建封閉式體驗,并兼容所有歷史、現在和未來的NFT。其中用戶可進行免費Claim,前500名免Gas費,同時可通過分享Minter Token以參與RTFKT贈品的抽獎活動。[2022/9/8 13:15:39]

?op0_reg/off_op0=>initalvalue(1/-1)//因為這個指令用不到這些flags,所以填充默認值

3.2條件和非條件跳轉

jmp指令允許更改程序計數器pc的值。

Cairo支持相對跳轉和絕對跳轉-分別用關鍵字rel和abs表示;jmp指令或許是有條件的,比如當某個內存單元的值不為0時,觸發jmp指令。

指令的語法如下所示:

#Unconditionaljumps.

jmpabs<adress>

jmprel<offset>

安全團隊:DHE項目已被確認為Rug Pull跑路項目:金色財經消息,據CertiK安全團隊監測,DHE項目已被確認為Rug Pull跑路項目。

北京時間2022年6月21日凌晨6:27:17,DHE 代幣價格下跌超過91 %。目前損失總額約為14.2萬美元。[2022/6/21 4:41:46]

#Conditionaljumps.

jmprel<offset>if<op>!

圖5給出了jmp指令的一些示例,以及每個指令對應的標志值:

解釋指令jmprel+:

?為jmp指令=>opcode=0

?next_ap=ap=>ap_update=b00=0

?next_pc=pc+res=>pc_update=b010=2

?res=op0+op1=>res_logic(res)=b01=1

?op1:=>op1_src(op1)=b010=2

?op1:=>off_op1=-7

?op0:=>op0_src(op0)=0

?op0:=>off_op0=1

?dst_reg/off_dst=>initalvalue(1/-1)///因為這個指令用不到這些flags,所以填充默認值

3.3call和ret

call和ret指令允許實現函數堆棧。call指令更新程序計數器(pc)和幀指針(fp)寄存器。程序計數器的更新類似于jmp指令。之前fp的值被寫入,以允許ret指令將fp的值重置為調用之前的值;類似地,返回的pc(調用指令后面指令的地址)被寫到,以允許ret指令跳回并繼續執行調用指令后面的代碼的執行。由于寫入了兩個存儲單元,ap向前進了2,fp被設置為新的ap。

指令的語法如下:

callret<adress>

callrel<offset>

ret

圖6給出了call和ret指令的一些示例,以及每個指令對應的標志值:

解釋指令callabs:

?為call指令=>opcode=0

?next_ap=ap=>ap_update=b00=0

?next_pc=res=>pc_update=b001=1

?res=op1=>res_logic(res)=b00=0

?op1:=>op1_src(op1)=b010=2

?op1:=>off_op1=4

?op0_reg/off_op0=>initalvalue(0/1)///因為這個指令用不到這些flags,所以填充默認值

?dst_reg/off_dst=>initalvalue(0/0)///因為這個指令用不到這些flags,所以填充默認值

3.4高級ap

指令ap+=<op>通過給定的操作數增加ap的值。

圖7給出了高級ap指令的一些示,以及每個指令對應的標志:

解釋指令ap+=123:

?為advancingap指令=>opcode=0

?next_ap=ap+res=>ap_update=b01=1

?next_pc=pc+instruction_size=>pc_update=b000=0

?res=op1=>res_logic(res)=b00=0

?op1=123=>op1_src(op1)=b001=1

?op1=123=>off_op1=1

?op0_reg/off_op0=>initalvalue(1/-1)///因為這個指令用不到這些flags,所以填充默認值

?dst_reg/off_dst=>initalvalue(1/-1)///因為這個指令用不到這些flags,所以填充默認值

關于我們

Sin7y成立于2021年,由頂尖的區塊鏈開發者組成。我們既是項目孵化器也是區塊鏈技術研究團隊,探索EVM、Layer2、跨鏈、隱私計算、自主支付解決方案等最重要和最前沿的技術。

微信公眾號:Sin7Y

GitHub|Twitter|Telegram|Medium|Mirror|HackMD|HackerNoon

Tags:RESOFFDSTNEXOmniunit Cash FeaturesHALO NFT OFFICIALSDST價格CNEX價格

中幣下載
USD:波場去中心化超抵押穩定幣USDD正式登陸HitBTC交易平臺-ODAILY_TRO

據最新消息,波場去中心化超抵押穩定幣USDD正式登陸HitBTC交易平臺。HitBTC現已支持USDD交易和質押,目前年利率為21%.

1900/1/1 0:00:00
ADO:波卡生態周報:波卡首屆北美黑客松拉開帷幕,波卡國庫探索助推生態新方式-ODAILY_polkadot100

Polkadot生態研究院出品,必屬精品波卡一周觀察,是我們針對波卡整個生態在上一周所發生的事情的一個梳理,同時也會以白話的形式分享一些我們對這些事件的觀察.

1900/1/1 0:00:00
DAO:JZL Capital區塊鏈行業周報第31期:經濟數據未達預期,反彈中段謹慎fomo-ODAILY_NFTD幣

本周概覽 -FOMC宣布加息75個基點,二季度GDP持續負增長,但股市為什么反彈?-Kucoin推出使用NFTETFs購買NFT的方式.

1900/1/1 0:00:00
KING:波卡Staking改進路線圖中關鍵功能的提名池是什么?(上)-ODAILY_KIN

“波卡知識圖譜”是我們針對波卡從零到一的入門級文章,我們嘗試從波卡最基礎的部分講起,為大家提供全方位了解波卡的內容,當然這是一項巨大的工程,也充滿了挑戰.

1900/1/1 0:00:00
tron:波場TRON進展周報(2022.07.09-2022.07.15)-ODAILY_TronLink官方下載

過去的一周,波場TRON項目進展順利,為滿足波場TRON全球社區愛好者閱讀,本周周報共分為14種語言,請您選擇閱讀.

1900/1/1 0:00:00
RON:波場TRON TVL位列全球公鏈前三-ODAILY_TRO

作為全球最受歡迎的公鏈之一,波場TRON自創立以來始終保持高速發展,生態建設全面開花,各項數據突飛猛進。我們整理了波場TRON取得的輝煌成就,與大家共同見證波場TRON的發展歷程.

1900/1/1 0:00:00
ads