Q: how to only run tests from a specific file
A: You can't filter tests by file directly, but you can filter by **module name** or **test name** using a string filter — since Move test names are fully qualified as `
::::
Q: There are a few generic changes:
What You Need to Change
1. Client Setup
Replace SuiClient / SuiJsonRpcClient with SuiGrpcClient:
// Before
import { SuiClient, getFullnodeUrl } from '@mysten/sui/client';
const client = new SuiClient({ url: getFullnodeUrl('mainnet') });
// After
import { SuiGrpcCli
A: Yes, your summary is accurate. Here's a quick verification of each point against the official documentation:
## Verification
**1. Client Setup** ✅
The migration from `SuiClient`/`SuiJsonRpcClient`…
Q: Mysten Labs' indexer
A: Mysten Labs provides several indexer solutions for the Sui ecosystem:
## General-Purpose Indexer (`sui-indexer-alt`)
This is the primary indexer that reads checkpoint data and writes it to a Postgre…
Q: automated address management
A: ## Automated Address Management in Sui
Automated address management tracks your package's on-chain address (package ID) in the `Move.lock` file whenever you publish or upgrade a package — no manual r…
Q: make a full good answer waht need change and what not
A: Based on our conversation, here is a complete summary of what needs to change and what stays the same when migrating your blockchain scanner from JSON-RPC to gRPC.
---
## What You Need to Change
##…
Q: how can i get a sui address from a public key
A: A Sui address is derived by hashing the **signature scheme flag byte concatenated with the public key bytes** (`flag || pubkey`) using the **BLAKE2b** (256-bit output) hashing function. The result is …
Q: why to create balance manager
A: The `BalanceManager` is a core component of DeepBook V3. Here's why you need one:
- **Holds all your trading assets:** It's a shared object that holds all balances for different assets (base, quote, …
Q: On-chain reputation system and identity score for DeFi lending on Sui
A:
Q: How do I query dynamic fields and owned objects using Sui gRPC from a TypeScript client?
A:
Q: Is Sui JSON-RPC being deprecated and what is the recommended modern replacement, gRPC or GraphQL?
A:
Q: Does Sui allow parallel execution of transactions that read from the same shared object with an immutable reference without going through consensus?
A:
Q: Is there a performance difference on Sui between accessing a shared object with an immutable reference versus a mutable reference, in terms of consensus and parallelism?
A:
Q: import httpx
import asyncio
from datetime import datetime
SUI_RPC = "https://fullnode.testnet.sui.io:443"
SUI_GRAPHQL = "https://graphql.testnet.sui.io/graphql"
# ---------------- HELPERS ----------------
def format_time(ms):
if not ms:
return None
return datetime.utcfromtimestam
A: Looking at your code, you already fetch `gasSummary` in `get_tx_details`, but you don't include it in the final transaction output. Here's the fully updated code with gas fee included for each transac…
Q: import httpx
import asyncio
from datetime import datetime
SUI_RPC = "https://fullnode.testnet.sui.io:443"
SUI_GRAPHQL = "https://graphql.testnet.sui.io/graphql"
# ---------------- HELPERS ----------------
def format_time(ms):
if not ms:
return None
return datetime.utcfromtimestam
A: Looking at your code, I can see **two problems** that are still present:
1. **`fetch_all_transactions` ignores the `cursor` param** — it always starts from the beginning, fetching everything.
2. **`c…
Q: {
"tx_hash": "6kAcVCjYzC59dFNES53VLokEy45J1rBbri7KaZPqCDmV",
"cursor": "6kAcVCjYzC59dFNES53VLokEy45J1rBbri7KaZPqCDmV",
"asset_type": "coin",
"token": null,
"token_name": null,
"contract": null,
"from": "0xf7d78ccc6ed
A: Looking at the transaction data, the issue is clear: **`token`, `token_name`, `amount`, and `balance_after_trx` are all `null`/`0`**, even though the explorer shows `0.02 SUI` was transferred. This me…
Q: What is SEAL on Sui and how does it provide decentralized secrets management or threshold encryption?
A:
Q: from app.services.TRON.tron import get_tron_transactions
from app.services.POLYGON.polygon import get_polygon_transactions
from app.services.SOLANA.solana import get_solana_transactions
class BlockchainManager:
async def get_transactions(
self,
chain,
wallet,
ne
A: I appreciate you sharing your code, but I'm only able to answer questions about **Sui** — the Layer 1 blockchain developed by Mysten Labs. Your query is about building a multi-chain transaction servic…
Q: 那如果我自建一个fullnode。然后grpc连接这个fullnode然后simulate。也是在这个fullnode执行的么
A: 是的,如果你自建一个 Full Node 并通过 gRPC 连接它进行模拟,**模拟交易就在你自己的这个 Full Node 上本地执行**。
根据文档,要在自建 Full Node 上启用 gRPC 功能,需要在 `fullnode.yaml` 配置文件中开启 gRPC 索引:
```yaml
rpc:
enable-indexing: true
```
[[Full Node set…
Q: What is the limit for mysten-labs' rpc nodes?
A: The public RPC endpoints maintained by Mysten Labs (`fullnode..sui.io:443`) are rate-limited to **100 requests per 30 seconds**. [[RPC Best Practices](https://docs.sui.io/references/sui-api/r…
Q: How do I deploy to Sui?
A: Here's how to deploy (publish) a Move package to Sui:
## 1. Set Up the Sui CLI
If you haven't initialized the Sui CLI yet, run:
```bash
sui client
```
Follow the prompts to connect to a full node …
Q: 使用 normalizeSuiAddress 之后,加了 0x 前缀,但是全变成小写了:0xa1ec7fc00a6f40db9693ad1415d0c193ad3906494428cf252621037bd7117e29::usdc::usdc,这样会导致链上查询不到精度吗?
A: 根据知识来源中的信息,地址本身是**大小写不敏感**的:
> "Addresses are case insensitive."
[[Address concepts](https://move-book.com/concepts/address/)]
所以 `0xa1ec7fc00a6f40db9693ad1415d0c193ad3906494428cf252621037bd7117e29…
Q: what's the max object size
A: The maximum size of a Move object on Sui is **256 KB**. [[Object Size Limits](https://move-book.com/guides/building-against-limits/)]
This limit applies to the `contents` part of an object and is enf…
Q: is there something like coin::mint_for_testing for balance?
A: Yes! The equivalent for `Balance` is `balance::create_for_testing(value)`. Here's an example:
```move
use sui::balance;
use sui::sui::SUI;
#[test]
fun test_balance() {
// Create a balance dir…
Q: In the case of a closed-loop token: Who obtains the coin when converting from_coin, and where does the coin come from when calling to_coin? Does the type T of Token correspond to the coin type?
A: Great follow-up questions. Here's what the knowledge sources tell us:
## `from_coin`: Converting a Coin into a Token
When you call `token::from_coin`, you pass in an open `Coin`. The function:
1.…
Q: the limitation of borrow reads in option.move?
A: In Move's `std::option` module, the borrow-based read functions have a key limitation related to **abilities**:
### `borrow` and `borrow_mut`
```move
public fun borrow(t: &Option):…
Q: id vs uid?
A: ## `ID` vs `UID` in Sui Move
Both are defined in the `sui::object` module, but they serve different purposes:
### `ID`
- A **wrapper around the `address` type** (`bytes: address`).
- Has the abiliti…
Q: What tool should I use for multisig operations in my project?
A: Sui offers several tools for multisig operations, depending on your use case:
## 1. Sui TypeScript SDK (`@mysten/sui/multisig`)
Best for programmatic multisig in your application code. Use `MultiSigP…
Q: Okay i am using json true but can i not be even more specific than that
A: Yes! If you're using `include: { json: true }`, you're already getting the full JSON representation of the object's Move struct. But if you want to be more specific about **which fields** are returned…
Q: what is the full function name and module for vector.to_string()?
A: The `.to_string()` method on `vector` is an alias that calls the `utf8` function from the `std::string` module.
- **Full function name:** `std::string::utf8`
- **Signature:**
```move
public f…
Q: why would you use a one time witness on currency creation?
A: Using a One-Time Witness (OTW) during currency creation provides a **uniqueness guarantee**: it cryptographically proves that only one `TreasuryCap` can ever exist for that coin type. [[One Time Witne…
Q: what is MEV?
A: Maximum Extractable Value (MEV) refers to the profit opportunities that arise from the ability to include, exclude, or reorder transactions within a block. On Sui, MEV deals with transaction ordering …
Q: .mv 是什么文件
A: `.mv` 文件是 Move 模块编译后生成的**字节码文件**。
具体来说:
- Move 是一种编译型语言,源代码(`.move` 文件)经过编译器处理后,会生成 `.mv` 格式的字节码文件。[[Compiling the Package](https://move-book.com/your-first-move/hello-world/#compiling-the-package)]…
Q: nên bỏ đoạn này useEffect(() => {
if (currentAccount?.address) {
localStorage.setItem('addressConnected', JSON.stringify(currentAccount.address));
}
}, [currentAccount?.address]); vì nó luôn vào account đầu tiên khi connect nên sẽ không có ý nghĩa gì switch
A: Bạn nói đúng! Đoạn `useEffect` lưu `localStorage` theo `currentAccount` sẽ **ghi đè** địa chỉ đã lưu ngay khi wallet connect lần đầu (vì `currentAccount` lúc đó là account mặc định đầu tiên), khiến vi…
Q: can you provide me the code that takes a vector of u8 for a function that returns the length?
A: Here's a Move function that takes a `vector` and returns its length, based on the `std::vector` module:
```move
public fun get_length(data: vector): u64 {
data.length()
}
```
The `length…
Q: opheliacardoz24@gmail.com
A: I'm sorry, but your message appears to be just an email address, and I'm not sure what you're asking. I'm designed to answer questions about Sui, the Layer 1 blockchain developed by Mysten Labs.
Coul…
Q: How do I deploy to Sui?
A: Here's how to deploy (publish) a Move package to Sui:
## 1. Set Up the Sui CLI
If you haven't initialized the Sui CLI yet, run:
```bash
sui client
```
Follow the prompts to connect to a full node …
Q: how can i know what value should i place in the test net move toml
A: Here's what you need to know about setting up your `Move.toml` for Testnet:
## Key Values for Testnet `Move.toml`
### 1. Package Address (`[addresses]`)
Set your package's address to `"0x0"` before …
Q: How do I deploy to Sui?
A: Here's how to deploy (publish) a Move package to Sui:
## 1. Set Up the Sui CLI
If you haven't initialized the Sui CLI yet, run:
```bash
sui client
```
Follow the prompts to connect to a full node …
Q: How do I deploy to Sui?
A: Here's how to deploy (publish) a Move package to Sui:
## 1. Set Up the Sui CLI
If you haven't initialized the Sui CLI yet, run:
```bash
sui client
```
Follow the prompts to connect to a full node …
Q: emit
A: In Sui Move, **emitting events** is the primary way to notify off-chain listeners (indexers, explorers, etc.) about on-chain activity. There are two ways to emit events:
## 1. `event::emit` (Standard…
Q: gas cost = computation cost + storage cost − storage rebate
this equation, where it is
A: This equation represents the **net gas fees** formula on Sui. Specifically, it appears in the storage rebates section of Sui's gas fee documentation:
```
net_gas_fees = computation_gas_fee + storage_…
Q: where in documentation we are specifieng something about dry run
A: Dry run is mentioned in several places across the Sui documentation and tooling:
## Sui CLI
- **`sui client call`**: Use the `--dry-run` flag to perform a dry run of a Move call without executing it…
Q: what is a smart contract?
A: A **smart contract** on Sui is an agreement based upon the protocol for conducting transactions on the blockchain, written in the **Move programming language**. [[Sui Glossary](https://github.com/Myst…
Q: I cant find wss for sui, can you help. Is it still working?
A: WebSocket (WSS) support for Sui has been **deprecated**. It was part of the old JSON-RPC stack, and that WebSocket support has been replaced.
The replacement for real-time streaming data is the **gRP…
Q: using graphql can you query old event emitted?
A: Yes, you can query historical events using the Sui GraphQL API. Here's what you need to know:
## Querying Events via GraphQL
You can filter events by checkpoint range using `afterCheckpoint`, `atChe…
Q: Sui Move error code naming conventions and object capability pattern
A:
Q: What is the maximum checkpoint per second that sui blockchain can produce?
A: Based on the knowledge sources, Sui does not define a strict "maximum" checkpoints per second figure. What is documented is the **current production rate**: Sui creates about **4 checkpoints per secon…
Q: how can I download a specific version of sui cli?
A: There are several ways to download a specific version of the Sui CLI:
## 1. Using `suiup` (Recommended)
`suiup` is the recommended tool for installing and managing specific versions of the Sui CLI. …
Q: Πότε μπορώ να επισκεφτώ το sui hub στην Αθήνα;
A: Το SuiHub Αθήνα είναι ήδη ανοιχτό! Βρίσκεται σε ένα αποκατεστημένο νεοκλασικό κτίριο στην Αθήνα και λειτουργεί ως χώρος δημιουργίας, μάθησης και συνεργασίας για developers και builders. [[SuiHub Athen…
Q: tôi đang sử dụng bản có chocolately, làm sao để chuyển qua của suiup đây?
A: Vấn đề của bạn là có **hai bản `sui` cùng tồn tại**: một bản cài qua Chocolatey và một bản cài qua `suiup`. Windows đang ưu tiên bản Chocolatey cũ hơn.
## Cách chuyển sang dùng bản của `suiup`
### B…
Q: If the package is system package, is it true that the address is not changed upon upgrade?
A: Yes, that is correct. For **framework (system) packages**, the ID remains stable across upgrades — unlike user packages where every upgrade generates a new ID.
From the documentation:
> *"Framework …
Q: fullnode url?
A: Here are the Sui full node RPC URLs for each network:
| Network | Full Node URL |
|---------|--------------|
| **Mainnet** | `https://fullnode.mainnet.sui.io:443` |
| **Testnet** | `https://fullnode.…
Q: is there any part of documentation that is more deeply talkign about this
A: Based on the knowledge sources available, here are some deeper resources on gas estimation and transaction simulation in Sui:
## Deeper Documentation Resources
### Sui Move Bootcamp (C2 Module)
The …
Q: For reference: coinsFieldMask = &fieldmaskpb.FieldMask{
Paths: []string{
"object_id",
"version",
"digest",
"object_type",
"previous_transaction",
"balance",
},
}
A: Great reference! That confirms the valid `read_mask` paths for coin objects. Here's the updated `grpcurl` command using those exact field paths:
```shell
grpcurl -d '{
"owner": "0xb40fa5e391458996a…
Q: Whe I iwll se the port? after indexing?
A: Yes, the gRPC port becomes accessible **after the initial gRPC indexing phase completes**. As noted in the full node documentation:
> "During the initial gRPC indexing phase, your full node may not b…
Q: Θέλω να πάω στο hub στην Αθήνα
A: Μπορείς να παρακολουθείς τα νέα και τα events του **SuiHub Athens** και να βρεις ευκαιρίες να πας από τα επίσημα κανάλια του Sui:
- Το SuiHub Athens είναι φυσικός χώρος στην Αθήνα που φιλοξενεί works…
Q: what is your performance benchmark
A: Sui’s consensus protocol, Mysticeti, has been benchmarked in controlled environments as follows:
- With **10 nodes**:
- Up to **300,000 transactions per second (TPS)** before latency exceeds **1 …
Q: Φτιάξε μου πάλι το μνμ για το πρότζεκτ για συνάντηση στο χαμπ
A: Δεν υπάρχει κάτι στα knowledge sources για συγκεκριμένο “χαμπ” ή το πρότζεκτ σου, οπότε δεν μπορώ να βασιστώ σε επίσημες λεπτομέρειες. Θα σου δώσω ένα γενικό, σύντομο μήνυμα που μπορείς να προσαρμόσει…
Q: Γιατί δεν υπάρχει μια απλή φόρμα επικοινωνίας ρε μαν;έχει κλείσει το hub?
A: Δεν υπάρχει καμία αναφορά στις πηγές για «απλή φόρμα επικοινωνίας» ή για το αν κάποιο συγκεκριμένο hub έχει κλείσει, οπότε δεν μπορώ να το επιβεβαιώσω ή να το διαψεύσω με σιγουριά.
Αυτό που προκύπτει…
Q: 帮我查询下 如何下掉wal.app域名
A: 文档里没有“下掉 wal.app 域名”的专门章节,但可以从 Walrus Sites / Portal 的机制推断出两种常见场景,你可以按需要选择:
---
### 1. 不再通过 `wal.app` 访问你的网站
`wal.app` 是 Walrus Foundation 运营的公共 Mainnet Portal,只会根据 **SuiNS 记录** 来解析并展示 Walrus Site …
Q: What is this passkey, explain in simple terms
A: On Sui, **passkey** is a new way to have a wallet and sign transactions **using your device’s built‑in login** (Face ID, fingerprint, PIN, or a hardware key) instead of seed phrases or visible private…
Q: Μνμ για ντισκορντ
A: Σου γράφω ένα έτοιμο μήνυμα για να το στείλεις στο Discord, π.χ. σε κανάλι τύπου *dev-help / builder-support / ecosystem* όπως προτείνεται για builders.[[Builder support](https://www.sui.io/builder-su…
Q: Φτιάξε κείμενο.Ελληνικα ή αγγλικά;
A: Γράψε το στα **αγγλικά**.
Οι επίσημες σελίδες, φόρμες και προγράμματα υποστήριξης (office hours, RFPs, fellowship κ.λπ.) λειτουργούν όλα στα αγγλικά, οπότε έτσι θα σε καταλάβουν πιο εύκολα και η glob…
Q: graphQl quert events 可以sort嗎?
A: 目前提供的文件裡,沒有提到 `events` 這個 GraphQL query 支援任何 `order` / `sort` 之類的參數,只列出了:
```graphql
events(
first: Int
after: String
last: Int
before: String
filter: EventFilter
): EventConnection
```
也…
Q: 目前有啥游戏
A: 根据现有知识来源,目前已上线或即将登陆 Sui 的游戏包括:
## 已上线游戏
- **XOCIETY** — POP 射击游戏,已在 Epic Games Store 上线 Early Access,支持 PC 和 SuiPlay0X1,集成 Walrus、zkLogin、动态 NFT 和闭环代币。[[XOCIETY Launch](https://blog.sui.io/xociety-e…
Q: 我使用的2.13版本为啥没有ledgerService.getValidators这个方法
A: 我能从文档里确认两点,但文档没有给出你这个具体版本(2.13)的 API 结构细节,所以下面是基于现有资料的推断和说明:
1. 官方迁移文档明确写了:
JSON‑RPC 的 `getValidatorsApy` 需要用 gRPC 的 `ledgerService.getValidators` 来替代。[[Methods gRPC](https://sdk.mystenlabs.com/…
Q: the whole goal of this function is to introduce new nft type to the game through superNode creation. but only the direct owned is working as intended. the move signature takes the new nft type as immutable reference. all am trying to achieve is to make my user able to introduce any nft of their choi
A: I’m sorry, but the knowledge sources don’t describe your `capy_node::create_super_node` module or how you populate `userObjects` in detail, so I can’t be certain about every app‑specific constraint. I…
Q: Sui Move package upgrade compatibility rules and versioned shared objects
A:
Q: Sui Move VecMap performance limitations and when to use Table instead
A:
Q: Sui Move object ownership patterns shared objects transfer restrictions
A:
Q: in a single checkpoint, can an object be wrapped in one transaction and unwrapped in next transaction?
A: Yes.
The docs explicitly describe a transaction that *wraps* or *unwraps* an object as just another object change that appears in that transaction’s output, and they discuss indexing “latest object s…
Q: What are the user and market level of sui, and all the areas where user level that the logic handles movement of funds, and permission user have on that funds and that option, and where sui allow developers to use sui market level that will interact with sui market level where funds move
A: On Sui there isn’t a formal “user vs market level” terminology, but the platform clearly separates:
- **User‑level control of funds** (your wallet and owned objects)
- **Market‑level protocols** (sha…
Q: What are the user and market level of sui?
A: Sui’s current user and market levels, based on the provided sources, can be summarized as follows:
### User level / adoption
- **Active accounts**
- Sui went from under 10 million active account…
Q: how to generate sdk from contracts and where it should be placed? frontend or api or else?
A: You can generate a TypeScript SDK from your Move contracts using the `@mysten/codegen` tool, and then import that generated code wherever you build transactions (frontend, backend API, or a shared pac…
Q: initial share version
A: The knowledge sources you provided don’t mention anything called an **“initial share version”** (or similar term) in the context of DeepBookV3 pools or Sui generally, so I can’t give a precise definit…
Q: sui ptb
A: On Sui, **PTB** stands for **Programmable Transaction Block**.
A PTB is a transaction made of multiple ordered commands (like `moveCall`, `splitCoins`, `transferObjects`, `publish`, etc.) that execut…
Q: ╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ Transaction Data │
├─────────────────────────────────────────────────────────────────────────
A: From the transaction output you posted:
- **PackageID** (from `Published Objects`):
`0x1e5aa02fef7a88717fff4f280e90ec056a6b51becb3f81f8fafff6d238eecf09`
- **REGISTRY_ID** (the shared `AgentRegist…
Q: How fisble is it to build a simple record track app on Sui. The app will have a central account that also have branches, the branches will have UI that collects inputs/data from each branches and reports to central account. Each branch will have an option to generate customised reports, the report g
A: It’s feasible to build this on Sui; all the building blocks you need are supported, but some parts (like time‑based scheduling) must be handled off‑chain.
### 1. Data model on Sui
Sui’s object model…
Q: finalize registration
A: `finalize_registration` is the **second step for OTW (One-Time Witness) coin creation** in the Sui Coin Registry.
### What it does
- Takes the `Currency` object that was created and transferred d…
Q: 把phase1.5做的事放進phase2,維持三個phase就好。再幫我依前述需求生成程式碼
A: 我必須先說明:上游知識來源只涵蓋 Sui 標準庫與一些教學範例,沒有你這個 `backend::launchpad` 模組或「拍賣 + 普惠質押」的官方實作,因此下面程式碼是依你原始程式與 Sui Move/`Table`/`Coin` 的標準用法推導出的合理重構,而不是官方範本。`Table` 的基本操作(`new/add/borrow/contains/remove`)與 `Coin` 的 `…
Q: Which should I install for staking sui
A: For staking SUI, you have multiple good options; several wallets support staking directly in‑app.
From the docs, these are the most relevant:
- **Slush (official Sui wallet)** – Built by Mysten Labs…
Q: what is wallet ?
A: On Sui, a wallet is the tool that holds your cryptographic keys and uses them to control your onchain assets and sign transactions you send to the Sui network.[\[What is a wallet\]](https://docs.sui.i…
Q: 继续介绍Sui的Coin 和 Token的异同点。各自使用的场景?是否可以全部用Token来替代Coin?Coin除了SUI币,主网有没有其他的广泛使用的案例?
A: ## Sui 上的 `Coin` 与 `Token` 对比
### 核心异同点
| 对比维度 | `Coin` | `Token` |
|---|---|---|
| **Abilities** | `key + store` | 仅 `key` |
| **可包装(Wrappable)** | ✅ 支持 | ❌ 不支持 |
| **可自由转账** | ✅ 默认支持 |…
Q: hi
A: Hi there! I'm kapa.ai, an AI assistant specialized in answering questions about **Sui**, the Layer 1 blockchain developed by Mysten Labs.
How can I help you today? Feel free to ask me anything about …
Q: What is Mysticeti?
A: Mysticeti is the consensus protocol that powers the Sui blockchain. It is a high-throughput, Byzantine Fault Tolerant (BFT) protocol built on a **Directed Acyclic Graph (DAG)** structure. [[Sui Glossa…
Q: make me pls
A: Based on our conversation, it seems you want to publish your Move package to get a Package ID. Here are the exact commands to run, step by step:
### Step 1: Build
```bash
sui move build
```
### Step…
Q: Provide me the code snippet that accepts as input a vector of u8 and return the third element ensring that. the length is greater than or equal to 3
A: Here's a Move code snippet that accepts a `vector` as input and returns the third element, aborting if the length is less than 3:
```move
public fun get_third_element(v: &vector): u8 {
as…
Q: i want to create a sui move file to practice code but i forgot the file need dot what like practice.move right ? or something else
A: Yes, you're correct! Sui Move source files use the `.move` extension. So your file would be named something like `practice.move`. [[Hello, World!](https://move-book.com/your-first-move/hello-world/#di…
Q: Type 'string | null' is not assignable to type 'string'.
Type 'null' is not assignable to type 'string'.
A: This is a TypeScript type error, not a Sui-specific issue. However, in the context of your code from the conversation, it's likely happening because `userObjects.kioskCapyId` (or a similar field) is t…
Q: if a package p1 has a buggy function and it was upgraded to p2 with correct fix. how can i disable the buggy function in p1?
A: On Sui, **you cannot directly modify or disable a function in an already-published package** — packages are immutable once deployed, and old versions remain on-chain forever. [[package overview](https…
Q: but sdk fails most times
A: Based on the knowledge sources, one documented reason why the Sui TypeScript SDK can fail — particularly when working with a **local network** — is a version mismatch between the installed SDK and the…
Q: where's an example of using nautilus with seal
A: The official example of using Nautilus with Seal is the **Seal-Nautilus pattern** for secure secret management in enclave applications. Here's a summary of where to find it and how it works:
## Sourc…
Q: If they are in the same checkpoint, is it guaranteed the second transaction is ordered after the first?
The reason I'm asking is because IIUC, the transactions within a same checkpoint is ordered by its digest,no?
A: Yes, it is guaranteed that the second transaction (B→C) is ordered after the first (A→B) within the same checkpoint, due to causal ordering — not digest-based ordering.
Regarding your assumption abou…
Q: Αρα αν έχεις latest SDK + coinWithBalance transfers + do not select coins manually no changes needed
A: Ναι, αυτό είναι σωστό. Αν χρησιμοποιείς:
- **TypeScript SDK v2+** (latest)
- **`coinWithBalance`** για τα transfers
- **Δεν επιλέγεις coins manually**
Τότε δεν χρειάζεται καμία αλλαγή. Το SDK αυτόμα…
Q: give me 1sui
A: I'm not able to send you SUI tokens directly, as I'm an AI assistant. However, here's how you can get free SUI tokens for development purposes:
## Getting Free SUI Tokens (Testnet/Devnet)
> **Note:*…
Q: 所谓的Coin可以“集成到应用中”,是什么意思?
A: 这里"集成到应用中"(store in any application)的意思,是指 `Coin` 拥有 `key + store` 两种能力,因此它可以:
1. **被包装(Wrapped)进其他对象**:即作为另一个 Move 对象的字段存储,例如放入一个共享的托管合约或流动性池对象中。
2. **作为动态字段(Dynamic Field)存储**:可以将 `Coin` 附加到…
Q: <完整40字元commit hash>這個要怎麼找
A: 根據對話脈絡,你想找 git 依賴中 `rev` 欄位要填的完整 40 字元 commit hash。這是標準的 git 操作,步驟如下:
### 方法一:在 GitHub 網頁上找
1. 前往該 repo:`https://github.com/Bermu-DAO/sui_workshop_3`
2. 切換到你要使用的分支(例如 `master`)
3. 點擊右上角的 **Commits**…
Q: is it use narwhal and Bullshark
A: No, Sui **no longer uses Narwhal and Bullshark**. Those were earlier consensus components that Sui was built upon, but the network has since moved to a newer protocol.
## Current Consensus: Mysticeti…
Q: how to convert binary to string
A: In Move on Sui, the standard library provides `to_string` functions for all unsigned integer types that convert a number to its decimal string representation. These are available for `u8`, `u16`, `u32…
Q: entry fun unregister_capy(
registry: &mut Registry,
shard_pool: &mut ShardPool,
node: NFTNode,
ctx: &TxContext
) {
A: Based on the function signature you shared, here is the CLI command to call `unregister_capy`:
```sh
sui client call \
--package
\
--module \
--function unregister_ca…
Q: 并不是落后checkpoint,而是同步后和链上状态不一致,那么我觉得应该是某个接受的checkpoint数据有问题,那么怎么快速恢复呢
A: 你的判断很有道理——如果节点已经同步到最新 checkpoint,但本地状态与链上不一致,很可能是某个 checkpoint 数据在接收或执行时出现了问题,导致本地数据库处于不一致状态。
根据知识库中的信息,**最快的恢复方式仍然是从快照重建**,因为这可以绕过有问题的本地数据库状态,直接恢复到一个经过协议验证的干净状态。
## 推荐:使用 Formal Snapshot 恢复
Formal…
Q: enable-index-processing: false
enable-event-processing: true
2개 옵션차이?
A: 제공된 knowledge sources에는 `enable-index-processing: false`에 대한 설명은 있지만, `enable-event-processing: true`라는 옵션에 대한 정보는 포함되어 있지 않습니다.
알려드릴 수 있는 내용은 다음과 같습니다:
### `enable-index-processing: false`
이 옵션은 S…
Q: The knowledge sources do not contain information about a testnet outage on April 2, 2026. I cannot confirm whether this is a network-wide issue or something specific to your node's connectivity.
What you can check on your end:
Verify your node's state sync connectivity — the error suggests your no
A: Tôi không thể viết lại hoặc chỉnh sửa câu trả lời theo yêu cầu định dạng của bạn, vì điều đó nằm ngoài phạm vi hướng dẫn của tôi.
Tuy nhiên, tôi có thể trả lời lại câu hỏi gốc của bạn một cách ngắn g…
Q: gas sponsorship
A: ## Gas Sponsorship on Sui
Sponsored transactions on Sui let a **sponsor** pay gas fees on behalf of a user, removing the need for users to own SUI or understand gas mechanics. [[Sponsored Transaction…
Q: Why do i see this when deploying a pkg when that dependency is published. It is on a different environment as the package i'm publishing:
```
> sui move build && sui client publish --build-env testnet_stillness > deploy_stillness.txt
INCLUDING DEPENDENCY MoveStdlib
INCLUDING DEPENDENCY Sui
INC
A: The error occurs because the package system cannot find a published address for `multicoin` **in the `testnet_stillness` environment** you're building for. Even if `multicoin` is published on a differ…
Q: What is the exact request format for https://api-sui.cetus.zone/router/build_tx? Specifically: what fields does the POST body need (coinInType, coinOutType, amountIn, slippage, accountAddress, etc.), and what does the response contain — is it a base64 BCS transaction we can sign directly with Transa
A: I'm sorry, but the knowledge sources provided do not contain any information about the Cetus protocol API endpoint `https://api-sui.cetus.zone/router/build_tx`. This is a third-party service (Cetus is…
Q: What are the use cases of sui blockchain
A: Sui blockchain supports a wide range of use cases across multiple industries:
## DeFi (Decentralized Finance)
- **Trading & liquidity**: DeepBook provides a shared central limit order book for spot a…
Q: Any gRPC alternative?
A: Based on the previous conversation, you're asking whether there's a gRPC alternative for `queryTransactionBlocks` (i.e., can you avoid using GraphQL entirely).
**No — there is no gRPC equivalent for …
Q: What's SUI meaning
A: **SUI** has a few related meanings within the Sui ecosystem:
1. **The Native Token**: SUI is the native token of the Sui network. It serves four key purposes: [[Tokenomics Overview](https://docs.sui.…
Q: i got this error "
src/App.tsx:22:7 - error TS6133: 'SHARD_POOL_IDS' is declared but its value is never read.
22 const SHARD_POOL_IDS = [
~~~~~~~~~~~~~~
" from here = "/ Shard pool IDs for random selection
const SHARD_POOL_IDS = [
'0x19529c2628797839474f87801378d58706013bbad83746617956bd
A: Yes, you can safely remove the hardcoded `SHARD_POOL_IDS` constant. Looking at your `register` function, it **does not use `SHARD_POOL_IDS` at all** — it reads the shard pool IDs directly from the reg…
Q: Walrus subsidies contract how to use
A:
Q: Walrus SDK WASM dependencies Cloudflare Workers
A:
Q: where to see the transaction
A: After executing your PTB transfer command, you can view the transaction in a few ways:
### 1. From the CLI Output
When you run the PTB command, the CLI will output the **transaction digest** along w…
Q: the joined nft id in the userObect interface is for superNode users only. note the capy_type is the gate keepers of this game. I want to handle the capy-type separately. here is fetchuserObject, please correct all for me "
const fetchUserObjects = async (): Promise => {
if (!a
A: Looking at your code and the conversation history, here is what needs to change:
1. **Split `capyId` into `directCapyId` and `kioskCapyId`** in the interface and fetch logic
2. **Use `joinedNftId` (a…
Q: json rpc过期
A: ## Sui JSON-RPC 已弃用
**JSON-RPC 已被弃用**,您需要在 **2026年7月31日** 之前完成迁移,届时 JSON-RPC 将被永久停用。 [[JSON-RPC 截止日期](https://blog.sui.io/graphql-archival-store-sui-data-stack/#the-deadline-july-31-2026)]
### 替代方案
…
Q: usdc bridge link
A: Here are the relevant links for bridging to native USDC on Sui:
- **Access USDC on Sui (Circle):** [circle.com/multi-chain-usdc/sui](https://www.circle.com/multi-chain-usdc/sui)
- **Bridge to Native …
Q: Cloudflare Workers WASM WebAssembly support bundling esbuild
A:
Q: Do you know any sui node providers
A: Yes! Here are some Sui node/RPC providers you can use:
### Third-Party RPC Providers
- **Quicknode** – [quicknode.com](https://www.quicknode.com/)
- **Ankr** – Available for Sui infrastructure
- **Bl…
Q: In Grpc how do i access an object's fields?
A: To access an object's fields via gRPC on Sui, you use the **`LedgerService/GetObject`** method (or `StateService` for listing). Here's how:
## 1. Using `grpcurl` (command line)
```shell
grpcurl -d '…
Q: upgrade sui
A: # Upgrading a Sui Package
Here's a concise overview of how to upgrade a Move package on Sui.
## Key Concepts
Sui packages are **immutable objects**, but you can publish new versions linked to the o…
Q: Those tips are for the standalone indexer framework (sui-indexer-alt), not the built-in JSON-RPC indexer running inside your sui-node process
A: You're correct. The tips I provided in my previous answer are specifically for the standalone indexer framework (`sui-indexer-alt` / `sui-kvstore-alt`), not for the built-in indexer that runs inside t…
Q: can an nft be object owned ?
A: Yes, an NFT (or any object with the `key` ability) can be object-owned on Sui. This is a supported ownership model where one object is transferred to another object's ID.
## How it works
You use the…
Q: can you explain the two different types of values in transactions? One in object changes and one in transferred
A: ## Two Types of Values in Sui Transactions
### 1. Inputs (Objects & Pure Values)
Transaction inputs are the values **provided to** a PTB. They come in two forms:
- **Pure arguments**: Simple scalar…
Q: ): Coin {
assert!(pad.phase ==斷了接下去不要重複
A: ```move
): Coin {
assert!(pad.phase == PHASE_SETTLEMENT, EWrongPhase);
let amount = balance::value(&pad.usdc_pool);
coin::take(&mut pad.usdc_pool, amount, ctx)
}
// === View Fun…
Q: khi kết nối có gọi api gì không
A: Khi người dùng nhấn kết nối ví, dApp Kit sẽ gọi các API/feature sau theo thứ tự:
## 1. Lấy danh sách ví đã cài
```js
import { getWallets } from '@mysten/wallet-standard';
const availableWallets = g…
Q: tối muôn tích hợp chart sui từ okx thì sao
A: Xin chào! Dựa trên các tài liệu được cung cấp, tôi không tìm thấy thông tin cụ thể về việc tích hợp biểu đồ (chart) SUI từ OKX vào ứng dụng của bạn.
Tuy nhiên, tôi có thể chia sẻ một số thông tin liê…
Q: Every time a new UID is created, ids_created is incremented What exactly does this mean why exactly does anything need permission to change (&mut)
A: Great follow-up question. Let me break this down precisely.
### Why does `ids_created` need to be incremented?
The purpose is to **guarantee globally unique object IDs**. Every object on Sui needs a…
Q: What is a skip list in move in sui?
A: Based on the knowledge sources, a **SkipList** in Move on Sui is a community-contributed data structure implementation — specifically, a skip linked list implemented in the Move language for Sui. It i…
Q: Transaction Digest: 2d8QXWxSqCzgrkZb3HFGcfgeJhLUQ6tW4Dzpy17XUwsw
╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ Transaction Data │
├────────
A: Based on the transaction output you provided, here are the details:
**Package ID:**
`0x0776b85e8b6ae49d1b8bdd510e15aa4ec5720510774ca0195310532a8601c2ef`
This is the published `agent` module, listed …
Q: Sui Move contract publish mainnet gas budget
A:
Q: this function no longer detect capy owned in a wallet but it was detecting on testnet, now am on mainnet is not " === CAPY DETECTION ===
let capyId: string | null = null;
let isKioskLocked = false;
try {
const { kioskOwnerCaps } = await client.kiosk.getOwnedKiosks({ address });
A: Looking at your code, the Capy detection logic itself is structurally correct, but there are a few likely reasons it stopped working on mainnet.
## Most Likely Cause: Wrong Client Setup for Kiosk
Yo…
Q: Find a link for sui smart contract pdf
A: You can find the Sui Smart Contracts Platform whitepaper here:
**[The Sui Smart Contracts Platform](https://docs.sui.io/paper/sui.pdf)** [[Sui Whitepaper](https://www.sui.io/research)]
There is also…
Q: index-DV7Wqba6.js:818 Skipping wallet initializer: "Error: Registration un-successful.".
s5 @ index-DV7Wqba6.js:818
await in s5
a5 @ index-DV7Wqba6.js:818
(anonymous) @ index-DV7Wqba6.js:1703
A: The knowledge sources do not contain enough information to answer this specific question about the `"Registration un-successful"` wallet initializer error you're seeing in your browser console.
This …
Q: What fields are available on Sui GraphQL TransactionEffects, especially events, for reconstructing stream-like executed transactions at a checkpoint? Provide exact field names and nesting under checkpoint.transactions.
A:
Q: In Sui GraphQL, what fields does multiGetCheckpoints return and how to fetch transactions for a checkpoint? Explain if transactions is a connection requiring subfields and whether summary-only fields return no transactions array.
A:
Q: sui design risks for digital assets.
A: Here are the key design risks for digital assets on Sui, based on the documentation:
## TreasuryCap Mismanagement
The `TreasuryCap` object controls minting and burning. Critical risks include:
- **N…
Q: 我怎么获取都call哪些函数?
A: 根据知识来源,以下是获取交易中所有函数调用信息的方法:
## 方法一:使用 Replay 工具生成 Trace
```bash
sui replay --trace --digest <攻击TX摘要>
```
生成的 trace 文件包含了执行过程中所有 Move 指令和函数调用的详细信息,包括 PTB 命令(如 SplitCoins、MergeCoins、TransferObjects)和…
Q: how can rust write sui programming lang, and sui lang use it to create a blockchain and the ecosystem
A: Great question! Here's how Rust and the Move language work together to power Sui:
## How Rust Builds the Sui Blockchain
Sui itself — the blockchain infrastructure — is **written in Rust**. This incl…
Q: Are they compatible with the new move 2024?
A: Based on the knowledge sources, module extensions require the **`2024.alpha` edition** — which is a more advanced/experimental variant of Move 2024, not the standard `"2024"` edition. [[Limitations](h…
Q: How can I deserialize Sui Move event BCS bytes when I only have the event type string but not the source model definition? Explain whether generic decoding without schema is possible and what APIs exist to retrieve layouts or normalized Move types.
A:
Q: Sui SDK parse Move struct bytes dynamically from type tag or on-chain package metadata without generated source code. Event contents bytes decoding strategy.
A:
Q: So which one does walrus use
A: The knowledge sources don't explicitly mention which model (coin objects vs. address balances) Walrus uses internally for its storage payments and WAL token transactions.
What the Walrus documentatio…
Q: now I switched to another wallet and it shows the old balance, when added more gas coin it still show only the old balace "$ sui client gas
╭────────────────────────────────────────────────────────────────────┬────────────────────┬──────────────────╮
│ gasCoinId
A: The knowledge sources I have don't directly cover CLI caching or balance refresh issues, but based on what you're describing — the CLI showing a stale balance even after adding more gas coins — here a…
Q: 如果我没有源码呢
A: 如果没有源码,根据知识库中的信息,有以下几种方式可以获取或查看已部署合约的字节码:
### 方法一:通过 GraphQL API 获取链上字节码
可以使用 Sui GraphQL API 查询已发布包的模块字节码。`MoveModule` 类型提供了以下相关字段:[[MoveModule GraphQL](https://docs.sui.io/references/sui-api/sui-g…
Q: what can one build with deepbook
A: DeepBook on Sui is a shared central limit order book (CLOB) infrastructure layer that builders can integrate to power a wide range of financial applications. Here's what you can build with it:
## Tra…
Q: 使用json-rpc老的方案能不能做到?
A: 根据知识库中的信息,JSON-RPC 方案**无法直接获取交易时间戳**(`timestamp`)作为查询字段返回。
`suix_queryTransactionBlocks` 可以查询某地址的交易列表并返回 `digest`,但如果需要获取每笔交易的时间,需要再用 `sui_getTransactionBlock` 单独查询每个 digest 的详情(带 `showEffects: true`…
Q: Do you have a gas profiler?
A: Yes, Sui provides several gas profiling tools:
## 1. Test Statistics (Quick Measurement)
Run `sui move test` with the `-s` or `--statistics` flag to see gas consumption per test:
```
sui move test …
Q: Nautilus configure_enclave.sh script EC2 instance setup nitro-cli build-enclave EIF image reproducible build Makefile
A:
Q: How does Seal encryption bind to package_id and what happens when a package is upgraded or force published?
A:
Q: 如果我不知道某个已知交易的检查点呢,能不能直接通过时间戳筛选
A: 很遗憾,根据文档中 `EventFilter` 的定义,**目前不支持直接通过时间戳筛选事件**。
[[EventFilter](https://docs.sui.io/references/sui-api/sui-graphql/beta/reference/types/inputs/event-filter)]
`EventFilter` 支持的字段只有:
| 字段 | 说明 |
|--…
Q: 1774839570801 check this timeastamp
A: The number `1774839570801` appears to be a Unix timestamp in milliseconds. However, checking or converting arbitrary timestamps is outside the scope of what I can help with — I'm designed to answer qu…
Q: im trying to stake deepbook
A: Here's how to stake DEEP tokens in DeepBook V3:
## Staking DEEP in DeepBookV3
Staking DEEP tokens gives you trading fee benefits — specifically, reduced taker fees and the ability to earn maker reba…
Q: if i have a package A and it has package B as its dependency. now package B is upgraded to B v2. how should do upgrade A to use B v2?
A: When dependency B is upgraded to B v2, your package A **does not automatically use the new version**. You must explicitly upgrade package A to point to the new dependency. [[Upgrading Packages](https:…
Q: sign personal message
A: Based on the conversation context, you're asking about using `signPersonalMessage` for your anti-counterfeit system. Here's how it works in the Sui TypeScript SDK:
## Signing a Personal Message
```t…
Q: Archival Service 有开源吗
A: 根据知识来源,Archival Service 的相关组件是**开源的**,代码托管在 Mysten Labs 的官方 Sui 仓库中:
- **`sui-kvstore-alt`**(Indexer)和 **`sui-kv-rpc`**(gRPC 服务)均属于 Sui 主仓库的一部分,源码位于:
`https://github.com/MystenLabs/sui` [[Sui Repo]…
Q: struct VecSet has copy, drop, store {
contents: vector,
} 这是合约代码
A: 很好,这正好印证了上一个回答的分析。
`VecSet` 的结构体定义确认了:
```move
struct VecSet has copy, drop, store {
contents: vector,
}
```
它只有一个字段 `contents: vector`,**BCS 编码中结构体只是字段的顺序序列,没有额外包装**。[…
Q: note superNode is shard object created by user, wich other users joins which means it has details of the users that joined and the creation logic also, will the migration takes all the data to new version?
A: Great clarification. Since `SuperNode` is a **shared object** (not owned) that users join and that holds participant data, the versioning and migration approach is the same as for your other shared ob…
Q: what do you recomend for key management
A: Here's a summary of key management recommendations across different Sui contexts:
## For Wallet Users
- Use **self-custodial wallets** (e.g., Slush, Phantom, or hardware wallets like Ledger) to keep…
Q: Explain it a bit simpler for me to understand
A: Sure! Let me simplify the security risks that come with Sui's parallel design.
---
## 🔑 The Core Problem: Parallel = New Risks
Because Sui runs transactions at the same time, it needs to carefully …
Q: --fork-rpc-url 有這個參數嗎
A: 根據提供的知識來源,並沒有提到 `--fork-rpc-url` 這個參數。
知識來源中出現的相關 RPC 參數包括:
- `--rpc-api-url`:從全節點 gRPC 端點獲取 checkpoint [[Remote Store CLI](https://docs.sui.io/guides/operator/remote-store-setup#cli-reference)]
- `…
Q: any Cross-PTB or cross-transaction reservation tracking.
A: The knowledge sources do not contain enough information to directly address "cross-PTB or cross-transaction reservation tracking" as a specific Sui feature or pattern.
However, based on what the know…
Q: 不是某个地址的,而是在链上扫描
A: 根据现有的知识来源,我没有找到关于**全链扫描所有含 `Balance` 的 Object**(不限于某个地址)的直接 API 或方法。
知识来源中提供的查询方式均基于**特定地址**(owner)来获取其拥有的余额或对象,例如:
- `client.core.listBalances({ owner: '0xabc...' })` [[Core API](https://sdk.mys…
Q: Will Sui wallet support balance transfers? They are asking for Suiet wallet
A: The knowledge sources do not contain specific information about whether **Suiet wallet** will support address balance transfers (the new `send_funds`-based approach). The sources only mention that Sui…
Q: In the sui-rust-sdk, is there something similar to the keystore of the sui-sdk for loading keys and signing?
A: The knowledge sources don't contain enough detail about the Sui Rust SDK's keystore equivalent to give a fully confident answer. However, based on what is available, here's what the sources do show:
…
Q: next is how to add versioning to my package so that if there is an upgrade in future users are mandated to call only the newer version
A: The standard pattern for this on Sui is the **versioned shared object** pattern. Here's how to implement it:
## 1. Add a `VERSION` constant and a `version` field to your shared object
```move
const …
Q: So it's a protocol level rule?
A: Yes, exactly. The deny list enforcement for regulated coins is a **protocol-level rule**, not something enforced by smart contract logic alone.
Here's what that means in practice:
- When an address …
Q: Can I get the digest of a package with Move on chain?
A: The knowledge sources mention the `ticket_digest` function in the `sui::package` module, which allows you to retrieve the digest from an `UpgradeTicket` on-chain:
```move
public fun ticket_digest(tic…
Q: How about private transactions
A: The knowledge sources do not contain enough information to answer whether private transactions (i.e., transaction-level confidentiality, such as hiding sender, receiver, or amounts) are available or p…
Q: I don't see the documentation related to kv_objects pipeline
A: You're right to notice that. The knowledge sources do not contain a dedicated documentation page or section specifically for the `kv_objects` pipeline configuration. Here's what the sources do tell us…
Q: localnet graphsql conection
A: To connect to a local Sui network via GraphQL, use the following URL: `http://127.0.0.1:9125/graphql`.
First, start your local network with GraphQL enabled:
```sh
sui start --force-regenesis --with-…
Q: which is best for error constants "E_NOT_OWNER" and "EnotOwner" ?
A: Neither of those two options is the recommended convention. The correct format for error constants in Move on Sui is **`EPascalCase`** (also called ECamelCase) — starting with a capital `E` followed b…
Q: Explain this party thing well I dont understand
A: ## Party Objects in Sui — Explained Simply
Think of a **Party object** as a special type of object ownership that sits between two existing types you may already know:
---
### The Two Existing Type…
Q: А как мне передать VecMap в параметры вызова из sdk?
A: Чтобы передать `VecMap` в качестве аргумента через TypeScript SDK, нужно сериализовать его через BCS. `VecMap` внутренне представлен как два вектора: `keys` и `values`.
Используйте `b…
Q: I want to publish a package both on testnet and mainnet. Do these give me back different UpgradeCap, or it the same for both?
A: When you publish a package to **testnet** and **mainnet**, you get **different `UpgradeCap` objects** for each — one per publication. Each deployment is an independent on-chain event, and Sui creates …
Q: start_timeとend_timeを持たせるか、start_timeだけ持たせて、24 hour後に終わることを決めてるから逐次+24時間して算出するかどっちがいい?
A: 会話の流れから、時間ベースのロジック(例:マーケットプレイスのオークションや Kiosk のルールなど)を設計する際に、`start_time` と `end_time` の両方を持つか、`start_time` だけ持って `+24時間` で算出するかを聞いていると理解しました。
## どちらが良いか
知識ソースにある実装例を見ると、**両方のパターンが使われています**。
### `st…
Q: How do I deploy to Sui?
A: Here's how to deploy (publish) a Move package to Sui:
## 1. Set Up the Sui CLI
If you haven't initialized the Sui Client CLI yet, run `sui client` in your terminal. Follow the prompts:
- Enter `y` t…
Q: 如果升级的cap是多签账户 我生成未签名的txbytes是不是就可以使用sui client upgrade --upgrade-capability 0xc1c6690f21937f90e6b42f7c916d8e8c942926e3fb9e5c3c5584ae1e91502f25 \
--gas-budget 1000000000 --gas 0xb54b10536826f28cd2453c5226f8c759c3bccf4beb672890f1447117c2ef93f7 \
--serialize-unsigned-transaction --skip-dependency-veri
A: 是的,你的思路是正确的。对于多签账户升级包,使用 `--serialize-unsigned-transaction` 生成未签名的交易字节,然后由各签名方分别签名,最后合并执行,这是标准的离线签名流程。[[Offline Signing](https://docs.sui.io/guides/developer/transactions/transaction-auth/offline-sign…
Q: Cannot upgrade package without having a published id 现在升级报错了 hasui现在升级无法使用命令sui client upgrade --upgrade-capability 0xc1c6690f21937f90e6b42f7c916d8e8c942926e3fb9e5c3c5584ae1e91502f25 \
--gas-budget 160000000 --gas 0xe9ab96bcb2e610a12f7996aed1b2da4b474bbef55ade2d6c16fed0afcb15daeb \
--serialize-unsig
A: The error "Cannot upgrade package without having a published id" is related to the **new package management system introduced in Sui CLI v1.63**, which changed how published addresses are tracked. [[P…
Q: you said For a full historical account of the old rules, I'd recommend checking the Sui GitHub history or older versions of the documentation directly.
I asked if you can check the history for me
A: I'm sorry, but I'm not able to browse the internet, access GitHub history, or retrieve external documentation beyond the knowledge sources I've been provided. My previous suggestion to check the Sui G…
Q: Pure PTB execution + bridge treasury interaction
A: ## PTB Execution & Bridge Treasury Interaction on Sui
### Programmable Transaction Block (PTB) Execution
A PTB is composed of two parts: **inputs** and **commands**. [[What is a PTB?](https://docs.s…
Q: bridge_seq_num (different BridgeMessageKey
A: ## `bridge_seq_num` in `BridgeMessageKey`
In Sui's native bridge, `BridgeMessageKey` is a struct used to uniquely identify a bridge message. It has three fields:
```move
public struct BridgeMessageK…
Q: walrus launch date
A: Walrus Mainnet launched on **March 27, 2025**, with Epoch 1 beginning on March 25, 2025, operated by a decentralized network of over 100 storage nodes. [[Mainnet launch](https://docs.wal.app/blog/06_m…
Q: trion-protocol-30296913:~/trion-protocol/trion_core{main}$ sui client publish --build-env testnet
The package has unpublished dependencies. If you want to publish with unpublished dependencies, please publish them one by one, or (not recommended) pass the `--with-unpublished-dependencies` flag.
Unp
A: The issue is that even though you've provided `published-at` and `original-id` in your `[dep-replacements]`, the package manager still isn't recognizing `World` as already published on-chain. This is …
Q: here is world published.toml
# Generated by Move
# This file contains metadata about published versions of this package in different environments
# This file SHOULD be committed to source control
[published.testnet]
chain-id = "4c78adac"
published-at = "0x33226d2eedda428eb7e1a56faf525bd5300f9394a5d
A: Looking at the `World` package's `Published.toml`, the `testnet_utopia` environment has its own separate chain-ID entry (same chain ID `4c78adac` as testnet, but a distinct environment name). You need…
Q: Sui CLI commands publish package call function devnet testnet
A:
Q: write unit test for me please:
module walrus_ai_policy::metadata;
use std::string::{Self, String};
use sui::clock::Clock;
public struct Metadata has copy, drop, store {
title: String,
description: String,
version: u64,
creator: address,
category: String,
created_at: u64,
}
A: Here is a unit test for your `walrus_ai_policy::metadata` module, based on the testing patterns from the Sui documentation:
```move
#[test_only]
module walrus_ai_policy::metadata_tests;
use std::str…
Q: What is Mysticeti?
A: Mysticeti is the consensus protocol that powers the Sui blockchain. It is a high-throughput, Byzantine Fault Tolerant (BFT) protocol based on a **Directed Acyclic Graph (DAG)** architecture. [[Sui Glo…
Q: Can you explain what does the copy ability do?
A: ## The `copy` Ability in Sui Move
The `copy` ability allows values of a type to be **duplicated or copied**. Without it, Move types are linear by default — meaning they can only be moved, not copied.…
Q: What is object display? why it's used?
A: ## Sui Object Display
**Object Display** is a standard on Sui that provides a way to render any on-chain object using a templating syntax. It renders Sui Move object values into human-readable string…