撰文:Sui Network
本文將為開發人員在 Sui Network 上的最佳實踐做快速參考。
Sui 是基于第一原理重新設計和構建而成的 L1 公有鏈,旨在為創作者和開發者提供能夠承載 Web3 中下一個十億用戶的開發平臺。Sui 上的應用基于 Move 智能合約語言,并具有水平可擴展性,讓開發者能夠快速且低成本支持廣泛的應用開發。Sui 主網已于 2023 年 5 月 3 日正式上線。
閱讀有關包升級的詳細信息并編寫對升級友好的代碼。
包是不可變的,有漏洞的包代碼可以永遠調用,解決方案是在對象層面添加保護。
如果將包從 P 升級到 P',依賴于 P 的其他包和客戶端將繼續使用 P,而不是自動更新到 P'。因此,依賴于包和客戶端的代碼都必須更新以明確地指向 P'。
Sui 8192推出新功能,允許玩家銷毀舊Sui 8192 NFT以獲得SUI返還:7月27日消息,Sui生態鏈游Sui 8192推出新功能SUI storage rebate,支持玩家銷毀舊的Sui 8192 NFT來獲得SUI返還,且不會影響玩家在Bullshark Quest中的排名。玩家可在最新版本的Sui 8192智能合約中的Burn Games選項進行操作。[2023/7/27 16:01:48]
期望被依賴包擴展的包,可以通過提供符合所有版本標準的(不變的)接口,來避免每次升級時破壞它們之前的擴展。以 Wormhole 跨鏈橋為例,通過 Wormhole 作為橋梁發送消息,要想生成發送消息的擴展包,可以使用任意版本 Wormhole 包中的 prepare_message 指令來生成 MessageTicket,而發送消息的客戶端代碼必須將該 MessageTicket 傳遞到最新版本包中的 publish_message。
金融科技公司Valor與Bitcoin Suisse合作擬在瑞士市場推出數字資產ETP:7月19日消息,金融科技公司Valor宣布已與加密技術公司Bitcoin Suisse達成合作,擬在瑞士市場推出1:1支持的數字資產交易所交易產(ETP)。Valor已于6月15日推出了首個實物數字資產支持的ETP 1Valor Bitcoin Physical Carbon,該產品相應的數字資產均存儲在受監管的托管服務提供商。[2023/7/19 11:03:46]
public 函數不能刪除或更改,但 public(friend) 函數可以。您可以自由地使用 public(friend) 或僅自己可見功能,除非您要將現在的庫函數永遠公開。
不能刪除 struct 類型、不能添加新字段(盡管您可以添加動態字段)或通過升級新功能。添加新類型時請謹慎思考,一旦添加后將永遠存在!
Sui Network將于今日發布主網v1.3.0:6月15日消息,Sui Network更新Sui Devnet、測試網及主網的發布時間表,該表顯示Sui將于今日(6月15日)發布主網v1.3.0。此外,下周將于6月20日發布Devnet v1.4.0 ,6月21日發布測試網v1.4.0。[2023/6/15 21:39:51]
使用 vector 支持的集合(如 vector, VecSet, VecMap, PriorityQueue),最多不超過 1000 個數據項。
使用動態字段支持的集合(如 Table、Bag、ObjectBag、ObjectTable、LinkedTable)用于任何允許第三方添加的集合、更大的集合和未知大小的集合。
Sui Move 對象最大為 250KB——任何創建更大對象的嘗試都將導致事務中止,請確保您的對象沒有不斷增長大過 vector 支持的集合。
Sui基金會任命Greg Sioourounis擔任總經理:金色財經報道,Sui基金會宣布任命Greg Sioourounis擔任總經理,他將領導執行基金會通過推出Sui Layer 1區塊鏈及其他項目來支持Sui社區的工作,包括監督旨在加速開發人員成長的計劃、對公眾進行Sui區塊鏈技術教育、組織開發人員和建設者活動,以及將基金會與Sui社區整合。Greg Sioourounis曾在布朗大學和伯羅奔尼撒大學任教,并且創立了開放式基金結構和外匯市場高頻交易算法公司Capital Stream Management S.A.。(streetinsider)[2023/4/17 14:09:11]
如果您的函數 f 需要來自調用者的付款,例如使用 SUI ,請使用 fun f(payment: Coin) 函數而不是 fun f(payment: &mut Coin, amount: u64) 函數。這對調用者來說更安全,因為他們可以準確地知道具體支付數額,并且不需要依靠函數 f 來提取正確的數額。
Sui Network現已結束Testnet Wave 1:12月2日消息,Layer1公鏈Sui Network 現已結束側重獨立驗證者的Sui Testnet Wave 1,即將分享有關Testnet Wave 2的更多信息。
此前報道,Mysten Labs開發的Layer1公鏈Sui宣布啟動測試網Testnet Wave 1,該測試網側重于運營商,特別是驗證者和全節點運營方。從Devnet(開發者網絡)到Testnet Wave 1的最大進步是包含了獨立驗證者。在Devnet下,Mysten Labs運行四個驗證者來驗證網絡上的交易,而Testnet Wave 1包括從申請流程中篩選出來的20個第三方驗證者和500多個由Mysten Labs和選定的社區成員共同運營的全節點。[2022/12/2 21:16:56]
不需要小幅度優化 gas 消耗。在 Sui 上計算花費成本時,使用四舍五入的方法計算出其最接近的 bucket,因此只有非常劇烈的波動才會導致 gas 的變化。特別是,如果您的交易已經在最低成本范圍內,那就不能更便宜了。詳情請參照下圖。
遵循 Move 編碼慣例(Move coding conventions)來獲得統一的式樣。
使用 display 標準自定義您的對象在錢包、應用程序和瀏覽器中的顯示方式。
避免使用「自我轉移」功能——任何時候都有可能,從當前函數返回 obj,而不是寫入 transfer::transfer(obj, tx_context::sender(ctx)),這允許調用者或可編程交易塊(programmable transaction block)使用 obj。
使用 sui::test_scenario`模擬多次交易和多位發送者的測試場景。
使用 sui::test_utilsmodule 通過 assert_eq 測試獲得更好的糾錯消息,通過 print 調試打印,以及通過 destroy 進行 test-only 銷毀。
使用 sui move test --coverage 計算測試時代碼覆蓋的信息,使用 sui move coverage source --module 查看以紅色突出顯示的未覆蓋行。如果可行,建議將覆蓋率設置為 100%。
為了獲得最佳性能和數據一致性,應用程序應該在同一個全節點上提交寫入和讀取請求。在 TS SDK 中,這意味著應用程序應使用錢包的 signTransactionBlock API,然后通過調用應用程序全節點上的 execute_transactionBlock 來提交交易,而不是使用錢包的 signAndExecuteTransactionBlock API。這確保了先寫后讀的一致性——從應用程序的全節點讀取將立即反映事務的寫入,而不是等待 checkpoint。
為了降低延遲,如果您的應用程序需要知道交易已確認,但不需要立即查看交易效果或讀取交易寫入的對象 / 事件,請使用帶有"showEffects": false 和"showEvents": false 的 executeTransactionBlock。
應用程序應該將頻繁讀取的數據本地緩存,而不是從全節點頻繁抓取。
盡可能地使用可編程交易塊(programmable transaction blocks)來組合現有的鏈上功能,而不是發布新的智能合約代碼。可編程交易塊允許大規模批次處理和異構組合,進一步降低已經很低的 gas 費。
應用程序應該將對 gas 預算、gas 價格和 coin 選擇權留給錢包,這將為錢包提供了更大的靈活性,并且錢包有責任試運行交易以確保交易不會失敗。
永遠不要簽署兩筆觸及同一獨享對象的并發交易,要么單獨使用獨享對象,要么等待一筆交易結束后再發送下一筆交易。違反此規則可能會導致客戶端模棱兩可,從而同時鎖定兩個交易中涉及的獨享對象,直到當前 epoch 結束。
任何發起交易的 sui client 命令(例如 sui client publish、sui client call)都可以接受 --serialize-output 標志以輸出要簽名的 base64 交易。
Sui 支持多種簽名方案(signature schemes)進行交易簽名,包括包括本機多重簽名。
Sui World
個人專欄
閱讀更多
金色薦讀
金色財經 善歐巴
Chainlink預言機
區塊律動BlockBeats
白話區塊鏈
金色早8點
Odaily星球日報
歐科云鏈
MarsBit
深潮TechFlow
前美國總統特朗普最開始或許都沒想到,原來自己在加密貨幣圈子這么受歡迎——盡管他曾經對該行業發表過不那么友好的言論.
1900/1/1 0:00:00近期,Bitget 進行了一項關于人口年齡層變化與不同世代周期,對于加密資產持有率發展進程的研究.
1900/1/1 0:00:00出品:ThePrimediaDAO作者:Jerry@ThePrimedia,0xLeon我們已經感受到香港Web3的敘事正在Onchain Real World Assets(鏈上現實世界資產).
1900/1/1 0:00:00作者:chengshutong一、初聞Ordinals、BTC-NFT、BRC-20這部分是概念的堆砌,雖然可以幾句話講明白,但是還是想從原理的角度,將每一個知識點穿起來.
1900/1/1 0:00:00Curve穩定幣crvUSD正式上線加入穩定幣大戰。Curve Finance 5月4日發推表示,crvUSD智能合約正式部署在以太坊主網上,但與crvUSD 智能.
1900/1/1 0:00:00原文作者:Jaleel、Leo,BlockBeats4 月 20 日,Helium 宣布已正式完成向 Solana 網絡的遷移,然而社區反應卻是一片唏噓.
1900/1/1 0:00:00