Weekly Docs Report

docs.sui.io Analytics

2026-04-14 to 2026-04-20 · Plausible + Kapa · Run 20260421T153928Z

Executive Summary

Kapa Questions
627
Themes Identified
9
Visitors (7d)
4,152
Represents roughly 44% of the 14-day total (9,448), suggesting stable week-over-week traffic with slight improvement in the most recent week.
Pageviews (7d)
12,326
Averages ~1,761 pageviews/day; April 20 was the highest single day at 2,292, indicating a mid-week/Monday spike.
Bounce Rate (7d)
62%
Slightly better than the 14-day (65%) and 30-day (65%) averages, hinting at a modest recent improvement in visitor engagement.
Views Per Visit (7d)
2.64
Consistent across all windows (2.56–2.64), suggesting visitors reliably browse 2–3 pages per session regardless of period.
Avg Visit Duration (7d)
157 seconds
Below the 14-day average of 168s, but above the 30-day average of 160s — typical for a documentation site where users scan for answers quickly.
Move smart contract development and gRPC/GraphQL API usage dominate developer activity this week, with 627 Kapa questions spanning 9 themes and strong onboarding traffic on docs.sui.io. Key friction areas are NFT/Kiosk standards and advanced Move patterns, where the bot frequently returned uncertain answers indicating documentation gaps.

Traffic Overview

docs.sui.io recorded 4,152 unique visitors and 12,326 pageviews over the 7-day period April 14–20, 2026. Engagement is moderate with a 62% bounce rate, 2.64 views per visit, and an average session duration of 157 seconds. Traffic is dominated by direct visits and Google search, with getting-started and onboarding content driving the most page-level interest. Weekend traffic dips noticeably on April 18–19 but rebounds strongly on April 20.

Weekend traffic trough with strong Monday rebound

Visitors dropped to 448 and 472 on April 18–19 (Saturday–Sunday), then surged to 708 on April 20 (Monday) — the highest single day of the week with 2,292 pageviews, confirming a weekday-dominant developer audience.

AI assistant referrals emerging as a meaningful channel

ChatGPT (25 visitors) and Claude (8 visitors) together account for 33 referral visitors. Claude users in particular show 541s avg session duration — the longest of any source — suggesting AI-referred users arrive with focused research intent and high engagement.

New onboarding path gaining traction over legacy guides

The new /getting-started/onboarding/sui-install (363 visitors) significantly outpaces the legacy /guides/developer/getting-started/sui-install (143 visitors), indicating successful migration to the new docs structure, though legacy URLs still drive meaningful traffic.

Bounce rate improvement in most recent 7-day window

The 7-day bounce rate (62%) is 3 points better than both the 14-day and 30-day averages (65%), suggesting recent content or structural improvements are reducing drop-offs.

DeepBook and DeFi content drawing engaged specialist audience

Both /onchain-finance/deepbookv3/deepbook (107 visitors, 20% bounce) and deepbook.tech referrals (94 visitors, 197s duration) point to a growing, highly engaged DeFi developer segment actively using Sui docs for protocol integration work.

Top 20 Pages

# Page Insight
1 / Top page with 1,121 visitors and 1,459 pageviews; low 23% bounce rate and 69s time-on-page suggest it effectively funnels users deeper into the docs.
2 /getting-started/onboarding/sui-install 363 visitors and 476 pageviews — the most-visited install guide, confirming installation as the primary new-user entry point.
3 /sui-api-ref 136 visitors but 260 pageviews (high ratio), indicating return visits and deep usage by developers referencing the API.
4 /guides/developer/getting-started/sui-install 143 visitors — the legacy URL for install still draws significant traffic, suggesting older links or bookmarks remain active alongside the new onboarding path.
5 /getting-started/onboarding/get-coins 132 visitors; a key step in the onboarding flow, showing strong new-user funnel completion past the install step.
6 /getting-started/onboarding 157 visitors with only 9% bounce rate — serves as an effective onboarding hub, keeping users engaged and navigating further.
7 /getting-started/onboarding/hello-world 118 visitors with a relatively high 68% bounce rate, suggesting some users drop off after the hello-world exercise rather than continuing.
8 /getting-started/tooling 100 visitors and 167 pageviews with 25% bounce rate; low bounce indicates tooling content is consumed alongside other reference material.
9 /references/fullnode-protocol 89 visitors with a low 22% bounce rate and 159 pageviews, pointing to operators and node runners doing deep technical research.
10 /getting-started 109 visitors, 10% bounce rate — acts as a strong gateway page that drives users onward into the getting-started journey.
11 /onchain-finance/deepbookv3/deepbook 107 visitors with 20% bounce rate; DeepBook content draws engaged DeFi developers who continue exploring related docs.
12 /references/sui-api 108 visitors and 144 pageviews with 20% bounce rate — steady API reference usage by active developers.
13 /develop/sui-architecture/tokenomics-overview 112 visitors but 50% bounce rate; tokenomics draws interest but may not satisfy readers, possibly needing more detailed content.
14 /getting-started/onboarding/configure-sui-client 82 visitors with a low 19% bounce rate and 66s time-on-page, showing developers carefully follow configuration steps.
15 /getting-started/onboarding/ 73 visitors — the trailing-slash variant indicates some duplicate traffic; could be consolidated with the canonical onboarding page.
16 /guides 82 visitors with a low 17% bounce rate — serves as a navigation hub, effectively directing users to specific guide content.
17 /develop/write-move/sui-move-concepts 91 visitors with 44% bounce rate; Move concepts attract developers but nearly half leave, suggesting the content may benefit from clearer onward navigation.
18 /getting-started/onboarding/get-address 64 visitors with 24% bounce rate and 56s time-on-page — a key onboarding step with solid engagement.
19 /develop/sui-architecture/ 72 visitors with 18% bounce rate — architecture overview is a low-bounce reference point that supports deeper exploration.
20 /develop/accessing-data/grpc 56 visitors but notably high scroll depth of 73 and 54% bounce; gRPC content is read thoroughly by those who stay, but over half leave quickly — may need a better intro.

Referral Sources

Source Type Insight
Direct / None Organic 1,955 visitors (largest source) with 68% bounce rate and 130s avg duration; direct traffic likely includes bookmarks, internal teams, and developers with saved links.
Google Organic 1,125 visitors with 55% bounce rate and 214s avg duration — the highest-quality search channel, with users spending significantly more time than average.
sui.io Organic 485 visitors referred from the main Sui website with 47% bounce rate and 145s duration; strong internal referral converting well.
Bing Organic 208 visitors with an elevated 80% bounce rate and only 93s duration — Bing traffic is low intent or poorly matched, underperforming vs. Google.
deepbook.tech Organic 94 visitors with 46% bounce rate and 197s duration — highly engaged DeFi/DeepBook audience arriving with specific technical intent.
docs.sui.io Organic 78 self-referrals with 54% bounce rate and 362s duration — internal cross-links drive some of the longest sessions on the site.
blog.sui.io Organic 42 visitors from the Sui blog with 69% bounce rate; blog-to-docs conversion is modest, potentially an opportunity to improve cross-linking.
GitHub Organic 32 visitors from GitHub with 50% bounce rate and 50s duration; developer-origin traffic but relatively short sessions suggest link-hopping rather than deep reading.
Baidu Organic 28 visitors with 93% bounce rate and 0s duration — extremely low engagement; likely bot traffic or heavily mismatched landing pages for Chinese search users.
chatgpt.com AI / Chatbot 25 visitors referred by ChatGPT with 67% bounce rate and 43s duration; AI assistant referrals are emerging but sessions are short, suggesting users verify quick facts.
DuckDuckGo Organic 20 visitors with 60% bounce rate and 32s duration — privacy-focused search users show lower engagement than Google searchers.
suiplay.sui.io Organic 18 visitors from SuiPlay with 55% bounce rate and 152s duration; gaming/consumer product audience engaging meaningfully with developer docs.
Twitter Organic 17 visitors with 68% bounce rate and 158s duration; social traffic is low volume but those who stay read for a meaningful time.
Facebook Organic 16 visitors with 50% bounce rate and 132s duration — modest but reasonably engaged social referral traffic.
evefrontier.com Organic 11 visitors from the Eve Frontier game with 64% bounce rate and 44s duration; niche gaming partnership driving small but notable referral flow.
luma Organic 10 visitors from Luma (event platform) with 33% bounce rate and 460s duration — event-driven traffic shows the highest session duration of any source, indicating highly motivated attendees.
claude.ai AI / Chatbot 8 visitors from Claude AI with 54% bounce rate and 541s duration — the longest avg session of any referral source; Claude users deeply engage with docs content when referred.
Yahoo! Organic 8 visitors with 75% bounce rate and near-zero duration — very low quality traffic similar to Baidu.
okg-block.sg.larksuite.com Organic 7 visitors from a Lark/Feishu workspace — likely an Asian developer team or community sharing docs links internally.
Yandex Organic 6 visitors with 33% bounce rate and 77s duration — small but relatively engaged Russian-language search traffic.

chatgpt.com

25 visitors with 43s avg session; ChatGPT users arrive for quick fact verification, not deep reading.

claude.ai

8 visitors with 541s avg session — the longest of any referral source, indicating highly focused research intent when Claude refers users to docs.

Top 10 Referrer URLs

Exact referring URL or domain and the number of visits driven from each. Direct (no referrer) is excluded.

Referrer Visitors Pageviews
google.com 1092 3678
sui.io 485 1589
bing.com 206 305
deepbook.tech 94 406
blog.sui.io/announcing-move-registry-interoperability 30 52
duckduckgo.com 20 44
suiplay.sui.io 18 36
chatgpt.com 17 40
google.com.hk 16 18
t.co 15 100

Page ↔ Kapa Theme Correlations

High-traffic pages mapped to the Kapa themes they correspond to.

Page Related Kapa Theme Insight
/develop/accessing-data/grpc gRPC, GraphQL, and JSON-RPC API Usage High scroll depth (73) confirms developers deeply read gRPC content, matching 156 Kapa API questions.
/getting-started/onboarding/sui-install Developer Tooling and Environment Setup 363 visitors on install page aligns with 21 Kapa tooling questions on PATH and suiup setup.
/sui-api-ref gRPC, GraphQL, and JSON-RPC API Usage High pageview-to-visitor ratio (260/136) signals repeat API reference usage matching heavy gRPC questioning.
/develop/write-move/sui-move-concepts Move Smart Contract Development 44% bounce rate suggests Move concepts content doesn't fully satisfy developers exploring advanced patterns.
/onchain-finance/deepbookv3/deepbook Tokenomics, Staking, and DeFi 107 engaged visitors match DeFi/DeepBook questions on staking, governance, and pool mechanics.
/develop/sui-architecture/tokenomics-overview Tokenomics, Staking, and DeFi 50% bounce rate on tokenomics page suggests content doesn't fully satisfy developers' questions.
/getting-started/onboarding/hello-world Developer Tooling and Environment Setup 68% bounce rate indicates developers drop off after hello-world, lacking clear next steps.
/references/fullnode-protocol Node Operations and Infrastructure 22% bounce rate on fullnode protocol page reflects deep operator research matching 24 node Kapa questions.

Notable Takeaways

NFT/Kiosk questions had a 100% uncertain-answer rate from the bot

7 out of 7 sampled NFT/Kiosk Kiosk questions received uncertain or empty answers

Complete bot coverage failure on NFT/Kiosk standards signals a critical documentation gap that blocks an entire developer segment.

JSON-RPC deprecation deadline is driving a migration surge

156 gRPC/GraphQL/JSON-RPC questions out of 627 total (25% of all questions)

One in four questions this week involves API migration, making this the single largest driver of developer friction volume.

Claude AI referrals show 12.6x longer sessions than ChatGPT referrals

claude.ai avg session 541s vs chatgpt.com avg session 43s

AI assistant referral quality varies dramatically; Claude users arrive with deep research intent and represent a high-value inbound channel.

Legacy install URL still captures 28% of install traffic

Legacy /guides/developer/getting-started/sui-install drew 143 visitors vs 363 on new path

Significant developer traffic is landing on outdated content, risking incorrect onboarding instructions for nearly one-third of install-page visitors.

Developer Usage Trends

Topics where the bot provided confident, well-sourced answers — reflecting what developers are actively working on.

#1 190 questions high priority

Move Smart Contract Development

Developers are actively building core Move contracts; strong bot coverage confirms docs are working here.

Show 212 questions
Q: I've got a yarn (berry) workspace. It has the node packages stored under the packages/ directory. I will store move files under the move/ directory. I've manually created a move package under the move/ directory but I'm not sure what workspace to initialize in order to contain my move packages.
A: A Move "workspace" is simply a directory that contains a `Move.toml` manifest file and a `sources/` subdirectory — there is no separate workspace-level initializer like in Yarn/npm. Each Move package …
Q: I'm attempting to develop a sui vault using perplexity, but the bot I'm using in that conversation is unable to infer some of the knowledge required to satisfy my requests. I'm going to share the list of things it cannot resolve below. Can you generate a prompt that will satisfy the holes in its kno
A: Rather than generating a prompt for another AI, I can directly answer both knowledge gaps using verified Sui framework documentation. --- ## 1. `coin::create_currency` Signature and Freeze Sequence …
Q: sui move call 一个tx最多可以多少个?
A: 在 Sui 上,一个 PTB(Programmable Transaction Block)最多可以包含 **1,024 个**独立操作(commands)。 [[PTB 文档](https://docs.sui.io/develop/transactions/ptbs/prog-txn-blocks)] 也就是说,你可以在单个交易中链式调用最多 1,024 次 `MoveCall` 或其他命…
Q: 今年sui有哪些重大更新升级?
A: 根据知识来源,以下是Sui在2025-2026年的重大更新与升级: ## 核心技术升级 - **Mysticeti v2**:Sui共识引擎升级,实现了亚秒级(不到1秒)的交易最终确认,适用于大多数使用场景。[[Sui Stack 2025](https://blog.sui.io/2025-sui-stack-developments/)] - **新虚拟机(New VM)**:Sui执行层…
Q: provide me a code snippet to get the clock
A: Here's how to access the current timestamp using the `Clock` object in a Sui Move smart contract: ```move module basics::clock; use sui::clock::Clock; use sui::event; public struct TimeEvent has co…
Q: 模拟运行tx,得到gas开销
A: 在 Sui 上模拟运行交易(不实际提交上链)并获取 Gas 开销,有以下几种方式: --- ## 方法一:使用 Sui CLI `--dry-run` ```bash # 直接对交易字节进行 dry run sui client dry-run # 或在调用 Move 函数时加上 --dry-run 标志 sui client call \ --package <…
Q: please explain the concept of witness in Move
A: ## The Witness Pattern in Move A **witness** is a design pattern used to prove a certain property by constructing a proof. In Move, a module proves ownership of a type simply by constructing (instant…
Q: 讲一下mvr 添加的流程,怎么又是matedata,又是package。又是组织的
A: The knowledge sources provided do not contain detailed step-by-step documentation about the full MVR registration flow (including the relationships between metadata, packages, and organizations/namesp…
Q: suix_queryTransactionBlocks cannot filter by address?
A: Yes, that's correct. `suix_queryTransactionBlocks` (JSON-RPC) has limited filtering capabilities compared to GraphQL. For filtering transactions by address, the recommended approach is to migrate to t…
Q: How can I fix this cargo build failure: error: failed to select a version for the requirement `core2 = "^0.4.0"` version 0.4.0 is yanked location searched: crates.io index required by package `multihash v0.17.0` ... which satisfies dependency `multihash = "^0.17"` of package `multiaddr v0.17.0
A: The error you're encountering is a Rust/Cargo dependency resolution issue — specifically, the `core2 v0.4.0` crate has been yanked from crates.io, and the dependency chain through `mysten-network` and…
Q: Accepts a JSON transaction matching the Sui gRPC API schema. The JSON format allows for partial transaction specification where certain fields can be automatically resolved by the server. --------- This is what it says for simulateTransaction graphlq query. Can you give an example of this JSON?
A: The knowledge sources mention that `simulateTransaction` accepts a JSON transaction matching the [Sui gRPC API schema](https://docs.sui.io/references/fullnode-protocol#sui-rpc-v2-Transaction), and tha…
Q: Боюсь взлома, так как раньше создавал кошельки через CLI, сейчас хочу создать новый чистый кошелек без CLI, где это лучше сделать в фантоме или в слуш а потом импортировать в фантом? Просто слушом пользоваться не могу из-за их предупреждений о мошеннических токенах
A: Понимаю твою ситуацию. Вот что говорят источники о Phantom и Slush: ## Phantom — хороший выбор для твоего случая **Phantom** — это самокастодиальный мультичейн кошелёк, доступный как: - Браузерное р…
Q: here is another feature of the app, customized report generation by the users, the users will choose report generating intervals either daily, weekly, monthly or yearly. how will i handle this using sui tools?
A: For customized report generation with user-defined intervals (daily, weekly, monthly, yearly), this is primarily a **data querying and aggregation** challenge rather than a blockchain-specific one. He…
Q: So macros can't abort?
A: Actually, macros **can** abort — and they handle aborts in a particularly useful way. ## Macros and Aborts Macros can use both `abort` and `assert!` directly in their bodies. In fact, the `assert!` …
Q: cargo run --bin sui-kv-rpc -- zan-sui-archive-store-main 0.0.0.0:19184 127.0.0.1 19180 --credentials /root/maxen-1-f9ca39781e21.json Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.66s Running `/home/sui-graphql/sui/target/debug/sui-kv-rpc zan-sui-archive-store-main '0.0.0.0
A: The error is the same as before — a trailing slash is being appended to your instance ID internally, resulting in `zan-sui-archive-store-main/` instead of `zan-sui-archive-store-main`. Looking at you…
Q: ### Capability Leakage via Events **Severity:** High Event-based capability leakage occurs when a module emits a capability struct, its object ID, or internal fields as part of an on-chain event. This happens because developers treat events as passive logging, forgetting that on Sui, [every emitte
A: The scenario described contains a **fundamental misunderstanding** of how Sui events and object ownership work. Let me clarify based on the knowledge sources: ## Why This Is Not a Valid Attack Vector…
Q: wallet
A: ## Wallets on Sui A Sui wallet stores the cryptographic keys that prove ownership of your onchain assets and signs the transactions you submit to the network. [[What Is a Wallet?](https://docs.sui.io…
Q: どうやってeventをfetchする?
A: Sui でイベントを取得する方法は主に3つあります。 ## 1. JSON-RPC(`suix_queryEvents`) `curl` などで直接 RPC を叩く方法です [[Processing events](https://docs.sui.io/develop/accessing-data/using-events#processing-events)]: ```sh curl -…
Q: name │ ╭───────┬────────────────────────────────────────╮
A: The Base64 value `GHBlbmRpbmdfcG9zaXRpb25fY2FwX2lkcw==` decodes to the bytes of the string `ending_position_cap_ids` (with a length prefix byte). Since the name type is `vector`, you can use a Dis…
Q: keytool import
A: `sui keytool import` 可以將助記詞(mnemonic)或 Bech32 格式的私鑰加入到 Sui CLI 的本地 Keystore。 ## 基本語法 ```sh sui keytool import INPUT KEY_SCHEME ``` - `INPUT`:助記詞(12/15/18/21/24 個單字)或 Bech32 編碼的私鑰(以 `suiprivkey` 開頭)…
Q: cani use nautilaus on Microsoft Azure
A: Based on the knowledge sources, **Nautilus currently does not support Microsoft Azure**. It only supports: 1. **Self-managed AWS Nitro Enclaves** — the primary and currently only native TEE provider …
Q: does init function require otw anymore?
A: No, the `init` function does **not** require a One-Time Witness (OTW) — it is optional. According to the Move Book, the `init` function can take one or two arguments: [[module initializer](https://mo…
Q: what idea can use Groth16 as core feature
A: Here are some ideas that can use Groth16 as a core feature on Sui, based on the knowledge sources: ## Ideas Using Groth16 on Sui ### 1. **Privacy-Preserving Proof of Knowledge** You can build applic…
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…
#2 156 questions high priority

gRPC, GraphQL, and JSON-RPC API Usage

Active JSON-RPC migration and gRPC adoption show developers are modernizing integrations at scale.

Show 132 questions
Q: i already installed i need to set it as path
A: Based on the knowledge sources, after installing Sui via `suiup`, the binaries are installed to `$HOME/.local/bin`. You need to make sure that directory is in your `PATH`. Add it to your `~/.bashrc` …
Q: so what are all the function with the grpc
A: Here's a summary of all the gRPC services and their available methods on Sui: ## gRPC Services & Methods ### LedgerService For querying objects, transactions, checkpoints, epochs, and system state. …
Q: ohk now i get it Just implemented and enriched the way we fecht and pull info from the network or so
A: Exactly! You've got it. To summarize what the migration to gRPC improves: - **Performance**: gRPC uses Protocol Buffers (binary format) instead of JSON, making data transfer faster and more compact. …
Q: how does defil protocols create AMM from deepbook orderbook?
A: Based on the knowledge sources available, here's what's documented about how DeFi protocols can create AMM-like functionality on top of DeepBook's order book: ## DeepBook's Built-in Swap Interface D…
Q: Give me the same usecase for each of them
A: Based on the knowledge sources, here are concrete use cases for each standard: --- ## Use Cases for Each Sui Asset Standard ### 1. Coin Standard (`Coin`) — *Like ERC-20* **Use case: A general-pu…
Q: 我要如何制作一个可以在其他交易所上架的 NFT?
A: 在 Sui 上,要制作一个可以在其他交易所(市场)上架的 NFT,你需要结合以下几个关键步骤: ## 1. 定义 NFT 结构 使用 Move 定义你的 NFT 类型,需要同时拥有 `key` 和 `store` 能力(这样才能通过标准转移函数交易): ```move module examples::testnet_nft; use std::string; use sui::url::…
Q: mvr register @alice/my_token --package-id 0x1234567890abcdef --network testnet
A: The knowledge sources do not contain enough information to confirm the exact syntax or usage of the `mvr register` CLI command (including flags like `--package-id` or `--network`). What the knowledge…
Q: GasCoin Access to the gas inputs, after they have been smashed into one coin. The gas coin can only be used by reference, except for with TransferObjectsTransaction that can accept it by value.
A: ## GasCoin in Sui PTBs **GasCoin** represents access to the gas inputs after all gas payment coins have been merged ("smashed") into a single coin. [[GasCoin reference](https://docs.sui.io/references…
Q: What's the difference between dev inspect and simulate tx?
A: Both `devInspectTransactionBlock` (dev inspect) and `dryRunTransactionBlock` / `simulateTransaction` are simulation methods, but they differ in a few key ways: ### `devInspectTransactionBlock` (Dev I…
Q: How can we get reference-gas-price using grpc? Is there any way or we have to use graphql
A: Yes, you can get the reference gas price using **gRPC**. The gRPC replacement for the old `getLatestSuiSystemState` / `getValidatorsApy` JSON-RPC methods is via the **Ledger Service**. Specifically, y…
Q: But transaction takes JSON as input. How do we get base64-encoded-transaction in JSON format?
A: Great question. The `transaction` parameter accepts JSON, and you can pass BCS-encoded data by wrapping it in a specific JSON structure: `{"bcs": {"value": ""}}`. To get that base64 value, you…
Q: 2026-04-20T10:14:52.909780Z INFO sui_indexer_alt_framework::pipeline::concurrent::commit_watermark: Starting commit watermark task pipeline="kvstore_system_packages" next_checkpoint=267016987 2026-04-20T10:14:52.909893Z INFO sui_indexer_alt_metrics: Starting metrics service on 0.0.0.0:19004 2026-0
A: Based on the knowledge sources available, I can see a few things from your new logs, but I must be honest about the limits of what I can diagnose. ## What the logs show 1. **Streaming connection is …
Q: 'result' implicitly has type 'any' because it does not have a type annotation and is referenced directly or indirectly in its own initializer.
A: This TypeScript error is caused by the `do...while` loop where `result` is used inside the loop body before TypeScript can infer its type. The fix is to explicitly annotate the type of `result`. Here…
Q: tell me about your project
A: I'm kapa.ai, an AI assistant specialized in answering questions about **Sui**, the Layer 1 blockchain developed by Mysten Labs. I'm not a project myself — I'm here to help you learn about Sui and its …
Q: ubuntu@sui-mainnet-1:~$ cargo install --locked --git https://github.com/MystenLabs/sui.git --branch mainnet sui --features tracing Updating git repository `https://github.com/MystenLabs/sui.git` error: could not find `sui` in https://github.com/MystenLabs/sui.git?branch=mainnet with version `*`
A: The knowledge sources confirm that the local clone approach using `--path crates/sui` is the recommended method for installing from source. Let's try that: ```sh git clone https://github.com/MystenLa…
Q: Give me a Transaction Object Model By JSON
A: Based on the knowledge sources, here is the Transaction object model in JSON format, derived from the GraphQL schema and gRPC proto definitions: ```json { "digest": "string (Base58-encoded 32-byte …
Q: Can I create display on init?
A: No, you cannot create a Display V2 in `init`. The `DisplayRegistry` is a shared system object, and `init` functions cannot receive shared objects as arguments. [[Display Hero README](https://github.co…
Q: Wasnt "The Move Book" for Dieam only
A: No, **The Move Book** is specifically for Move on Sui, not Diem. The knowledge sources are clear on this: > "This is The Move Book - a comprehensive guide to the Move programming language and the **S…
Q: give me the code snippet to delete and object
A: Here's how to delete an object in Sui Move: ```move public fun delete_object(my_object: MyObject) { // 1. Unpack the struct to retrieve its UID let MyObject { id, .. } = my_object; // 2. …
Q: What are programmable transaction blocks (PTBs)?
A: ## Programmable Transaction Blocks (PTBs) Programmable Transaction Blocks (PTBs) are the foundation of all user transactions on Sui. They are groups of commands that execute on inputs to define the r…
Q: A Kahoot! quiz focused on the Sui blockchain, which tech stack of SUI will link to this one
A: Here's a Kahoot!-style quiz focused on the Sui blockchain tech stack, based on the knowledge sources: --- ## 🎮 Sui Blockchain Tech Stack Quiz --- **Question 1: What is the consensus engine powerin…
Q: Documentation and example about Sponsor Tx (without using Enoki)
A: ## Sponsored Transactions on Sui (Without Enoki) ### Overview A sponsored transaction allows a **sponsor** to pay gas fees on behalf of a **user**. This removes the need for users to hold SUI or und…
Q: 每秒多少个checkpoint?
A: Sui 大约每秒创建 **4 个 checkpoint**。[[Blocks vs Checkpoints](https://docs.sui.io/operators/exchange-integration#blocks-vs-checkpoints)]
Q: How much params can put in function per tx
A: Based on the knowledge sources, there are a couple of relevant limits for function parameters per transaction on Sui: - **Maximum number of arguments in a Move call** (or a PTB's `TransferObjects` co…
Q: wen object v2 will release on testnet and mainnet
A: Based on the knowledge sources, **Object Display V2** was introduced in **Sui v1.68**, which has already been released on **Mainnet** (v1.68.1 is confirmed as a Mainnet release at Protocol Version 118…
Q: test net seal key server list
A: Here are the verified Seal key servers available on **Testnet** (open mode, free for development): | Provider | Object ID | |----------|-----------| | Mysten Labs (testnet-1) | `0x73d05d62c18d9374e3e…
Q: do sui events have a way to be sequenced or have some sequencing number we can read?
A: Yes, Sui events have sequencing information available through multiple fields: ## Event Sequencing **1. `eventSeq` (within a transaction)** Each event has an `id` object containing both a `txDigest…
Q: S D:\BlockMob\axon-wallet-backend> npm run test:sui-limit-order > okx-wallet-backend@1.0.0 test:sui-limit-order > tsx src/limit-order/tests/sui-limit-order-minimal-example.ts Signed (offline) bytes: AAsBAcsIrFHEpg5RLwOuYu9Zdeb+2Z8Bn6IVAlWiNB9fD/i/eiRkMgAAAAABAQHgXa+1EzvP+41Z9OEkZdwOn66qBePjQqCP4TW
A: The error you're seeing is: ``` MoveAbort ... order_info::validate_inputs ... 1 ``` This means the transaction was **aborted during input validation** when placing the limit order. The `validate_inp…
Q: Explain to me the encryption and decryption process using seal. When you encrypt, are you uploading the secret to seal servers? I'm hitting a snag at this step and I don't know why: (base) okorideo@Okoris-MacBook-Air seal-official % cargo run --bin seal-cli fetch-keys --request "$FETCH_KEY_REQ" \
A: ## Seal Encryption & Decryption Overview ### Is the secret uploaded to Seal servers during encryption? **No.** Encryption is entirely local — no key server contact happens during this step. Here's w…
Q: query data from sui public node
A: There are two primary ways to query data from a Sui public node: **gRPC** and **GraphQL RPC**. Note that JSON-RPC is **deprecated** and you should migrate away from it. [[Data Access Interfaces](https…
Q: 类似blockSec的
A: 根据知识来源,与 BlockSec 类似的第三方交易追踪/调试工具,在 Sui 生态中有: **Sentio Debugger** 这是一个社区工具,可以展示交易的执行追踪(trace),目前**仅支持 Mainnet**。 [[Developer Tools](https://docs.sui.io/getting-started/tooling#testing-and-debugging)…
Q: Can you give me an example of how I can query balances with these new RPC? USing https://suiscan.xyz/mainnet/tx/GxqDrsyQCoGEz8GAUURhdBw2xKg61fKhXmtAn73yGpHc as a reference
A: Here are practical examples for querying balances using the current RPC options: ## TypeScript SDK (gRPC Client) ```typescript import { SuiGrpcClient } from '@mysten/sui/grpc'; const grpcClient = n…
Q: What is the format of package binary that is stored on chain?
A: Based on the knowledge sources, here is what is documented about the on-chain format of a Move package binary: ## On-Chain Package Binary Format ### Object-level structure A Move package is stored …
Q: what is the sui mainnet full node url
A: The Sui Mainnet full node URL is: ``` https://fullnode.mainnet.sui.io:443 ``` [[Sui Networks](https://docs.sui.io/develop/sui-architecture/networks)]
Q: 那是否可以通过`sui`命令行,下载这个object的内容,然后`sui move disassemble`来得到?如果可以,给我整个bash脚本.
A: 根据我所掌握的知识来源,`sui move disassemble` 确实是 Sui Move CLI 的一个子命令 [[Sui Move CLI](https://docs.sui.io/references/cli/move#commands)],但知识来源中**没有提供**关于如何: 1. 通过 `sui client object` 下载链上 package 的字节码内容 2. 将其转换…
Q: importExtension: "",
A: Câu hỏi của bạn chỉ chứa đoạn code `importExtension: "",` mà không có đủ ngữ cảnh để tôi hiểu bạn đang hỏi gì. Bạn có thể cung cấp thêm thông tin không? Ví dụ: - Đây là đoạn code từ file nào? - Bạn đ…
Q: giải thích về Consensus
A: ## Consensus trên Sui **Consensus** (đồng thuận) là quá trình mà phần lớn các node trên mạng blockchain đồng ý về trạng thái hiện tại của mạng, bao gồm các giao dịch nào cần được hoàn tất và ghi vào …
Q: Give me the best skills for Sui Network that will worrk with Claude, I want everything for Sui Node API, Move Programming and Indexing Sui Node data
A: Based on the knowledge sources, here's what's available for Sui skills and tooling across your three areas of interest: ## Sui Agent Skills (Claude Code Compatible) Install the Sui skills into Claud…
Q: best sui wallets
A: Here's an overview of the most popular wallets in the Sui ecosystem: ## Official Wallet - **[Slush](https://slush.app/)** – Built by Mysten Labs, it's the official Sui wallet. Available as a Chrome …
Q: What causes the FeatureNotYetSupported error in a Sui upgrade transaction command 1?
A:
Q: Is there a credit bureau or credit information center or credit scoring protocol on Sui that tracks borrower creditworthiness?
A:
Q: When a Sui package is upgraded, does the package ID change, and how do struct type filters and function calls handle the different versions?
A:
Q: { "@variant": "Linear", } grpc返回的这个结构。在ts里面 如何获取
A: 根据知识源,这个 `{ "@variant": "Linear" }` 结构看起来是 gRPC 返回的枚举/oneof 类型。知识源中提到 `SuiGrpcClient` 使用 [protobuf-ts](https://github.com/timostamm/protobuf-ts) 生成类型安全的客户端,但对于这个具体结构的 TypeScript 处理方式,**知识源中没有足够的信息来给出确…
Q: could you give me some sample application ON SUI
A: Here are some sample applications available on Sui, ranging from beginner to advanced: ## Beginner - **Distributed Counter** – A full end-to-end app where users can create counters that anyone can i…
Q: i got this error frequently when i use zklogin account. how often does google or zklogin rotate their key? "message": "Verification failed: Signature is not valid: Signature is not valid: General cryptographic error: JWK not found (https://accounts.google.com - cce4e024a51aa0c1c41c1a45
A: ## JWK Rotation and the "JWK not found" Error The error you're seeing means that the `kid` (Key ID) referenced in the JWT — `cce4e024a51aa0c1c41c1a4515a41dd7e961936b` — is no longer present in the se…
Q: How do I use transfer::receive to accept an object that was transferred to a shared object's ID?
A:
Q: What is the difference between dynamic object fields and transfer-to-object for attaching NFTs to a shared parent object?
A:
Q: can you give me the fully updated codes plese
A: Here is the fully updated code with the `normalize_coin_type` fix applied throughout: ```python import httpx from datetime import datetime SUI_RPC = "https://fullnode.testnet.sui.io:443" SUI_GRAPHQL…
Q: How does Sui handle randomness on chain and can smart contracts use VRF for lottery-style selection?
A:
Q: What liquid staking protocols and yield tokens exist on Sui and how do they work?
A:
Q: How do shared objects and dynamic fields work in Sui Move, and what DeFi patterns do they enable?
A:
Q: What is Walrus decentralized storage on Sui and what applications can it enable?
A:
Q: what is usdsui?
A: **USDsui (Sui Dollar)** is a native stablecoin for the Sui ecosystem, issued by **Bridge**, a Stripe company. [[Sui Dollar Live](https://blog.sui.io/sui-dollar-launch-bridge/)] Here are the key detai…
Q: the sui stack
A: ## The Sui Stack The Sui Stack is a fully integrated, modular technology stack designed for decentralized coordination, composable primitives, and high usability. Rather than requiring builders to st…
Q: How to extend blob storage epoch duration using fund pool in Walrus?
A:
Q: ok i need to faucet for both for usdc and usdt for testnet
A: The knowledge sources I have access to only cover the **SUI token faucet** (for gas fees), not faucets specifically for USDC or USDT on Testnet. ## Getting Testnet SUI (for gas) You can get Testnet …
Q: How to use wal_exchange exchange_all_for_wal swap rate buffer slippage in Walrus SDK?
A:
Q: How does coinWithBalance resolve SUI coins when fundsInAddressBalance is zero? What causes "Invalid withdraw reservation" errors?
A:
Q: how much are in circulation now
A: The knowledge sources do not contain the exact current circulating supply figure. However, they do provide a way for you to retrieve up-to-date circulation data directly via the official Sui circulati…
Q: do address balances hold all of my rwas? for example raw a and b?
A: No — **Address Balances don't hold your different RWA types together in one place**. Let me clarify how this works: ## How balances are stored in PAS Each address can have **one address balance per …
Q: give me a bash script that uses sui cli to tell me the last checkpoint that occurred before user given timestamp in milliseconds
A: The knowledge sources don't provide enough detail about a direct Sui CLI command that maps a timestamp to a checkpoint sequence number. However, based on what the sources do tell us — that Sui creates…
Q: '0x2::sui::SUI' 在链上的真实权限定名是什么
A: `0x2::sui::SUI` 就是 SUI 代币类型的完全限定名(fully-qualified name)。其中: - `0x2` 是 Sui Framework 的链上地址(命名地址 `sui` 的实际值) [[Reserved Addresses](https://move-book.com/appendix/reserved-addresses/)] - `sui` 是模块名 - `S…
Q: give me an example of curl for getting total supply
A: Here's a curl example for getting the total supply of a coin using the GraphQL API: ```bash curl -X POST https://sui-mainnet.mystenlabs.com/graphql \ -H 'Content-Type: application/json' \ -d '{ …
Q: in what format are events emitted? Can one fetch events in programming languages other than the supported SDKs, for example in go?
A: ## Event Format on Sui ### How Events Are Emitted When a Move smart contract emits an event using `sui::event::emit`, the event data is stored as **BCS (Binary Canonical Serialization) bytes** withi…
Q: getDynamicField的作用?
A: 您的问题与上一条相同,以下是对 `getDynamicField` 的总结: `getDynamicField` 用于**根据字段名称获取对象上的某个特定动态字段**。动态字段是可以在对象构建后动态添加或移除的字段,字段名可以是任意具有 `copy`、`drop`、`store` 能力的值。[[Dynamic Fields](https://docs.sui.io/guides/develope…
Q: You are using JSON-RPC in above case. how do we do it using GRPC?
A: You're right — the previous example used the legacy `quorum_driver_api()` which is JSON-RPC based. For gRPC in Rust, you would use the `transactionExecutionService` from the `SuiGrpcClient`. Based on …
Q: 默认的 order 是不是descending?
A: 知识源中没有明确说明 `queryEvents` 的默认排序方向是 `ascending` 还是 `descending`。 我无法从现有知识源中确认这一点,建议你参考 [Sui TypeScript SDK 官方文档](https://sdk.mystenlabs.com/typedoc/modules/_mysten_sui.client.html) 或直接测试验证。 不过,从实践角度来看…
Q: không có digest thì làm sao được
A: Đúng vậy — nếu không có digest cụ thể, **gRPC `getTransaction` không thể dùng để query theo event type**. Dựa trên knowledge sources, các lựa chọn thực tế của bạn là: 1. **`SuiClient.queryEvents` (J…
Q: if i have getters anyway for the fields, is it better to return a mutable ref to read value and alter it or use the getter and then the setter
A: Great follow-up question. Here's the practical distinction: ## Returning `&mut` (read + write via one reference) ```move let r = treasury_pool_info.staker_shares_amount_mut(); let old_value = *r; …
Q: how do i get my wallet transaction history
A: There are several ways to retrieve your wallet's transaction history on Sui: ## 1. Using GraphQL (Recommended) You can query transactions associated with an address using the GraphQL API. For exampl…
Q: what is move.lock?
A: `Move.lock` is an auto-generated file created at the root of a Move package when the package is built. Here's what you need to know about it: ## What it does - **Pins dependencies**: It records the …
Q: 怎么在python里面调用这个 unsafe_payAllSui
A: 很抱歉,当前提供的知识来源中没有关于如何在 Python 中调用 `unsafe_payAllSui`(或任何 Sui JSON-RPC 方法)的具体代码示例或详细说明。 知识来源中仅提到了以下关于 `sui_payAllSui` 的功能描述: > 该方法接受一个 SUI token ID 数组,将所有现有 token 合并为一个,扣除 gas 费用后,将合并后的 token 发送给收款地址。…
Q: hihi
A: Hi there! I'm here to help answer questions about Sui, the Layer 1 blockchain. Feel free to ask me anything about Sui — whether it's about development, tools, concepts, or getting started!
Q: Seal SDK smart contract access policy pattern for encryption on Sui
A:
Q: --earliest-expiry-time "3026-01-01 00:00:00"
A: Based on the knowledge sources, setting `--earliest-expiry-time "3026-01-01 00:00:00"` would **fail** because it exceeds the maximum allowed storage duration. The current maximum is **53 epochs** ahe…
Q: Error: Transaction resolution is not supported with the GRPC client at resolveTransactionData (/Users/xiaodi/code/py_pro/validator_withdraw/node_modules/@mysten/sui/src/grpc/core.ts:426:10) at resolveTransactionPlugin (/Users/xiaodi/code/py_pro/validator_withdraw/node_modules/@mysten/sui/src
A: ## 错误原因 这个错误 `Transaction resolution is not supported with the GRPC client` 是因为 **`SuiGrpcClient` 不支持自动解析交易输入**(即 `tx.build({ client })` 中的 resolve 阶段)。当你直接把 `SuiGrpcClient` 传给 `Transaction.build()` …
Q: it didnt work either. here is the nft in my wallet that formally listed with the personalkioskid, this is how suivision displayed it. " objectId: "0xdb32e67974af86a75d454055ba368ce1444d5fdb6880a721a830ec380c4b29ee" version: "838954782" digest: "FNFZtgEnT8nKxCMHJfPfPvsU88Goh8e8rXpKyC5nNNDD" type: "0
A: Looking at the SuiVision data, the key information is: ``` owner: { ObjectOwner: "0x631b3c839cabe1e9fee4fa8b6dbcb445540553e951d3be5f83e392ecee17ee60" } ``` That `ObjectOwner` value (`0x631b3c...`)…
Q: why not use 100.do!?
A: Great point! You *can* use `100u8.do!` (or any uint's `.do!` macro) for a cleaner, more readable loop. However, there's a key limitation here: the `.do!` macro always runs **exactly** N times — it doe…
Q: public struct TOKEN_TEMPLATE has drop {} fun init(otw: TOKEN_TEMPLATE, ctx: &mut TxContext) { let (cap, deny_cap, metadata_cap) = init_treasury(otw, ctx); // Transfer caps to deployer. The admin registers these // into the institution's Treasury via admin::register_coin. transfer::
A: No, you cannot return values from a Move `init` function. The `init` function has strict rules: it must be **private**, have **no return values**, and takes only one or two arguments (an optional One…
Q: sự khác nhau của chúng là gì và nên sử dụng cái nào cho Seal SDK: import { SuiGraphQLClient } from '@mysten/sui/graphql'; import { SuiGrpcClient } from '@mysten/sui/grpc'; import { SuiJsonRpcClient } from '@mysten/sui/jsonRpc'; import { env } from '../config'; export const suiGrpcClient: SuiGrpcCli
A: Khác nhau chính nằm ở **API mà mỗi client nói chuyện với** và **trạng thái hỗ trợ**: ### 1. SuiGrpcClient (gRPC) – khuyến nghị dùng - Kết nối tới **Full Node gRPC API**. [[Sui clients](https://sdk.m…
Q: làm sao get được events khi có txDisgest
A: Có 2 cách chính để lấy events từ một `txDigest`: --- ### 1. Dùng gRPC client (`SuiGrpcClient`) SDK v2 cho phép lấy events kèm transaction: ```ts import { SuiGrpcClient } from '@mysten/sui/grpc'; …
Q: suisytem
A: It looks like you might be referring to the `sui_system` modules on Sui. On Sui, `sui_system` is the on-chain framework crate that defines the core system state and validator/staking logic. Its main …
Q: coin type呢
A: 根据知识源,gRPC 中 `coin_type`(币种类型)的格式要求如下: ## gRPC 中的 Coin Type 格式 在 Sui gRPC API 中,`TypeTag` 和 `StructTag` 使用其**规范字符串格式**表示,例如: ``` 0x0000000000000000000000000000000000000000000000000000000000000002::…
Q: 0x533b0c215b6267cb3fecd47b83a9f8e7051bcf5da657b6953bacffd41dd81ffe
A: The string you've provided (`0x533b0c215b6267cb3fecd47b83a9f8e7051bcf5da657b6953bacffd41dd81ffe`) appears to be a transaction digest or object ID on Sui. However, I'm not able to look up live on-chain…
Q: what does this warning mean? [Note]: Dependency sources are no longer verified automatically during publication and upgrade. You can pass the `--verify-deps` option if you would like to verify them as part of publication or upgrade. | INCLUDING DEPENDENCY MoveStdlib
A: The knowledge sources do not explicitly explain this specific warning message in detail. However, based on what the warning itself says and the context from the Sui documentation, here's what it means…
Q: refine this too " const registerWithSuper = async (params: { nftId: string; superNodeId: string; onStatus: (status: string) => void; }) => { const { nftId, superNodeId, onStatus } = params; if (!account) { onStatus('Please connect your wallet first'); return; } if (!userObjec
A: Here is the refined `registerWithSuper` function, applying the same dynamic field fix for `shard_participant_counts` as in the `register` function: ```ts import { bcs } from "@mysten/sui/bcs"; import…
Q: Walrus publisher endpoints mainnet
A:
Q: hướng dẫn cách tích hợp và kết nối ví sui vào web của tôi
A: # Hướng dẫn tích hợp ví Sui vào ứng dụng web ## 1. Cài đặt **Cho ứng dụng React:** ```bash npm i @mysten/dapp-kit-react @mysten/sui ``` **Cho Vue hoặc các framework khác:** ```bash npm i @mysten/da…
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: brand kit
A: The Sui Brand Kit is available at **[https://live.standards.site/sui-media-kit](https://live.standards.site/sui-media-kit)**. [[Brand Kit](https://www.sui.io/launch-on-sui)] It includes: - **Officia…
Q: 那這樣我之前設定過的檔案的package ID需要換成新發布後的嗎,還是不用換
A: 是的,**需要換成新的 Package ID**。 ## 原因 根據 Sui 的套件版本機制,每次重新 publish(而非 upgrade)都會產生一個**全新的 Package ID**,和舊版完全不同。 [[object versioning](https://docs.sui.io/guides/developer/objects/versioning#packages)] > Ev…
Q: còn tôi muốn trên suiscan có được không
A: Rất tiếc, các tài liệu trong knowledge sources không đề cập đến việc tạo Balance Manager thông qua giao diện **Suiscan**. Các nguồn tài liệu hiện tại chỉ hướng dẫn cách tạo Balance Manager thông qua *…
Q: Walrus mainnet aggregator publisher public URL endpoint
A:
Q: for example, we have logic that limit the total items per address. One shared object to hold and monitor the items is need
A: Yes, this is a classic use case where a shared object is genuinely necessary — and it's also exactly where contention becomes a real concern. ## The Trade-off: Correctness vs. Throughput Your requir…
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: est-ce qu'on peut récupérer un epoch ?
A: Oui, il est tout à fait possible de récupérer des informations sur une epoch sur Sui via GraphQL. ## Récupérer la dernière epoch ```graphql query { epoch { referenceGasPrice } } ``` [[lates…
Q: not that, i mean the https://checkpoints.mainnet.sui.io
A: You're asking about `https://checkpoints.mainnet.sui.io` — this is a **remote checkpoint store** (not a gRPC API). It's an HTTPS endpoint that serves protobuf-encoded checkpoint blobs. Here's how it …
Q: 添加网络
A: 在 Sui 中,有多种方式可以添加网络。 ## 使用 Sui CLI 添加网络 使用 `sui client new-env` 命令添加新的网络环境: ```sh $ sui client new-env --alias=mainnet --rpc https://fullnode.mainnet.sui.io:443 ``` 常用网络的 RPC 地址: - **Mainnet**: `h…
Q: 有哪些 testnet 的 grpc node provider
A: 根据知识来源,Sui Testnet 的 gRPC 节点提供者包括以下几类: ## 官方公共端点 Mysten Labs 提供的官方 Testnet gRPC 端点: ``` https://fullnode.testnet.sui.io:443 ``` [[Sui Networks](https://docs.sui.io/concepts/sui-architecture/networ…
Q: 我想同时舰艇链上多个事件,升级2.x之后有没有什么方法能办到
A: 在 Sui SDK 2.x 升级之后,原来的 `queryEvents` JSON-RPC 方法需要迁移到 **GraphQL** 方式来查询事件。以下是同时监听多个链上事件的方法: ## 使用 `SuiGraphQLClient` 查询事件 首先设置 GraphQL 客户端: ```typescript import { SuiGraphQLClient } from '@mysten/s…
Q: how can i specified last checkpoint id when i subscribe to checkpoint stream
A: Based on the knowledge sources, the gRPC `SubscribeCheckpoints` API **does not support specifying a starting checkpoint ID** when initializing a subscription. When a subscription is initialized, the s…
Q: Sui normalized move module RPC getNormalizedMoveModule getNormalizedMoveStruct dynamic event BCS decoding from event type and on-chain package layout.
A:
Q: Sui BCS event deserialization normalized Move modules layout struct fields runtime decoding eventType string getNormalizedMoveModule or layout for Move struct.
A:
Q: deepbook有哪些sdk除了ts
A: 根据现有知识来源,DeepBook **只有 TypeScript SDK**(`@mysten/deepbook-v3`)是官方提供的专用 SDK。 [[DeepBookV3 SDK](https://docs.sui.io/tooling#sdks)] 知识来源中没有提到 DeepBook 有除 TypeScript 以外的其他专用 SDK(如 Rust、Python、Go 等)。 如果你…
Q: sui groups là gì?
A: **Sui Groups** là một thành phần trong **Messaging SDK** của Sui, cho phép quản lý các kênh giao tiếp nhóm trên blockchain. ## Sui Groups là gì? Groups SDK chạy trên Sui và quản lý các chức năng sau…
Q: remaind me address key scheme
A: On Sui, addresses are 32-byte identifiers derived by hashing a signature scheme flag byte concatenated with the public key bytes (`flag || pubkey`) using **BLAKE2b** (256-bit output). [[Address Format…
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 ``` If prompted, enter `y` to connect to a full n…
Q: check it for me, after that create a short summary to explain what have be implemented : 'use client'; import { useCallback, useState } from 'react'; import { EncryptedObject } from '@mysten/seal'; import { env } from '@/lib/config/env'; import { enokiClient } from '@/lib/enoki'; import { getSealCl
A: Your code looks **correct and well-structured**. Here are my observations: ## ✅ What's Good 1. **`useSignPersonalMessage` is called correctly** — inside the React custom hook, not at module level. T…
Q: correct it and return the full corrected version " public fun create_pool( app_uid: ID, _: &AdminCap, ctx: &mut TxContext ) { let pool = MinerPool { id: object::new(ctx), start_time: 0, reward_balance: zero(), app_uid, }; transfer::share
A: Here is the corrected full version with `version` and `admin` fields added: ```move public fun create_pool( app_uid: ID, cap: &AdminCap, ctx: &mut TxContext ) { let pool = MinerPool {…
Q: What is Mysticeti?
A: Mysticeti is the consensus protocol that powers the Sui blockchain. Here's a summary of its key characteristics: ## What is Mysticeti? Mysticeti is a **Byzantine Fault Tolerant (BFT), Directed Acycl…
Q: ok understood
A: Got it! Feel free to ask if you have any more questions about Sui. 😊
Q: borrow_publisher returns a reference, but in a PTB you can chain it — borrow in one call, pass the reference to the next call in the same transaction.
A: This is actually a common misconception worth clarifying. **PTBs do not currently support passing references returned from one transaction command into another command.** As the Sui documentation exp…
Q: i got ``` felix@MB-L6G3NC43PK domains % sui client call --package 0x6994192508a64e7a40fb495db934e7deeadb95e93ae8c6fb610668831fd6352d --module fee_quoter --function type_and_version --json { "digest": "2bfWKGeojxNxTHw9amThJXnsCkYQyctdut4qAPSsqkNx", "transaction": { "data": { "messageVer
A: The output you're seeing is correct — `sui client call` executes the transaction and returns effects/object changes, but **does not show the return values** of the Move function. A `String` return val…
Q: async getChainTimestamp(): Promise { // toDo: 当前使用的还是json client, 废除前需要替换 const checkpointSeq = await this.sdk.fullClient.ledgerService.getServiceInfo({}) const checkpoint = await this.sdk.fullClient.ledgerService.getCheckpoint({ checkpointId: { oneofKind: 'sequenceNumber', seque
A: 这段代码有几个问题需要修复: 1. **响应未解构**:gRPC 方法返回 `{ response }`,需要解构 2. **字段名错误**:`getServiceInfo` 返回的是 `checkpointHeight`,不是 `epoch` 3. **getCheckpoint 参数格式错误**:TypeScript SDK 中直接传 `sequenceNumber`,无需 `checkpo…
Q: 我现在使用的2.13.2版本的 @mysten/sui,我在比如OKX钱包中打开我的dapp页面做签名的时候,比如签名成功后,本来应该拿到交易哈希的,但是在这种钱包里打开做完签名会获取不到签名的结果,这是为什么?签名使用的signAndExecuteTransaction方法
A: ## 关于 `signAndExecuteTransaction` 获取不到结果的问题 根据知识库中的信息,这个问题很可能与**钱包兼容性**和**返回值处理方式**有关。 ### 可能的原因 #### 1. 返回值是联合类型(Union Type),需要正确解包 在新版 SDK 中,`signAndExecuteTransaction` 的返回值是一个**判别联合类型**(discrim…
Q: # services/sui_service.py import asyncio import httpx from datetime import datetime, timezone from app.services.normalizer import normalize_sui_transaction GRAPHQL_URLS = [ "https://graphql.testnet.sui.io/graphql", "https://sui-testnet.mystenlabs.com/graphql", ] # -----------------------
A: Looking at your code, here's a breakdown of how you're using the transaction digest and other Sui GraphQL concepts: ## ✅ Where You're Using the Digest **1. Fetching transaction details** — You use t…
Q: 新版沒有addresses 那以前要用@fee_address 那種該怎麼辦。
A: 在新版套件管理系統中,`[addresses]` 區段已被移除。以前用 `@fee_address` 這類具名地址的方式,在新系統中需要改變做法。 根據文件說明,新系統的命名規則如下: > **套件的名稱來自 `[package]` 區段或 `[dependencies]` 區段中給定的名稱**,而不再來自 `[addresses]` 區段。 [[Package Migration](htt…
Q: What are programmable transaction blocks (PTBs)?
A: ## Programmable Transaction Blocks (PTBs) Programmable Transaction Blocks (PTBs) are the fundamental unit of user transactions on Sui. They consist of groups of commands that execute on inputs to def…
Q: 那可以不用 public share object?
A: 可以,你可以改用 `transfer::share_object`(不需要 `store`),但這樣就**不能在模組外部呼叫**,必須在定義 `Position` 的模組內提供一個 share function。 ## 方案:用 `share_object`,不加 `store` ```move // Position 只需要 key,不需要 store public struct Posit…
Q: in our last conversation you suggested adding a maxCap phase for this function, help me do that "public fun get_current_phase_and_reward(start_time: u64, now: u64): (u64, u64) { if (now < start_time) return (0, 0); let elapsed = now - start_time; let days = elapsed / DAY_MS;
A: I don't have access to previous conversations, so I can't confirm what was suggested before. However, I can help you add a `maxCap` phase to your function based on what the code is doing. A "maxCap p…
Q: 呼叫 share object 也要先拿到 share object 才行?還是只要知道 object id?
A: 這取決於你的情境: ## 建立(share)一個新物件 當你要**建立並分享**一個物件時,你需要先在同一筆交易中建立該物件,然後才能呼叫 `transfer::share_object`。也就是說,你必須持有該物件的值(by value),而不只是知道 object ID。 ```move public fun create_and_share(message: String, ctx: …
Q: Seal package ID for testnet ?
A: The Seal package ID for **Testnet** is: `0x927a54e9ae803f82ebf480136a9bcfe45101ccbe28b13f433c89f5181069d682` [[Key Servers](https://github.com/MystenLabs/sui-move-bootcamp/blob/main/K5/05_key_server…
Q: For Slush detection** — ask the Sui docs AI these exact questions: ``` 1. How does Slush wallet register itself with the Wallet Standard on a plain HTML website (no React, no dApp kit)? What window event or global object should I listen for? 2. What is the exact window object name or ev
A: Here's what the knowledge sources tell us about each of your questions: --- ## 1. Registering Slush Wallet with the Wallet Standard (no React/dApp Kit) For the **Slush web wallet** specifically, yo…
Q: but couldn't a UpgradeCap be wrapped in another object and therefore not be "visible"?
A: That's an excellent and important point. Yes, an `UpgradeCap` can be **wrapped** in another object, which would make it invisible in the object store — and in that case, you cannot safely assume the p…
Q: what is address alias feature?
A: ## Address Aliases on Sui Address aliases on Sui serve two distinct purposes: ### 1. CLI Aliases (Human-Readable Names) In the Sui CLI, an *alias* is a human-readable name that can be used in place…
Q: How to get ether and bridge to sui
A: ## Bridging ETH to Sui To bridge Ether (ETH) to Sui, you have several options depending on your needs: --- ### Option 1: Sui Bridge (Native Bridge) Sui Bridge is the native bridge built into the S…
Q: not good enough
A: I understand you're looking for more detail, but I want to be transparent: the knowledge sources provided do not contain any information about a `--file` flag or a way to pass a file directly to `sui …
Q: INFO: Uvicorn running on http://127.0.0.1:8078 (Press CTRL+C to quit) 📡 Status (https://graphql.testnet.sui.io/graphql): 200 📄 Page fetched: 2 txs | hasNextPage: False ✅ Total digests fetched: 2 ✅ Total unique digests: 2 📡 Status (https://graphql.testnet.sui.io/graphql): 200 ❌ GraphQL Error (htt
A: The error is clear: ``` Unknown field "base64Sig" on type "UserSignature" ``` Looking at the actual `UserSignature` type in the Sui GraphQL schema, the correct fields are `signatureBytes` and `schem…
Q: How do I deploy to Sui?
A: Here's how to deploy (publish) a Move package to Sui: ## 1. Set Up the Sui Client CLI If you haven't initialized the CLI yet, run `sui client` in your terminal. If prompted, enter `y` to connect to …
Q: public fun get_limit_file(): u64 { FILE_LIMIT } how to read: const tx = new Transaction() tx.moveCall({ }) utilsSui.getSuiClient.simulateTransaction({ transaction: "", }); return get_limit_file;
A: Looking at your code, you want to call a Move function `get_limit_file()` that returns a `u64`, simulate the transaction, and read the return value. Here's how to do it correctly using the Sui TypeScr…
Q: does this command " sui move new" creating and deploying the project? or just creating
A: The `sui move new` command **only creates** the project — it does not deploy it. Specifically, `sui move new ` creates: [[Move CLI](https://docs.sui.io/references/cli/move#examples)] - …
Q: ┌─[cabel@parrot]─[~] └──╼ $curl -sSfL \ https://raw.githubusercontent.com/Mystenlabs/suiup/main/install.sh \ | sh suiup installer script This script will install the suiup binary to your system. Detected OS: linux Detected architecture: x86_64 Latest version: v0.0.10 Download URL: https://github
A: The installer is warning you that a `sui` binary already exists on your system (likely installed via a package manager), which could conflict with the `suiup`-managed version. Here's what to do: ## S…
#3 60 questions high priority

Transaction Building and PTBs

PTB composition is a core workflow; confident answers show existing PTB docs are broadly effective.

Show 29 questions
Q: 怎么知道一笔交易的gass费
A: 可以用两种思路来“知道/估算”一笔交易的 gas 费: --- ### 1. 看已经执行过的交易的实际 gas 执行完成的交易都会有一个 `GasCostSummary` / `gasUsed`,里面拆分了: - `computationCost`:计算成本 - `storageCost`:本次写入存储的成本 - `storageRebate`:从旧版本对象回收返还的存储费 -…
Q: thanks for this clarification, since the superNode are created by users and they can introduce any nft of their choice which can be in kiosk or not, make the function to accept nft both in kiosk and direct owned
A: Good approach. You can handle both cases by checking the NFT's ownership before building the transaction, then branching the logic accordingly. Here's the refined `createSuperNodeWithNft` that handle…
Q: đây 0x1f9310238ee9298fb703c3419030b35b22bb1cc37113e3bb5007c99aec79e5b8 đúng là parentId. đây là phần tử { "name": { "type": "vector", "value": [ 112, 114, 105,
A: Từ thông tin bạn cung cấp, dynamic field này có `type: "DynamicObject"` và `bcsName: "CnByaWNlX2luZm8="`. Đây là dynamic **object** field, vì vậy bạn nên dùng `getDynamicObjectField` thay vì `getDynam…
Q: provide me the code snippet that declares an enum with some data inside an arm
A: Here's a code snippet declaring an enum with data inside its variants in Move on Sui: ```move module a::m; public enum Action has drop { Stop, Pause { duration: u32 }, MoveTo { x: u64, y…
Q: Sorry that was the wrong link, heres the correct one, it is a sui project https://bolt-5.gitbook.io/bolt
A: I appreciate you sharing the link, but I'm not able to access external URLs or browse the internet — I can only work with the knowledge sources provided to me in this conversation. So I'm unable to re…
Q: How does the compiler works
A: ## How the Move Compiler Works on Sui The Move compiler translates human-readable `.move` source files into bytecode that the Sui network can execute. Here's how the process works: ### Three-Layer A…
Q: Walrus upload relay costs subsidies
A:
Q: --- **Question 1 — Cetus CLMM (verify our current implementation)** > We are building a Sui trading bot that calls Cetus CLMM swap directly via PTB using `@mysten/sui Transaction`. We are calling `pool_script::swap` on package `0x1eabed72c53feb3805120a081dc15963c204dc8d091542592abaf7a35689b2fb` wi
A: I can partially answer some of these questions based on the provided knowledge sources, but I must be transparent about significant gaps. --- ## What the Knowledge Sources Can Answer ### Question 5…
Q: Walrus subsidies contract mainnet WAL token free storage how to use programmatically
A:
Q: sui_getTransactionBlock
A: The `sui_getTransactionBlock` is a JSON-RPC method used to fetch a transaction by its digest from a Sui full node. ## Usage It is a **direct lookup** RPC call that doesn't depend on additional index…
Q: como podria eliminar el mismatch restante y el faltante de escalado de quantities en order updates
A: Basándome en la documentación del indexer de DeepBook V3, aquí está la solución: ## Obtener `tick_size` y `base_asset_decimals` desde `/get_pools` El endpoint `/get_pools` devuelve exactamente los d…
Q: also the REGISTRY_OBJECT_ID
A: From the transaction output you shared, the **Registry Object ID** is found in the **Created Objects** section: ``` REGISTRY_ID=0x34231405ff87b7b25e9919bebf072e7aa0d61db8d89f20e5670e42faf09d53ef ``` …
Q: How to query events from a Sui smart contract using queryEvents with cursor-based pagination and event type filtering?
A:
Q: create a complete typescript sample to retrieve multiple checkpoints with graphql or grpc. i need a boilerplate that i can run directly i need to retrieve all informations present in a checkpoint
A: Here are two complete TypeScript boilerplates — one using **GraphQL** and one using **gRPC** — to retrieve multiple checkpoints with all available fields. --- ## Option 1: GraphQL (using `SuiGraphQL…
Q: the sui fee is dominated in mist and cbtc in base "const SUI_FEE = 2000000000; const CBTC_FEE = 10000;" correct?
A: Yes, that's correct! - **`SUI_FEE = 2_000_000_000`** — This is 2 SUI expressed in MIST (the smallest unit of SUI), since `1 SUI = 1,000,000,000 MIST`. [[Module sui::sui](https://docs.sui.io/reference…
Q: is there no way to delegate the merge and split to wallets?
A: Based on the knowledge sources available, the TypeScript SDK itself handles this automatically — you don't need to delegate it to the wallet manually. When you use `coinWithBalance`, the SDK resolves…
Q: this is a very bad design choice. this makes upgrade extremely difficult to manage
A: The concern is understandable, and the Sui documentation does acknowledge these challenges. Here are some patterns and tools the ecosystem provides to help manage this complexity: ## Mitigations Sui …
Q: how can i check the linear upgrade history? ideally from SUI CLI
A: The knowledge sources do not contain enough information to answer this query directly. The provided documents cover how package versioning works and how to upgrade packages, but they don't describe a …
Q: can the sui node use env parmeters for the key management refrence
A: The knowledge sources provided do not contain enough information to directly answer whether `sui-node` itself supports environment variable references for key management configuration (e.g., pointing …
Q: and i I for example register with my email again ? what would happen, would be my old account wiped out ? or how would it work ?
A: Great question! Based on the zkLogin documentation, here's what would happen: **Your old account would NOT be wiped out.** The zkLogin address is derived deterministically from: - `sub` — your uniqu…
Q: grpc stream doesnt return checkpoint data just return cursor
A: This is expected behavior when you haven't specified a `readMask` in your `SubscribeCheckpoints` request. The `readMask` field controls which parts of the checkpoint data are returned. Without it (or …
Q: I have a plain HTML website (no React, no npm, no bundler). I want to detect ALL installed Sui wallets including Slush browser extension using the Wallet Standard. What is the exact CDN script URL I should load? And after loading it, what exact JavaScript code do I call to get all installed wa
A: ## Detecting Sui Wallets in Plain HTML/JS ### CDN Script URL The knowledge sources do not provide a CDN URL for `@mysten/wallet-standard`. The documentation assumes a Node.js/npm/bundler environment…
Q: who are Accumulator
A: Based on the knowledge sources, here is what the `sui::accumulator` module is about: ## `sui::accumulator` in Sui Move The `sui::accumulator` module is a **Sui framework module** that provides infra…
Q: Error while loading dependency /home/user/projectsui/TRION/contracts/trion_core: Cannot override default environments. Environment `testnet` is a system environment and cannot be overridden. System environments: testnet, mainnet projectsui-18394434:~/projectsui/TRION/contracts/trion_core{main}$
A: The error is telling you that `testnet` is a **system (implicit) environment** and cannot be redefined in your `[environments]` section. The same applies to `mainnet`. The fix is straightforward: **r…
Q: I have a Move package that I will publish on testnet simply with the cli, but will publish on mainnet with the help of the security team via their multisig process (I will provide them with the tx-bytes and they will execute them) I would like to register that package on MVR. (both for testnet and
A: The knowledge sources provided don't contain enough detail about the MVR registration process itself (the specific steps, what capabilities are required, whether the `UpgradeCap` is needed for MVR reg…
Q: 你把上面转成TS的,给我描述一下prompt,我让其他AI工具给我生成
A: Here is a prompt you can give to another AI tool to generate the TypeScript code: --- **Prompt:** Write a TypeScript script using the `@mysten/sui` SDK to withdraw SUI from a Sui address balance (n…
Q: rpc
A: ## Sui RPC Overview Sui provides multiple RPC interfaces for accessing blockchain data: ### Available Interfaces 1. **gRPC API** (recommended) — A high-performance, type-safe interface using Protoc…
Q: Can a single PTB containing multiple claim_token commands, be use
A: Your query appears to be incomplete — it seems like it was cut off before finishing the question. Could you please complete your query? For example, are you asking something like: > "Can a single PTB…
Q: where are the right docs for address balances
A: The official documentation for address balances on Sui is the **Address Balances Migration Guide**. You can find it here: [[Address Balances Migration Guide](https://docs.sui.io/guides/developer/addr…
#4 38 questions medium priority

Frontend and dApp Integration

Frontend developers are actively building with wallet, zkLogin, and dApp Kit using available docs.

Show 19 questions
Q: could you give me the flow when I build the front-end and contract in testnet of Sui environment. How I sync my wallet into the frontend, and do I need zkLogin for this step
A: ## Building a Sui Frontend + Contract on Testnet Here's the general flow for connecting a frontend to a Move package on Sui Testnet: --- ### 1. Deploy Your Move Package Before building the fronten…
Q: ZKLogin what is it ?
A: ## What is zkLogin? zkLogin is a **Sui-native primitive** that enables you to send transactions from a Sui address using an OAuth credential (like Google or Facebook) **without publicly linking the t…
Q: What are programmable transaction blocks (PTBs)?
A: ## Programmable Transaction Blocks (PTBs) Programmable Transaction Blocks (PTBs) are the standard way all user transactions are executed on Sui. They are groups of commands that execute on inputs to …
Q: what about I will build the back-end, which will link to the database(for off-chain) and the contracts on Sui
A: Great approach! This is actually the **recommended architecture** for production Sui dApps — a hybrid system where your backend bridges offchain data (database) with onchain state (Sui contracts). ##…
Q: could you give me the flow of system when student pay fee for that teacher what front end ,backend , sui do?
A: Here's the end-to-end flow when a student pays a fee to a teacher on your platform, based on what the Sui Payment Kit and Sui transaction lifecycle support: --- ## Payment Flow: Student → Teacher Fe…
Q: could you give me API key for using your SUI MCP server
A: I'm sorry, but I'm not able to provide API keys — I'm an AI assistant designed to answer questions about Sui, and I don't have access to any API key management systems or the ability to generate crede…
Q: what is difference between split coin in TX1 and transfer it in TX2? // apporach 1 const tx = new Transaction(); const [coin] = tx.splitCoins(tx.gas, [ tx.pure.u64(values.amount), ]); tx.transferObjects([coin], tx.p
A: ## Key Difference: Same Transaction vs. Cross-Transaction Results **Approach 1** is correct and will work. **Approach 2 is broken** and will fail. ### Why Approach 2 Fails In Approach 2, `tx.splitC…
Q: So how back-end side, can store the user's wallet address to execute the contract. Do we need any security field when executing the contracts
A: Great question! Based on the knowledge sources available, there's a relevant pattern for how a backend can handle user wallet addresses and execute contracts securely — using **Enoki**, Mysten Labs' p…
Q: what is object security?
A: On Sui, object security refers to the set of guarantees the network enforces around who can access, modify, or transfer objects. Here are the key properties: ## Core Security Guarantees 1. **Owner-e…
Q: seal backupKey
A: ## Seal `backupKey` When you call `client.encrypt()` from the `@mysten/seal` SDK, it returns two values: - **`encryptedObject`** — the BCS-serialized ciphertext - **`key`** (the backup key) — the sy…
Q: walrus publisher \ --bind-address "127.0.0.1:31415" \ --sub-wallets-dir ~/.config/walrus/publisher-wallets \ --n-clients 4 \ --max-body-size 1048576 for aggreagtoe acn you tell ,e
A: It looks like you're asking about the equivalent setup for running a **Walrus aggregator** locally. Here's how: ## Run an Aggregator Locally ```bash walrus aggregator --bind-address "127.0.0.1:31415…
Q: how to write sui move project
A: Here's how to create and write a Sui Move project: ## 1. Prerequisites - Install the Sui CLI ([installation guide](https://docs.sui.io/guides/developer/getting-started/sui-install)) - Verify install…
Q: Sui Move smart contract security best practices and common vulnerabilities
A:
Q: what's the best way to fetch old txs? like 6 months old or more
A: To fetch transactions that are 6+ months old, you should rely on **archival infrastructure**, not just a regular full node or vanilla GraphQL indexer: 1. **Use the Archival Service (gRPC)** - Th…
Q: Question Where to Find Answer Q1.1 According to the docs, what is the purpose of an ActionRequest? Is it described as a "hot potato" that must be resolved for the transaction to succeed? Closed-Loop Token docs; Action Request page. Q1.2 Does the ActionRequest struct have the drop ability? If it does
A: Here are answers lined up with your “Where to Find” hints: --- ### Q1.1 – Purpose of `ActionRequest` / “hot potato”? `ActionRequest` is the authorization mechanism for protected token actions (`tra…
Q: PTB input object limit
A: The knowledge sources state that Sui enforces a **maximum number of input objects per transaction**, configured via the `ProtocolConfig` field: - `max_input_objects`: “Maximum number of input objects…
Q: c'est quoi les endpoints sensible de springsui
A: Je ne trouve **aucune documentation technique de SpringSui** (ni API, ni endpoints) dans les sources que j’ai. La seule mention est que SpringSui est un **standard de liquid staking** créé par Suilend…
Q: db-path: /opt/sui/db/authorities_db db-path: /opt/sui/db/consensus_db command used sui-tool download-formal-snapshot --latest --genesis "/opt/sui/config/genesis.blob" \ --network mainnet \ --path /opt/sui/db --num-parallel-downloads 50 --no-sign-request error logs ubuntu@sui-mainnet:
A: Your `db-path` is: ```text db-path: /opt/sui/db/authorities_db db-path: /opt/sui/db/consensus_db ``` but you restored the formal snapshot into: ```text --path /opt/sui/db ``` For a validator, the …
Q: what is the benefit of Blake2b-256? And why it is being used in Sui for signature?
A: Sui’s docs describe **where** Blake2b-256 is used and **how**, but they do **not** give an explicit design-rationale comparison vs other hashes. I can only summarize the benefits that are implied by i…
#5 30 questions medium priority

Tokenomics, Staking, and DeFi

Developers are actively querying DeFi mechanics, reflecting growth in the DeFi builder segment.

Show 13 questions
Q: Can SUI holders and stakers vote on revenue parameter changes?
A: Yes, SUI holders and stakers can participate in governance, though the mechanism differs depending on the context: ## Sui Network-Level Governance SUI tokens play an important role in governance by …
Q: how staking logic works.
A: ## How Staking Works on Sui Sui uses a **Delegated Proof-of-Stake (DPoS)** system where SUI token holders delegate stake to validators, influencing their voting power and earning rewards in return. […
Q: what is pool ?
A: In the context of Sui staking, a **staking pool** is a core component of the DPoS system. Here's what it is: ## Staking Pool A staking pool is embedded in each validator struct in the system state o…
Q: szeretnék testnetről maintre váltani
A: Ha a dApp Kit SDK-t használod, a `switchNetwork` akcióval válthatsz testnetről mainnet-re: ```typescript import { createDAppKit } from '@mysten/dapp-kit-core'; import { SuiGrpcClient } from '@mysten/…
Q: versus publish a new contract?
A: Great follow-up question. Here's how **upgrading** compares to **publishing a new (separate) contract** on Sui: ## Upgrading an Existing Package - The new version is **linked to the original** packa…
Q: Move module conventions and best practices for Sui smart contracts
A:
Q: is there an equivalevnt function for Balance like burn for Coin?
A: Yes! The equivalent of `coin::burn` for `Balance` is **`balance::decrease_supply`**. It burns a `Balance` and decreases the corresponding `Supply`: ```move public fun decrease_supply(self: &…
Q: So yes — if your net gas fees are -0.5 SUI, you would effectively receive 0.5 SUI credited back to your wallet. is this somewhere stated in the documentation
A: Yes, this is supported by the official Sui documentation. Here are the relevant references: **1. The net gas fee formula is explicitly stated:** > *"the net fees that a user pays equals gas fees min…
Q: Που έχει πληροφορίες για το athens hub
A: Μπορείτε να βρείτε πληροφορίες για το **SuiHub Athens** στο επίσημο blog του Sui. [[SuiHub Athens](https://blog.sui.io/suihub-athens-opens/)] Συγκεκριμένα, το άρθρο καλύπτει: - **Τοποθεσία**: Στεγάζ…
Q: How does the Kiosk system prevent a delist transaction from invalidating a PurchaseCap that was created in a concurrent purchase transaction? Is the item locked at the beginning of the purchase transaction, or only after settlement? If the delist transaction is ordered after the purchase but before
A: Here are evidence-based answers to each of your questions. I'll flag clearly where the knowledge sources do not contain enough information. --- ## 1. Kiosk: PurchaseCap vs. Delist Concurrency The K…
Q: compatibility coin reservations
A: I’m sorry, but the provided knowledge sources don’t mention anything about “compatibility coin reservations” (or any similarly named feature), so I can’t give a precise answer. The closest related to…
Q: What is the personal kiosk rule
A: The knowledge sources mention a “personal kiosk rule” only in passing, as one of the rules you’re expected to enforce in the bootcamp exercise, but they do not define it explicitly. The sources say th…
Q: please return the coinwithbalance version for me
A: Here’s your `coinWithBalance` version wired for a 10 SUI fee and your CBTC fee, matching the docs. ```ts import { Transaction, coinWithBalance } from '@mysten/sui/transactions'; const SUI_FEE = 10n …
#6 24 questions medium priority

Node Operations and Infrastructure

Operators are actively setting up nodes and indexers, indicating a growing self-hosted infrastructure segment.

Show 31 questions
Q: What is the checkpoint bucket?
A: The **checkpoints bucket** is a cloud storage bucket that stores blockchain state data in protobuf-encoded checkpoint blobs. It is written by a full node or ingestion daemon and serves two primary pur…
Q: What is Mysticeti?
A: Mysticeti is the consensus protocol that powers the Sui blockchain. Here's a summary of its key characteristics: ## What is Mysticeti? Mysticeti is a **Byzantine Fault Tolerant (BFT), Directed Acycl…
Q: How about package? If we update a new package?
A: Unlike regular objects, **packages behave differently when upgraded — they get a new address (package ID) each time**. When you upgrade a package on Sui, a **new package object is created onchain** w…
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: ptb 是什么,有什么优势
A: ## PTB(Programmable Transaction Block)是什么? PTB(可编程交易块)是 Sui 上所有用户交易的基本形式。它由一组**命令(Commands)**组成,这些命令按顺序执行,共同完成一笔交易。[[什么是 PTB](https://docs.sui.io/guides/developer/transactions/ptbs/prog-txn-blocks)] …
Q: get struct by id for test purpose
A: Based on the conversation history, you're asking how to retrieve a struct (object) by its ID in a test context in Sui Move. ## Getting a Struct by ID in Tests In Sui Move tests, you use `test_scenar…
Q: 在walrus的质押协议中 是否允许用户向一个已注册的 Walrus 但是该节点处于 未激活 un_active_validators状态 的节点中质押wal?
A: 根据当前提供的知识源,我无法给出关于 Walrus 质押协议中"向未激活节点质押 WAL"的明确答案。 知识源中关于 Walrus 质押的内容只涉及: - 质押/解质押的时间窗口(委员会选举中点前后的影响); - 通过 Walrus staking app 进行质押/解质押的操作步骤。[[Walrus 质押文档](https://docs.wal.app/docs/operator-guide…
Q: so we don't need the otw anymore?
A: Correct — the OTW approach is no longer required. The **standard creation** method (`coin_registry::new_currency`) is the recommended approach for most cases, and the documentation explicitly notes: …
Q: what is sui security
A: ## Sui Security Sui is designed to provide high security guarantees to asset owners. Here's an overview of its key security properties and features: ### Core Security Guarantees Sui's security mode…
Q: What are programmable transaction blocks (PTBs)?
A: ## Programmable Transaction Blocks (PTBs) Programmable Transaction Blocks (PTBs) are the standard way all user transactions are executed on Sui. They are groups of commands that execute on inputs to …
Q: Maybe we are not on the same page: For example: Resolving type 0xAAA::module::MyStruct → fetch package at 0xAAA (or relocated storage_id) → MyStruct has a field of type 0xDEP::other::OtherType -- In my case, is 0xDEP the original ID of the package?
A: Great clarification. You're asking about a different scenario: when you **inspect the type descriptor of a struct's field** (e.g., via the gRPC/GraphQL API or on-chain type reflection), what package I…
Q: Question Where to Find Answer Q2.1 What defines ownership of a kiosk? Is it the KioskOwnerCap or the kiosk object itself? Kiosk documentation, "Ownership of a kiosk is determined by the owner of the KioskOwnerCap". Q2.2 When you transfer the KioskOwnerCap to another address, who becomes the owner of
A: **Q2.1 – What defines ownership of a kiosk?** Ownership of a kiosk is defined by who owns the `KioskOwnerCap`, not by the `Kiosk` object itself. The docs state: > “Ownership of a kiosk is determin…
Q: where it does talk about validators
A: Here are the key places where Sui's documentation covers validators: ## Validator Guides & Operations - **Becoming a validator**: How to set up, configure, and manage a Sui validator node, including…
Q: hiện tại claude mcp add --transport http sui-knowledge-docs https://sui.mcp.kapa.ai đã hoạt động chưa, tôi add vào openclaw dc không
A: Xin lỗi, tôi không có thông tin trong các nguồn tài liệu được cung cấp về trạng thái hoạt động của endpoint MCP `https://sui.mcp.kapa.ai` hay việc tích hợp nó với Claude hoặc các công cụ khác như "ope…
Q: published.mainnet] chain-id = "35834a8a" published-at = "0x9eb4ce3b2c745cdae1eb360b76af2e97025c516f5020b933d2f77167e5318500" original-id = "0x14bd61802d31291fb410bd75757e3347221bf8019707307e5926afeebf4667cf" version = 3
A: Looking at your `Published.toml` entry, the issue is now clear: ```toml [published.mainnet] chain-id = "35834a8a" published-at = "0x9eb4ce3b2c745cdae1eb360b76af2e97025c516f5020b933d2f77167e5318500" o…
Q: module capy_node::cbtc { use sui::coin::{Self as coin, Coin, TreasuryCap}; use sui::coin_registry::{Self as coin_registry, CoinRegistry, CurrencyInitializer}; /// The CBTC token (9 decimals) public struct CBTC has key { id: UID } /// Total supply: 21,000,000 * 10^9 (because deci
A: Here's the PTB CLI command to call `new_cbtc`, passing the global `CoinRegistry` at `0xc` and transferring the returned full-supply coin to yourself: ```bash sui client ptb \ --move-call sui::tx_co…
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: ```bash sui client ``` Follow the prompts — leave the full no…
Q: minimum staking token for a validator
A: Sui is transitioning away from a fixed minimum SUI token requirement to a **voting power-based** system under [SIP-39](https://github.com/sui-foundation/sips/blob/main/sips/sip-39.md). ## Current Sta…
Q: Transaction Data │ ├──────────────────────────────────────────────────────────────────────────────────────────────────────────────┤ │ Sender: 0xf7c4f9a69c98f927cb2dd33c82688ec1647b467c40614f6ebb8bc49defdd6ef5
A: Your package was successfully published! Here's what to note from the output: ## Key IDs from Your Transaction | What | ID | |---|---| | **Package ID** | `0xe7e8a6d3952083cbecc023b012de6210b2636f94d…
Q: does anyone know if theres any UI we can check for what is the status of the sui bridge global limiter, ie how much is currently available on the bridge limits?
A: The knowledge sources don't explicitly mention a dedicated UI for checking the real-time status of the Sui Bridge global limiter (i.e., how much of the limit has been consumed vs. remains available). …
Q: If I want to use claude code to write auto margin trading bot, which docs I should give to claude code to make it write the correct script.
A: To help Claude Code write a correct auto margin trading bot on Sui using DeepBook, you should point it to the following documentation: ## 1. DeepBook Margin SDK Overview The main entry point — covers…
Q: Nautilus enclave.move full source code all functions register_enclave verify_signature IntentMessage Cap EnclaveConfig
A:
Q: tell me about address balance
A: ## Address Balances on Sui Address balances introduce a canonical balance system for fungible assets tied directly to Sui addresses. They replace the UTXO-style `Coin` model, where balances were p…
Q: what is epoch boundary
A: An **epoch boundary** is the transition point between two consecutive epochs on the Sui network. Here's what happens at an epoch boundary: ## What is an Epoch? An epoch is a fixed operational period…
Q: # services/blockchain_manager.py from app.services.sui_service import get_sui_transactions from app.services.eth_service import get_eth_transactions class BlockchainManager: async def get_transactions( self, chain: str, wallet: str, after_checkpoint: int = None
A: The error is clear from the traceback: ``` TypeError: BlockchainManager.get_transactions() got an unexpected keyword argument 'page' ``` Your **route handler** in `app/routes/wallet.py` is still pas…
Q: can you do one more thing here can you sort this using the time stamp and also add the etxra time stamp which is converted to proper date time
A: Here is the fully updated `sui_service.py` with: 1. **Sorting by `timestamp`** (oldest → newest) instead of checkpoint/lamport 2. **`timestamp_utc`** — a human-readable ISO 8601 datetime string deriv…
Q: When the sui move package is updated to next version, the old version stays there as well. What happens the storage, variables and funds to the previous version? As the previous version is still accessible to users as well
A: Great question! Here's a clear breakdown of what happens when a Sui Move package is upgraded: ## Packages Are Immutable — Objects Are Not When you upgrade a package, **the new version gets its own o…
Q: I've imported it. how to change its alias?
A: Once your key is imported, you can update its alias using: ```sh sui keytool update-alias ``` If you don't provide a new alias, a random one will be generated automatically. …
Q: i've got blockpi grpc endpoint, how do i authenticate?
A: The knowledge sources do not contain specific information about authenticating with a BlockPI gRPC endpoint. The documentation covers: - **Building gRPC clients** (TypeScript, Go, Python) that connec…
Q: Can I have `assert_eq!` & `assert_ne!` for my own data types in Sui/Move?
A: The knowledge sources don't explicitly mention an `assert_ne!` macro in Sui Move's standard library. However, here's what is supported for custom types: ## `assert_eq!` with Custom Types Yes, `asser…
Q: copy "C:\Users\PC\Downloads\bot.mjs" "C:\Users\PC\agent-tg-bot\bot.mjs" cd C:\Users\PC\agent-tg-bot git remote set-url origin https://github.com/ibraheemmjafar-netizen/agenttraderbot.git git add bot.mjs git commit -m "fix trades - old pool only, clean buy/sell" git push ``` --- **For Slush detecti
A: I'll skip the unrelated shell/git commands and focus on your Sui-related questions. ## 1. Registering Slush Wallet on a Plain HTML Site (No React/dApp Kit) Install the SDK and call `registerSlushWal…

Developer Friction and Potential Gaps

Topics where the bot was uncertain, vague, or could not fully answer — indicating documentation gaps or areas where developers are struggling.

#1 20 questions high priority

NFT, Kiosk, and Token Standards

Nearly all Kiosk and Display questions went unanswered, blocking NFT developers entirely.

Show 80 questions
Q: One Time Witness OTW package Publisher claim init order Display for NFT collection on Sui mainnet
A:
Q: Where is kiosk_lock_rule defined for TransferPolicy and how does it work with Kiosk lock?
A:
Q: How to airdrop NFTs using sponsored transactions or batch minting and transfer to many addresses on Sui?
A:
Q: What is Object Display on Sui and what fields like name image_url thumbnail_url are recommended for wallets and marketplaces?
A:
Q: How to mint NFTs with fixed supply TreasuryCap or supply cap and one-time witness pattern in Sui Move?
A:
Q: How does TransferPolicy work for NFTs with royalty_rule and kiosk_lock_rule on Sui Kiosk?
A:
Q: What is the Sui Kiosk and how does TransferPolicy relate to trading NFTs?
A:
Q: What happens when a child object is `received` by the parent? Is it the responsibility of the receive function to specify how to exactly incorporate it in one of the fields of the parents?
A: Yes, exactly. When `transfer::receive` (or `transfer::public_receive`) is called, it simply **returns the child object as a value of type `T`** — it does not automatically attach it to any field of th…
Q: vãi nồi thế chỉ có thể đổi 1 site id không hợp lệ hoặc web khác à
A: Đúng vậy, dựa trên các tài liệu hiện có, về cơ bản chỉ có các lựa chọn sau: 1. **Trỏ sang một Walrus Site object ID không hợp lệ** — portal sẽ trả về lỗi, không hiển thị nội dung. [[Linking to Walrus…
Q: ok and can you explain to me the deepbook points? What i get if I collect all those points?
A: ## DeepBook Points The DeepBook Points Program is tied to the launch of **DeepBook Margin**, and here's what the knowledge sources say about it: ### How to Earn Points Points are earned through tra…
Q: nullifier là gì
A: Thuật ngữ **nullifier** không được đề cập trong các tài liệu kiến thức được cung cấp. Đây là một khái niệm mật mã học phổ biến trong các hệ thống ZK (zero-knowledge), nhưng các nguồn tài liệu hiện tại…
Q: PS C:\Users\HP\Desktop\BENEDICT's_SPACE\MOVE-JOURNEY\sui-stack-hello-world\move\hello-world> sui client publish [NOTE] Dependencies on Sui, MoveStdlib, Bridge, DeepBook, and SuiSystem are automatically added, but this feature is disabled for your package because you have explicitly included dependen
A: You're actually seeing **two separate errors** in sequence. Let me address each one: --- ## Error 1: "No modules found in the package" ``` Failed to publish the Move module(s), reason: No modules f…
Q: OKLink是不是只有前端可使用?
A: 根據知識來源,OKLink 的描述是: > "Provide fundamental explorer and data APIs on Sui." [[OKLink](https://www.oklink.com/sui)] 從描述來看,OKLink **有提供 API**(不只是前端瀏覽器),所以理論上可以透過後端調用。不過,知識來源中**沒有進一步說明** OKLink API 的具體…
Q: I have event_type and start_time and end_time and I want all the events for that event_type between that time using grpc. How can I do that?
A: The knowledge sources do not contain enough information to answer this specific query confidently. The provided knowledge sources cover: - Getting events for a **specific transaction digest** via gRP…
Q: how to enable grpc on full node and on what port does it run?
A: ## Enabling gRPC on a Sui Full Node ### How to Enable gRPC Add the following to your `fullnode.yaml` configuration file: ```yaml rpc: enable-indexing: true ``` This enables gRPC indexing on your…
Q: 哪种方法更适合?
A: 根据知识库,以下是各方法的适用场景对比: ## 方法对比 | 方法 | 适用场景 | |------|----------| | **GraphQL 在线 IDE** | 临时查询、调试、探索数据,无需写代码 | | **curl 命令行** | 脚本自动化、一次性批量查询 | | **TypeScript SDK (`SuiGraphQLClient`)** | 集成到前端/Node.js …
Q: sui client publish --gas-budget 100000000
A: It looks like you're running the publish command. Here's what to expect when you execute: ```bash sui client publish --gas-budget 100000000 ``` The CLI will: 1. **Build the package** automatically 2…
Q: well i used another method shown in the docs
A: Could you clarify what you mean? For example: - Which method or setup approach did you use? - Are you running into an issue, or are you asking whether your approach is valid? Based on the knowledge …
Q: are there checks made before dropping?
A: Based on the knowledge sources, the Move type system enforces checks **at compile time** before any value with `drop` can be discarded. Here's what is verified: ### Ability Propagation Check A struc…
Q: move.lock
A: ## Move.lock in Sui The `Move.lock` file is an auto-generated file created at the root of a Move package when the package is built. Here's what you need to know about it: ### What it does - It **pi…
Q: how to fetch dynamic object fields from an object in sui cli?
A: You can use the Sui CLI command `sui client dynamic-field ` to list the dynamic fields of an object. [[Sui Client CLI](https://github.com/MystenLabs/sui/blob/main/docs/content/references/cl…
Q: vậy đúng ko import { blake2b256 } from '@mysten/sui/utils';
A: Không, cách import đó **không đúng**. `blake2b256` không được export từ `@mysten/sui/utils`. Theo tài liệu, package `@mysten/sui/utils` chỉ cung cấp các tiện ích như `fromHex`, `toHex`, `fromBase64`,…
Q: sui-groups PermissionedGroup Move contract membership permissions actor pattern MystenLabs
A:
Q: sui move new smart_contract_test
A: The `sui move new` command creates a new Move package with the necessary directory structure and files. Here's what happens when you run it: ```bash sui move new smart_contract_test ``` This creates…
Q: are there any hosted versions of archival?
A: Yes, there are hosted versions of the Archival Service available: ## Public Good Endpoints (Sui Foundation) The Sui Foundation operates a free Archival Service: - **Mainnet:** `archive.mainnet.sui.i…
Q: Θα είναι ανοιχτό το sui hub Athens την άλλη παρασκευή;
A: Λυπάμαι, αλλά οι διαθέσιμες πηγές πληροφοριών δεν περιέχουν στοιχεία σχετικά με το ωράριο λειτουργίας ή το πρόγραμμα εκδηλώσεων του SuiHub Athens για συγκεκριμένες ημερομηνίες. [[SuiHub Athens](https:…
Q: is Address Balances fully supported on mainnet?
A: The knowledge sources do not explicitly state that **all** Address Balances features are fully supported on Mainnet. What we can see: - Address Balances are integrated into the standard balance APIs…
Q: Why suix_getCoinMetadata returns coin_registry::Currency and not the coin::CoinMetadata????
A: `suix_getCoinMetadata` is tied to the *legacy* Coin standard (`sui::coin::CoinMetadata`), but Sui is moving to the **Currency standard** with centralized metadata in `sui::coin_registry::Currency
Q: please make expected_income_for_referrers.length().do! ... instead of the while loop
A: You can use the `do!` macro on the length (a `u64`) and index into the vector. This avoids cloning and matches the “Loops → Macros” style.[[Loops–macros](https://move-book.com/guides/code-quality-chec…
Q: Should the seal_config.yaml contain anything specific beyond the port?
A: The knowledge sources mention that the admin “specifies the `seal_config.yaml` with the published Seal policy package ID and Seal configurations,” but they do **not** show the actual contents or schem…
Q: What is Mysticeti?
A: Mysticeti is Sui’s consensus protocol: a high-throughput, Byzantine Fault Tolerant system based on a directed acyclic graph (DAG) that orders and finalizes transactions on the network.[\[Glossary\]](h…
Q: cần contract/endpoint cụ thể để gắn Sui MCP vào chat room của mình
A: Hiện trong các tài liệu được cung cấp **không có thông tin cụ thể về “Sui MCP”** (tên sản phẩm/SDK này không xuất hiện), nên mình không thể chỉ ra chính xác contract hay endpoint chuyên biệt cho “Sui …
Q: 啊 如果我沒有treasury cap 怎麼辦
A: 根據你的情境,如果你沒有 `TreasuryCap`,有以下幾種情況需要區分: ## 情況一:你的 SUIX 代幣是用 `coin::create_currency` 建立的 `TreasuryCap` 是在呼叫 `coin::create_currency` 時由合約發布者收到的。[[Coin Standard](https://github.com/MystenLabs/sui/blob/…
Q: I would like to know what's the fastest way to build on DeepBook
A: The fastest way to build on DeepBook is to use the **DeepBookV3 TypeScript SDK** (`@mysten/deepbook-v3`), which abstracts away the complexity of transaction calls and building Programmable Transaction…
Q: 我的网络环境是正常的 其他同事出现了这个问题
A: 根据知识来源,我无法找到关于 v1.68.1 中 `ListBalances` 返回偶发性错误余额的具体 bug 记录。 目前知识来源中唯一相关的已知 bug 是 v1.65.2 修复的余额索引问题(针对从 1.64 版本恢复索引的节点)[[Release Notes v1.65.2](https://docs.sui.io/references/release-notes#v1652)],而你…
Q: how to check if the one I was using is hidding somewhere
A: Based on the conversation context, you want to find where the previous `site-builder.exe` might be hiding on your Windows system. Here are some PowerShell commands to search for it: **Search your ent…
Q: so for a non valdiating nodes, no public inbound ports need to be configured?
A: Based on the available knowledge sources, I cannot confirm or deny that definitively. The documentation does not explicitly specify which inbound ports (if any) need to be publicly open for a Sui full…
Q: One more thing, the python script fetches data and a node sidecar uses suisql to write the data to walrus.
A: Thanks for the additional detail. I'll note this in the context of your plan, but I need to be transparent about what the knowledge sources actually cover. The knowledge sources **do not mention SuiS…
Q: how do I call rpc to testnet using grpc
A: To connect to Sui testnet using gRPC, you can use the `SuiGrpcClient` from `@mysten/sui/grpc`. Here's how: ## Basic Setup ```typescript import { SuiGrpcClient } from '@mysten/sui/grpc'; const grpcC…
Q: Can a move function establish a synchronous connection to a target address and/or send a message to that address?
A: No. Move functions on Sui cannot establish synchronous network connections or send messages to external addresses at runtime. Move is a smart contract language that executes deterministically on-chain…
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: what is smart contract called in sui
A: In Sui, a smart contract is called a **Move package** (also referred to as a **Sui Move package**). [[Package Overview](https://docs.sui.io/guides/developer/packages/package-overview)] Specifically: …
Q: give me the cli command to call this too "public fun fund_pool( pool: &mut MinerPool, coin: Coin ) { join(&mut pool.reward_balance, into_balance(coin)); }"
A: Based on the knowledge sources, here is the CLI command to call your `fund_pool` function: ```bash sui client call \ --package \ --module capy_node \ --function fund_pool \ --arg…
Q: What about webRTC?
A: The knowledge sources do not contain any information about WebRTC in the context of Sui's data pipeline or live streaming architecture. Neither the gRPC documentation, the indexing framework docs, nor…
Q: 如何设置默认名称?
A: 根据现有知识源,关于如何设置 SuiNS 默认名称的具体操作步骤,知识源中没有直接说明设置"默认名称"的方法。 不过,知识源中提到了以下相关信息: - 在 SuiNS 门户([suins.io](https://suins.io/account/my-names))的 **Names You Own** 页面,可以对已拥有的域名进行管理操作,例如将域名链接到 Walrus Site。[[Sui…
Q: https://github.com/verichains/sui-revela/commit/a4b8b2145678e0105a3c5cf85fd8f44126edb2d5 你知道这个仓库吗
A: 根据我所掌握的知识来源,我无法确认该具体 GitHub 仓库(`https://github.com/verichains/sui-revela/commit/a4b8b2145678e0105a3c5cf85fd8f44126edb2d5`)的详细内容。 我的知识来源中只提到了 **Revela** 这个工具,其官方网址为 `https://revela.verichains.io/`,由 V…
Q: 如果 testnet grpc 掛了,我有什麼方法做處理,其他節點 grpc 有,但會有 壓縮問題 — accept_compressed(Zstd)
A: 根據知識來源,針對 testnet gRPC 掛掉的情況,有以下幾種處理方式: ## 官方建議的 Fallback 策略 ### 1. 切換到 Archival Service 當 full node 無法回應時,可以改用 Archival Service 端點,它暴露相同的 `LedgerService` gRPC API: - Testnet: `archive.testnet.sui…
Q: where i can change ui for the front end
A: Based on your project setup, here are the places where you can change the UI: --- ## 1. `src/App.tsx` — Main Layout This is the primary file for your app's UI structure. Change the layout, add/remov…
Q: czy 10^77 miesci sie w u256
A: Tak, 10^77 mieści się w typie `u256`. Z dokumentacji wynika, że maksymalna wartość `u256` to 2^256 - 1, co wynosi: [[max_value u256](https://github.com/MystenLabs/sui/blob/main/external-crates/move/c…
Q: sui move build --lint --path math/fixed_point Your active environment `local` is not present in `Move.toml`, so you cannot publish to `local`. - If you want to create a temporary publication on `local` and record the addresses in an ephemeral file, use the `test-publish` command instead
A: The error is because your active CLI environment is `local`, which isn't defined in your `Move.toml`. For just building and testing (not publishing), you need to tell the CLI which environment's depen…
Q: can any node operator change the zklogin protocol config max epoch?
A: Based on the knowledge sources, the answer is **no** — individual node operators cannot unilaterally change the zkLogin protocol config `max_epoch` setting. Here's what the sources do and don't say: …
Q: Sui GraphQL MoveType layout query concrete type fields layout runtime parsing event type string without source code.
A:
Q: sui rust sdk
A: ## Sui Rust SDK There are two Rust SDKs available for Sui: ### 1. Sui Rust SDK (`sui-rust-sdk`) — Recommended The current Rust SDK supports **gRPC and GraphQL**. It does **not** support JSON RPC. [[…
Q: code ở trên thiếu truyền cursor
A: Đúng, đoạn code thiếu truyền `cursor` vào request. Đây là bản sửa: ```ts async getAllBalances({ owner }: { owner: string }) { let objCursor = undefined; const balanceMap: Record =…
Q: so once I have published an object and I have it's address can I create a single URL to return the machine readable object?
A: Based on the knowledge sources provided, there isn't a single REST-style URL you can construct to return a machine-readable object directly. However, the closest options are: **1. GraphQL endpoint (s…
Q: Error%20checking%20transaction%20input%20objects:%20Balance%20of%20gas%20object%204581376%20is%20lower%20than%20the%20needed%20amount:%208729100 帮翻译成string
A: 这个错误信息的中文翻译如下: **"检查交易输入对象时出错:gas 对象的余额 4,581,376 低于所需金额:8,729,100。"** 即你用于支付手续费的 gas coin 余额不足,无法完成本次交易。解决方法是充值更多 SUI 到你的钱包,或在测试网通过水龙头获取测试币。 [[Common Errors](https://docs.sui.io/guides/developer/co…
Q: Walrus rust sdk
A: The **Walrus Rust SDK** is currently in active development by the Mysten Labs core team. Here's what the knowledge sources say about it: - The Walrus core team is actively working on a Rust SDK for W…
Q: Nautilus complete step by step guide from scratch including Rust server mod.rs process_data implementation with custom logic
A:
Q: error "unused function The non-'public', non-'entry' function 'assert_version' is never called. Consider removing it." [\"This warning can be suppressed with '#[allow(unused_function)]' applied to the 'module' or module member ('const', 'fun', or 'struct')\"]"" from here "fun assert_version(v: u64)
A: The warning is straightforward: you defined `assert_version` as a private helper function but never called it anywhere in your module. You have two clean options: ## Option 1: Call it in your mutatin…
Q: how does address generated
A: ## How Sui Addresses Are Generated A Sui address is a **32-byte (256-bit) unique identifier** derived from a public key using a cryptographic hash function. ### Derivation Process For standard key-…
Q: you know fedora de
A: It seems like your message may be incomplete — it looks like you might be asking about Fedora's package manager (`dnf`) in the context of installing Sui. As I mentioned in my previous answer, the off…
Q: User effects are finalized independently. Settlement is a later system transaction; a failure does not roll back prior user effects. PTB allows up to 1024 commands, enabling many claims in one atomic transaction.
A: The knowledge sources do not support the claim that "user effects are finalized independently" or that "settlement is a later system transaction whose failure does not roll back prior user effects." …
Q: Where in the official docs is the exact behavior of address balance accumulators (fundsInAddressBalance) and FundsWithdrawal documented, including signing vs execution vs settlement timing? How does the 1024-command PTB limit interact with shared-object modules like the bridge and accumulator? Is th
A: Here is what the provided knowledge sources directly support for each of your questions: --- ### 1. Where are address balance accumulators and FundsWithdrawal documented? The provided sources cover…
Q: want to know how to convert the funds in an address (`fundsInAddressBalance`) into a Coin object<0x2::sui::SUI>.
A: To convert funds held in an address balance (`fundsInAddressBalance`) into a `Coin<0x2::sui::SUI>` object, you use `tx.withdrawal()` combined with `0x2::coin::redeem_funds`. ## TypeScript SDK Use `t…
Q: So the DenyCapV2 is controlled by a single person?
A: Based on the knowledge sources, `DenyCapV2` is a single object with `key` and `store` abilities, meaning it is owned by one address at a time and is transferable. [[DenyCapV2 capability](https://docs.…
Q: ➜ oracle git:(mainnet) sui client test-publish --build-env mainnet 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. Unpublished dependencies: Pyth, S
A: ## 排查 `unpublished dependencies` 問題 你遇到的錯誤是 `sui client test-publish` 找不到依賴項的已發布地址。即使 Pyth 那邊有 `Published.toml`,問題可能出在以下幾個地方: ### 可能原因 1. **`Published.toml` 沒有包含 `mainnet` 的條目** `Published.toml…
Q: move 合约如何提取出 IR
A: ## Move 合约如何提取 IR(中间表示) 根据知识来源,Move 语言的编译流程分为以下几个层次: ### Move 编译层次结构 Move 语言由三个不同部分组成 [[Move Language](https://github.com/MystenLabs/sui/blob/main/external-crates/move/README.md)]: 1. **Move 源语言(S…
Q: So sui is like a customer who owns a unique apple or bread it is unique with a code onky to that perso. A 1/1 they can go and stand in line whereever, only when the system notices that two different people stand in line with a same product and code it will pull them away to a seperate line where the
A: Your analogy is really good and you're on the right track! Let me refine it slightly to make it even more accurate: **Your Sui part is spot on.** Every object has a unique ID, belongs to one owner, a…
Q: 我怎麼知道是少了哪個?
A: 根據現有的知識來源,並沒有直接說明如何在錯誤訊息中識別**具體是哪個依賴缺失**的方法。不過,以下是一些可以幫助你診斷的建議: ### 1. 使用 `--verify-compatibility` 旗標(本地模擬) 在 Sui 1.42 中新增了 `--verify-compatibility` 旗標,可以在本地模擬環境中執行升級相容性檢查,幫助你在不花費 SUI 的情況下提前發現錯誤。[[N…
Q: Transaction resolution failed: MoveAbort in 5th command, abort code: 0, in '0xeef9dd622a37cbb614f06faa83abfb870eebc50a4c997ba0d2d86171123c0a08::deposit::deposit' (line 24)
A: The error you're seeing is a **Move abort** that occurred in the 5th command of your transaction, specifically in the `deposit` function of module `0xeef9...::deposit` at line 24, with **abort code `0…
Q: is there a blink for sui?
A: The knowledge sources provided don't contain any information about a "Blink" feature or equivalent on Sui. For context, "Blinks" (Blockchain Links) are a concept popularized on Solana that allow bloc…
Q: but i have updated my package but my Published.toml is messed up
A: If your `Published.toml` has incorrect or inconsistent data after an upgrade, here are some things to consider based on the available documentation: ## If You're on the New Package System (Sui CLI v1…
Q: error when I tried to publish: `Error executing transaction 'HL45jgjdvtn5Q8rrnQ7SUERtKHaqADNF9rqJzDgZkHLG': VMVerificationOrDeserializationError in command 0`
A: This is the same `VMVerificationOrDeserializationError in command 0` error we discussed previously, occurring during package publish. Here's a focused checklist to debug it: ### Common causes | Erro…
Q: 我要铸造sbt 你给我合约和ts铸造nft 的
A: # 铸造灵魂绑定 NFT (SBT) ## Move 合约 灵魂绑定 NFT 的关键在于:**只有 `key` 能力,没有 `store` 能力**。这样持有者无法使用 `transfer::public_transfer` 转移它,从而实现"灵魂绑定"效果。 [[Soulbound NFT](https://github.com/MystenLabs/sui/blob/main/docs/c…
Q: 基本的なmoduleの分け方をおしえて
A: Sui の Move における基本的なモジュールの分け方について説明します。 ## モジュールの基本原則 **1オブジェクト・1データ構造につき1モジュール**を設計の基本とします。バリアント構造体がある場合も、複雑さやバグを避けるために独自のモジュールを持つべきです。 [[Move Best Practices](https://docs.sui.io/guides/developer/mo…
Q: Can a while loop be used in a Sui ptb?
A: No, a `while` loop (or any loop construct) cannot be used directly in a Sui Programmable Transaction Block (PTB). PTBs do not support intricate programming patterns such as loops. As the documentation…
Q: how to Use the Clock object (0x6) to monitor epoch changes
A: The `Clock` object at `0x6` provides the **current time in milliseconds**, but it does **not** directly expose epoch information. However, you can combine it with epoch data from `TxContext` to monito…
Q: grpc ile bir evente subscribe olmalıyım
A: Sui'de gRPC ile bir event'e subscribe olmak için `SubscriptionService` kullanabilirsiniz. İşte adım adım nasıl yapacağınız: ## 1. gRPC Client Oluşturma ```typescript import { getFullnodeUrl } from "…
Q: 现在sui的市值是多少
A: 非常抱歉,我的知识来源中没有包含 SUI 代币当前市值的实时数据。市值是动态变化的,需要查看实时数据。 建议您通过以下渠道查询 SUI 的最新市值: - [CoinGecko](https://www.coingecko.com) - [CoinMarketCap](https://www.coinmarketcap.com) - [DefiLlama](https://defillama.co…
Q: 0x11b2ec6df55e72e2c652b50c04dbd9d1771ac5931118cc2885acc5c551cae229
A: The string you've provided (`0x11b2ec6df55e72e2c652b50c04dbd9d1771ac5931118cc2885acc5c551cae229`) appears to be a Sui object ID or transaction digest, but I'm not able to look up on-chain data or quer…
#2 38 questions high priority

Advanced Move Patterns and Edge Cases

Frequent uncertain answers on upgrades, generics, and shared objects leave advanced devs unblocked.

Show 39 questions
Q: How do I upgrade a Move package on Sui using the UpgradeCap held by a multisig address, including building the upgrade transaction and submitting with combined signatures?
A:
Q: How do I publish a Move package on Sui from a multisig address by generating transaction bytes, having each signer sign, combining signatures, and executing?
A:
Q: What is a witness pattern in Sui Move programming?
A:
Q: Requester Pay plan, cost
A: The knowledge sources do not contain specific pricing or cost details for the Requester Pays buckets. What they do confirm is: - **Requester Pays** means **you are charged for the egress costs** of p…
Q: hold on, why work with a devnet vs testnet vs localnet? I guess devnet we can test quickly, and there might be issues with the testnet or something. Whereas localnet it cannot be passed persistently to test with other devs. What is this epoch duration you're referring to?
A: Great questions! Let me address each part: ## Devnet vs Testnet vs Localnet Here's a practical breakdown of when to use each: [[Networks docs](https://docs.sui.io/develop/sui-architecture/networks)]…
Q: running this where?
A: Based on the conversation history, you're asking where to run the `suiup` installation commands. You run these commands in your **terminal / command-line interface**, depending on your operating syst…
Q: sui testnet validator node specs requirements
A: The suggested minimum hardware specifications to run a Sui validator node (applicable to both Testnet and Mainnet) are: - **CPU:** 24 physical cores (or 48 virtual cores) - **RAM:** 128 GB - **Storag…
Q: can you give a example on how to do this If you need to evolve your data model, the recommended approach is to define a new struct type in the upgraded package and provide a migration function that converts old objects to the new type. [Upgrading Packages]
A: The knowledge sources don't include a complete end-to-end code example specifically for migrating owned objects from an old struct type to a new one. However, based on what the sources do describe, he…
Q: How does zkLogin work on Sui and what are its privacy and identity properties?
A:
Q: in what scenario could u have one zklogin AUD map out to 4 different gmail accounts with different subs and salts
A: A single `aud` (OAuth client ID) can map to multiple different zkLogin addresses — each with a different `sub` and `user_salt` — in the following scenario: **Four different Google users logging into …
Q: do RPCS return well formatted errors ofr things like insufficine tgas?
A: Yes, Sui RPCs do return structured, well-formatted errors for issues like insufficient gas and other transaction failures. ## JSON-RPC Errors For the JSON-RPC API, errors like insufficient gas surfa…
Q: i need numbers with sign, which type
A: Move on Sui **does not support signed integers**. All integer types in Move are **unsigned only**: | Type | Value Range | |------|-------------| | `u8` | 0 to 2⁸ - 1 | | `u16` | 0 to 2¹⁶ - 1 | | `u32…
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: What are object ownership types for Sui Move?
A: Sui Move supports the following object ownership types: ## 1. Address-Owned An object owned by a specific 32-byte address (either an account address or an object ID). Only the owning address has excl…
Q: what's the equivalent of suix_getStakesByIds (from RPC), when using gRPC?
A: Based on the knowledge sources, `getStakesByIds` does **not** have a direct gRPC equivalent. It falls under the category of methods that require using **GraphQL** instead. The recommended replacement…
Q: Is there a way to see if a sui wallet address is a MultiSig?
A: The knowledge sources don't explicitly describe a direct on-chain lookup method to determine whether a given Sui address is a MultiSig address. However, there are a few approaches mentioned that can h…
Q: Getting "Unbound function 'new_currency' in current scope" error when publishing token
A: The "Unbound function 'new_currency' in current scope" error typically means the `coin_registry` module is not properly imported or the function is being called incorrectly. Here's what to check: ## …
Q: can you tell me is there any difference between these pool objects "LZWBTC_USDC", "USDE_USDC", and "SUI_USDE" and other pool objects from deepbookv3?
A: Based on the knowledge sources, here's what I can tell you about those pools compared to others in DeepBookV3: ## LZWBTC/USDC | Parameter | Value | |-----------|-------| | Pool ID | `0xf5142aafa2486…
Q: what is sui, explain it to me as if i was a child
A: Imagine the internet is like a big playground. Right now, most playgrounds are owned by big companies — they make the rules, they hold your toys, and if they decide to close the playground, you lose a…
Q: where is stated that nonce is againts replay attacks
A: Several places in the knowledge sources mention that nonces serve as protection against replay attacks in the context of Sui: 1. **Object versioning on Sui**: The object model documentation states th…
Q: is there anywhere in the doc the definition of ehpmeral key
A: Yes, the Sui documentation defines the **ephemeral key** in the zkLogin terminology section. Here is the definition: > `(eph_sk, eph_pk)`: The private and public key pair used to produce ephemeral si…
Q: can you destroy the struct on limit == some(0)? public(package) fun set_limit_destroy_on_zero( claim_share_coins_cap: &mut ClaimShareCoinsCap, limit: Option, ) { if (limit == some(0)) claim_share_coins_cap.limit
A: Looking at your code, you want to destroy `ClaimShareCoinsCap` when `limit == some(0)`. However, your current function takes `claim_share_coins_cap` **by mutable reference** (`&mut`), which means you …
Q: calc gas Budget by simulateTransaction
A: ## Estimating Gas Budget via Transaction Simulation You can simulate a transaction before executing it to get accurate gas cost estimates without spending real SUI. There are several ways to do this:…
Q: Packages with old-style Move.toml files cannot depend on new-style packages. See https://docs.sui.io/references/package-managers/package-manager-migration for instructions.
A: As noted in my previous response, the knowledge sources do not support the claim that old-style packages *cannot* depend on new-style packages. The official migration guide explicitly states: > "Alth…
Q: how can I create ascii string in sui move?
A: You can create an `std::ascii::String` in Sui Move in two ways: ### 1. `ascii::string` — aborts if invalid ASCII Use this when you're confident the bytes are valid ASCII: ```move use std::ascii; l…
Q: find bridge node json rpc configuration file
A: The knowledge sources don’t mention a JSON-RPC configuration file for the **bridge node** specifically. For the Sui **bridge validator node**, configuration is done via a YAML file generated by: ```…
Q: get object
A: To get an object on Sui, you have a few options depending on the interface you’re using. --- ### 1. Using the Sui TypeScript SDK (Core client) Fetch a single object by ID: ```ts const { object } =…
Q: am calling from here "user@Jerry-Gold MINGW64 ~ $ sui client objects 0xd124572ffc76842311fc1dfd9393bfbf8dc890d70d826fe0a5027d6ce7d97f28 ╭───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
A: The knowledge sources don’t contain anything specific about your `capy_node` module or this exact error pattern, so I can’t fully diagnose from docs alone. I can only rely on what they say about coins…
Q: So if I have these 2 tests: #[random_test] fun test_u8_lookup_table(number: u8) { u8::is_power_of_ten_lookup_table(number); } #[random_test] fun test_u8_optimized(number: u8) { u8::is_power_of_ten_optimized(number); } Will they be ran with the same inputs? Or is it possible that each of th
A: Based on the knowledge sources, I cannot give you a definitive answer about whether two separate `#[random_test]` functions will receive the same inputs across runs. What the knowledge sources do tel…
Q: lỗi từ getDynamicField rồi và module 0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e::price_identifier { struct PriceIdentifier has copy, drop, store { bytes: vector, } public fun from_byte_vec(arg0: vector) : PriceIdentifier { assert!(0x1:
A: Từ conversation history, lỗi xảy ra khi `getDynamicField` không tìm được field — và nhìn vào Move module `PriceIdentifier`, struct này có field `bytes: vector` (32 bytes). Vấn đề BCS serializatio…
Q: i want to build a stablecoin virtual card on SUi, what are the tools required to do build this, want to use zklogin
A: Building a stablecoin virtual card on Sui with zkLogin is an interesting project. Here's a breakdown of the relevant tools and components based on the available knowledge sources: ## zkLogin Integrat…
Q: HOT是什么概念?
A: # Hot Potato(热土豆)模式 在 Sui 的 Move 语言中,**Hot Potato** 是指一个**没有任何能力(abilities)的结构体**。具体来说,它没有 `copy`、`drop`、`key` 或 `store` 这四种能力中的任何一种。[[Hot Potato Pattern](https://move-book.com/programmability/hot-po…
Q: TTO是什么?
A: **TTO(Transfer to Object)** 是 Sui 上的一种机制,允许将一个对象转移给另一个对象(而不仅仅是地址)。[[Transfer to Object](https://docs.sui.io/guides/developer/objects/transfers/transfer-to-object)] ## 核心原理 Sui 不区分 32 字节的**地址 ID** 和 …
Q: không có checksEnabled trong simulateTransaction
A: Vấn đề là bạn đang gọi `this.suiGrpcClient.simulateTransaction(...)` trực tiếp trên native gRPC client, trong khi `checksEnabled` chỉ có trên **Core API** (`client.core.simulateTransaction`). [[transa…
Q: how can I update a existing env's rpc-url using sui cli?
A: The knowledge sources do not explicitly mention a direct command to **update** an existing environment's RPC URL in place. However, based on the available documentation, the standard approach is to **…
Q: TTO 支持以下类型的父对象有上面说的4种,那不支持的类型有哪些?
A: 根据知识来源,TTO 机制对父对象的限制如下: **不支持作为父对象的类型:** - **Immutable(不可变对象)**:不可变对象无法作为父对象接收子对象。即使你将一个对象转移给不可变对象的 ID,也**无法访问**该子对象。 [[Owner enum](https://github.com/MystenLabs/sui/blob/main/crates/sui-types/src/o…
Q: let user_接著寫下去,不要寫重複的東西
A: 以下是從斷點處接續的完整程式碼: ```move let user_tokens: u64; if (table::contains(&pad.priority_allocations, sender)) { user_tokens = *table::borrow(&pad.priority_allocations, sender); asse…
Q: give me full corrected version of this too " const registerWithSuper = async (params: { nftId: string; superNodeId: string; onStatus: (status: string) => void; }) => { const { nftId, superNodeId, onStatus } = params; if (!account) { onStatus('Please connect your wallet first'); re
A: Here is the full corrected version of `registerWithSuper`, replacing the random shard selection with a live registry query — the same fix applied to your `register` function: ```ts const registerWith…
Q: root@vmi3147298:~/node# ./sui-tool download-formal-snapshot --genesis genesis.blob --path db_new --no-sign-request --epoch 1085 Beginning formal snapshot restore to end of epoch 1085, network: Mainnet, verification mode: Normal Beginning transaction digest backfill for epoch: 1085, backfilling from:
A: Le problème que tu rencontres est un **timeout réseau** lors du téléchargement de certains checkpoints depuis `https://checkpoints.mainnet.sui.io`. L'erreur est claire : ``` Failed to fetch checkpoin…
#3 22 questions high priority

Frontend dApp Integration Gaps

zkLogin edge cases and wallet adapter failures lack documented solutions, blocking production dApps.

Show 15 questions
Q: Cannot find name 's'. [2304] 2. Cannot find name 's'. [2304] 3. Unreachable code detected. [7027] 4. Unreachable code detected. [7027
A: 根據你上一則程式碼,這些錯誤來自這行: ```typescript const dWalletCapId = /* 從 result.objectChanges 裡解析 */ '0x...'; ``` 這行裡的註解 `/* 從 result.objectChanges 裡解析 */` 是**佔位符**,你還沒有實際實作解析邏輯,TypeScript 可能因此產生語法或型別錯誤。 --- #…
Q: how do I get usd amounts of transactions
A: The knowledge sources do not contain enough information to answer a query about getting **USD amounts** of transactions on Sui. The available documentation covers: - **Balance changes in native coin …
Q: i want to copy all the sui docs so I can transfer it to my local llm, can you please provide a text file for every page within the Sui reference docs?
A: I'm not able to generate or provide text files for every page of the Sui reference docs — that's outside what I can do as a Q&A assistant. However, the Sui documentation team has already built resour…
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 to put my own slush wallet address
A: Based on the conversation context, it sounds like you want to use your own Slush Wallet address with the Sui CLI. Here's how you can do that: ### Option 1: Import your Slush Wallet address into the C…
Q: guide to build first smart contract
A: # Building Your First Sui Smart Contract Here's a step-by-step guide to writing and deploying your first Move smart contract on Sui. --- ## Prerequisites Before you start, make sure you have: [[He…
Q: what move.toml
A: ## What is `Move.toml`? `Move.toml` is the **manifest file** for a Move package. It describes the package and its dependencies, and is required for any directory to be considered a Move package. It i…
Q: How to define error codes so that they are more meaningful beyond just a number
A: In Move on Sui, there are two main approaches to make error codes more meaningful than plain numbers: ## 1. Named Error Constants (Classic Approach) Define `const` values prefixed with `E` and a cam…
Q: I have USDC on sui
A: If you already have USDC on Sui and need SUI for gas, the knowledge sources do not explicitly cover swapping USDC for SUI directly (e.g., via a DEX). However, there are a couple of relevant options m…
Q: what is the address of coin metadata object id of Sui coin in testnet
A: The knowledge sources do not explicitly provide the specific object ID of the `CoinMetadata` object for the native SUI coin on **testnet**. What the knowledge sources do tell us is: - The **`CoinReg…
Q: Move.lock file should be committed to git and automated address management in Sui packages
A:
Q: Seal allowlist Move contract reference implementation seal_approve with shared object members
A:
Q: Security best practices
A: Here's a summary of security best practices across different areas of the Sui ecosystem: --- ## Network & Validator Security Sui maintains all security properties as long as over 2/3 of validators …
Q: Πώς μπορώ να επικοινωνήσω
A: Με βάση τις διαθέσιμες πηγές, μπορείτε να επικοινωνήσετε με τον Kostas Chalkias μέσω του λογαριασμού του στο X (Twitter): **[@kostascrypto](https://x.com/kostascrypto)**. [[Builder FAQ](https://www.su…
Q: Question Where to Find Answer Q3.1 Does the DeepBook V1 documentation specify that self-trades are prevented? DeepBook V1 design docs (if available). Q3.2 Is the self_matching_prevention field in the Order struct actually enforced during order matching? clob.move code (order matching function). Q3.3
A: ### Finding Q3: DeepBook and self‑trading **Q3.1 – Does DeepBook V1 documentation specify that self‑trades are prevented?** The provided knowledge only includes: - The original `deepbook::clob` (so…
#4 18 questions medium priority

API Selection and Migration Uncertainty

Developers can't confidently choose between gRPC, GraphQL, and archival endpoints without a decision guide.

Show 13 questions
Q: but it doesn't match the data that getStakesById did in RPC? this is the schema data class Stakes( val validatorAddress: String, val stakingPool: String, val stakes: List ) data class StakedSuiLike( val stakedSuiId: String, val stakeRequestEpoch: BigInteger, v
A: You're right to flag this — the `Stakes` / `StakedSuiLike` schema you're showing (with `validatorAddress`, `stakingPool`, `stakeRequestEpoch`, etc.) reflects what the old JSON-RPC `getStakes`/`getStak…
Q: how to optimize gas in move contracts?
A: Here are the key strategies for optimizing gas in Move contracts on Sui: ## 1. Choose Efficient Data Structures - Use **`vector`-backed collections** (`VecSet`, `VecMap`, etc.) only for collections …
Q: 1 epoch on walruson mainnet and testnet how long
A: Here are the epoch durations for Walrus: | Network | Epoch Duration | |---------|---------------| | **Mainnet** | 2 weeks (14 days) | | **Testnet** | 1 day | [[Available Networks](https://docs.wal.a…
Q: how to use sui mcp server for vscode
A: The knowledge sources provided do not contain any information about a "Sui MCP server" for VS Code. The documents cover VS Code extensions for Move development (like the Move Analyzer by Mysten Labs a…
Q: any security issue?
A: Based on our conversation history, you're asking about security issues in the Bitcoin-related Rust code you shared previously. As I mentioned, that code is not related to Sui blockchain development, a…
Q: upstream connect error or disconnect/reset before headers. reset reason: connection termination
A: This error message ("upstream connect error or disconnect/reset before headers. reset reason: connection termination") is a general network connectivity error, typically seen with proxies or load bala…
Q: Can you point me to the specifications of this method? I need the transaction fields
A: Based on the conversation context, you're asking about the fields available on the `Transaction` type returned by the `transactions` GraphQL query. ## `Transaction` Type Fields [[Transaction type](h…
Q: Ok, this is impossible, where can I find a public graph ql sui node?
A: No worries! Sui provides public GraphQL RPC endpoints for each network: - **Mainnet:** `https://graphql.mainnet.sui.io/graphql` - **Testnet:** `https://graphql.testnet.sui.io/graphql` - **Devnet:** `…
Q: What novel cryptographic primitives and Move features does Sui offer that are underused by developers, including zkLogin, Walrus, SEAL, Nautilus, Mysticeti, and consensus innovations?
A:
Q: I had tokens I can't recover from sui
A: I'm sorry to hear about your situation. Here are some relevant points based on the available information: ## Common Reasons for Inaccessible Tokens on Sui **1. Lost OAuth/zkLogin credentials** If yo…
Q: what is an example of an event in sui
A: An **event** in Sui Move is a struct with `copy` and `drop` abilities that you emit to notify off-chain services (indexers, apps) when something happens on-chain. Events are not stored on-chain but ar…
Q: def _fetch_cids_from_sui(nft_ids: list[str], stdout): """Same as your original method (extracted)""" try: config = SuiConfig(rpc_url="https://fullnode.testnet.sui.io:443") client = SyncClient(config) object_ids = [ObjectID(nft_id) for nft_id in nft_ids] resu
A: The knowledge sources provided do not contain information about the **pysui** Python SDK (`SuiConfig`, `SyncClient`, `GetMultipleObjects`, etc.), so I cannot provide specific guidance on fixing the py…
Q: is this correct? Key findings: - 0xab7b... doesn't exist on-chain — it's not a real object - User has 1 SUI coin (0xb7cfa4...) with 0.5 SUI
A: Your analysis is partially correct, but there's an important nuance to clarify based on the documentation. **What's accurate:** - If `fundsInAddressBalance: "0"` and the user has no address balance, …
#5 10 questions medium priority

Node and Validator Configuration Gaps

Missing docs on snapshot restoration and indexer config leave operators unable to self-serve.

Show 18 questions
Q: 那为什么使用官方grpc端点可以正常转账而本地部署的grpc节点不行?
A: 这是一个很好的问题。根据知识库中的信息,本地部署的 gRPC 节点与官方节点行为不同,最可能的原因是**本地节点的 gRPC 索引未正确启用**。 ## 关键原因:本地节点需要显式启用 gRPC 索引 要在自部署的全节点上提供 gRPC 服务,必须在 `fullnode.yaml` 配置文件中启用 gRPC 索引: ```yaml rpc: enable-indexing: true `…
Q: 代币转账请求付费的grpc simulateTransaction 接口报错PERMISSION_DENIED: permission denied。 但是使用官方节点https://fullnode.mainnet.sui.io:443可以正常预估出来 请问rpc节点有什么配置错误影响了?
A: ## RPC 节点配置问题分析 您的付费 RPC 节点返回 `PERMISSION_DENIED`,而官方节点正常,问题很可能出在以下 **节点配置层面**: ### 1. gRPC 索引未启用 这是最常见的原因。gRPC `simulateTransaction` 接口需要节点**专门开启 gRPC 索引**才能提供服务。如果您的 RPC 提供商没有在 `fullnode.yaml` 中启…
Q: I'm hitting a persistent TypeMismatch on arg_idx: 4 (the Enclave argument to seal_approve) when fetching keys. (base) okorideo@Okoris-MacBook-Air seal-official % cargo run --bin seal-cli fetch-keys --request "$FETCH_KEY_REQ" \ -k 0x73d05d62c18d9374e3ea529e8e0ed6161da1a141a94d3f76ae3fe4e99356d
A: The knowledge sources don't provide a built-in tool to introspect the PTB embedded inside a `FetchKeyRequest` (the `--request` blob). The `seal-cli parse` command is documented only for inspecting *en…
Q: cd /home/sui-graphql/sui/crates/ && nohup /root/.cargo/bin/cargo run --bin sui-kv-rpc -- zan-sui-archive-store-main 0.0.0.0:19184 127.0.0.1 19180 --credentials /root/maxen-1-f9ca39781e21.json > /home/archive/sui-kv-rpc.log 2>&1 & 我的sui-kv-rpc要怎么优化
A: 根据知识库中关于 `sui-kv-rpc` 的官方文档,以下是对你当前命令的优化建议: ### 当前命令分析 你的命令使用 `cargo run` 方式运行,建议改为直接运行编译好的二进制文件,性能更好。官方推荐的运行方式如下: ```sh sui-kv-rpc \ \
\ --credentials /path/to/…
Q: /get_pools
A: ## Endpoint `/get_pools` Повертає список усіх доступних пулів з детальною інформацією про базовий та котирувальний активи, а також параметри пулу. [[DeepBookV3 Indexer](https://docs.sui.io/onchain-fi…
Q: Yeah but what about these concerns: Finalize is still O(n) (send_funds per winner) → gas / step limits still matter for very large n. Product / UX: wallets and indexers must surface accumulated balance and the redeem PTB flow (you already rely on this ecosystem for other coins per tests). Yo
A: These are valid technical concerns. Let me address each one based strictly on what the knowledge sources support: ## 1. O(n) Finalization / Gas Limits This concern is well-founded. The knowledge sou…
Q: how validator works at core level.
A: ## Validator Core Mechanics on Sui ### 1. Staking & Voting Power Each validator maintains a **staking pool** that tracks delegated SUI and compounds rewards. Voting power is proportional to stake, b…
Q: 一个对象必须先接收另一个对象,才能使用它。 先接收另外一个对象,怎么接收?用代码演示
A: ## 在 Sui 上接收对象 在 Sui 中,要接收一个被转移到某对象的子对象,需要使用 `transfer::receive` 或 `transfer::public_receive` 函数。[[Transfer to Object](https://docs.sui.io/guides/developer/objects/transfers/transfer-to-object#receiv…
Q: Walrus publisher alternatives to nami.cloud
A:
Q: Yes. Here are the exact questions to ask: --- **Question 1 — Honeypot detection (most important)** > On Sui, is there a reliable way to simulate a token sell transaction without actually executing it, to detect if a token is a honeypot? Specifically: does the Sui RPC have a `dryRunTransactionBloc
A: I'll answer each question based on what the knowledge sources directly support, and clearly flag where the sources don't provide enough information. --- ## Question 1 — Honeypot Detection via Transa…
Q: how can i deserialize contentJson in event? Sample: { "packageId": "0x08d13929817c5f2ebff56c60432725f669b83ad496f955581c2d6c1118af8fac", "_packageId": "packageId", "module": "periphery_pool", "_module": "module", "sender": "0x0a
A: Looking at your sample, the `contents.value` field contains raw BCS-serialized bytes of the Move event struct. You need to define the matching struct layout and parse those bytes using the `@mysten/su…
Q: non-defining modules can mint other's objects?
A: No. In Sui Move, non-defining modules **cannot** create (mint) objects of a type they don't define. This is enforced by Move's **privileged struct operations** rule: > Struct types can only be creat…
Q: json rpc 升级grpc后。listOwnedObjects 不支持多type查询了
A: 是的,这是从 JSON-RPC 迁移到 gRPC 后的一个已知限制。 ## 情况说明 **JSON-RPC 的 `getOwnedObjects`** 支持通过 `filter` 传入 `MatchAny` 来同时匹配多个 type,但 **gRPC 的 `listOwnedObjects`** 的 `object_type` 参数每次只支持单个类型过滤。[[gRPC State Servic…
Q: Can I create a zklogin wallet with iPhone Face ID?
A: zkLogin specifically uses **OAuth credentials** (like Google, Apple, Facebook, etc.) — not device biometrics like Face ID. So you cannot create a zkLogin wallet directly with iPhone Face ID. However,…
Q: what is authorities_db
A: `authorities_db` is the primary database directory used by a Sui node (`sui-node`) to store all authority-related (validator/full node) data. By default, it is located at `/opt/sui/db/authorities_db` …
Q: executeTransactionBlock is this sent to mysten labs infra, or directly to the blockchain
A: `executeTransactionBlock` (or `executeTransaction`) is sent to a **Sui full node** — not directly to validators, and not necessarily to Mysten Labs infrastructure. Here's the distinction: - **Full n…
Q: walrusClient.writeFiles() is the cleanest API for file uploads — a single call with just a few lines: walrusClient.writeFiles({ deletable: true, signer, // ... });, but i use enoki and i dont have signer
A: This is a real challenge when using Enoki, since Enoki abstracts away the keypair and doesn't expose a raw `Signer` object directly. Based on the knowledge sources available, here are two approaches …
Q: 我想用graphql的方式查询suiNS名字,该怎么查?
A: 根据知识库,使用 GraphQL 查询 SuiNS 名称有以下两种方式: ## 1. 地址 → 默认 SuiNS 名称 使用 `address` 查询的 `defaultSuinsName` 字段: ```typescript import { SuiGraphQLClient } from '@mysten/sui/graphql'; import { graphql } from '@m…

User engagement

649
Questions asked
302
Unique users
103
Returning users (2+ questions)
2.1
Avg questions per user

Top returning users

User ID Questions
1c310763-acaa-4ca1-9221-9b0aa49db1c0 33
b8f29253-ae5e-4b9a-8a79-32d470f569b1 15
e242bd67-e4fb-4feb-a6c2-fce172bd0d88 13
fc1ddec3-7013-409d-b948-c4b5e1c682bb 12
c4c62bb1-62ca-4a33-9e86-903a068f7283 11
55fde635-9249-4c3c-9d3a-140000b72b84 10
560faa1f-b37e-4c9e-80b2-49090b0a6f58 10
9afa1e41-8a03-40ed-ae56-80263ae31959 9
695e29d9-d9f4-4f08-9afe-88bb3e89688d 8
a699eb92-7e9f-40b7-86d0-fad9f337bf8a 8
c3028e18-9b89-49fe-beb4-40ee932f0e61 8
b2c1a0ff-e9d5-448b-b0ed-3961c0274bd6 7
e6d425eb-8d4e-4d23-93dd-9dfcd953654a 7
d8bcb920-acfb-43a1-b0e3-ff16d40dc1d4 7
f071e107-6712-47d5-8d9f-6473b4d6e347 7
5cbd5cf7-cb6f-4ecb-a1fa-1a0eac1ddaa5 7
68a362bb-0a1f-43f3-8ec6-97242fe9d48d 7
59ff3b84-9dda-4e1a-ae6d-0a006827e317 7
1c7d872a-38fd-45c8-bccb-031c1b32439a 7
7bb7f7dc-4a03-47ac-b721-1f2343ec0366 7

Questions per user

Questions Users
1 199
2 38
3 24
4 9
5 6
6 6
7 9
8 3
9 1
10 2
11 1
12 1
13 1
15 1
33 1

Recommended Actions

high Documentation Partial

Publish end-to-end NFT and Kiosk standards guide

New guide covering OTW minting, Display V2 fields, Kiosk listing, TransferPolicy royalty rules, and airdrop patterns in one place.

100% uncertain-answer rate on NFT/Kiosk questions this week signals a complete documentation gap blocking an entire developer segment.

↑ Eliminate the bot's coverage failure on NFT/Kiosk themes and unblock NFT developers currently finding no answers.
Docs cover Kiosk (https://docs.sui.io/onchain-finance/kiosk/index.md), Display (https://docs.sui.io/develop/objects/display/display-overview.md), TransferPolicy (https://docs.sui.io/develop/objects/transfers/transfer-policies.md), and NFT creation (https://docs.sui.io/onchain-finance/tokenized-assets/create-nft.md) separately, but no single end-to-end guide integrating OTW minting, Display V2 fields, Kiosk listing, royalty rules, and airdrop patterns in one place exists.
high Documentation Partial

Create an API selection and JSON-RPC migration decision guide

Side-by-side comparison of gRPC, GraphQL, and archival endpoints with a decision flowchart and migration examples for common JSON-RPC methods.

25% of all Kapa questions this week involve API selection or migration, and the July 2026 JSON-RPC deprecation deadline is approaching.

↑ Reduce API-selection friction questions and accelerate developer migration before the deprecation cutoff.
Separate docs exist for gRPC (https://docs.sui.io/develop/accessing-data/grpc/index.md), GraphQL (https://docs.sui.io/develop/accessing-data/graphql/index.md), and archival endpoints, but no side-by-side decision guide or flowchart comparing these with JSON-RPC migration examples is present.
high Documentation Partial

Add advanced Move patterns reference covering upgrades and shared object versioning

New advanced Move docs covering upgrade compatibility rules, versioned shared objects, error code conventions, and complex generic patterns.

38 uncertain-answer questions on advanced Move patterns represent the largest single friction theme by volume.

↑ Improve bot answer confidence on advanced Move questions and unblock developers working on production-grade contract upgrades.
Docs cover package upgrades (https://docs.sui.io/develop/publish-upgrade-packages/upgrade.md), versioning (https://docs.sui.io/develop/publish-upgrade-packages/versioning.md), and object versioning (https://docs.sui.io/develop/objects/versioning.md) separately, but no consolidated advanced Move patterns reference covering upgrade compatibility rules, error code conventions, and complex generics in one place exists.
high Tooling ✓ Confirmed

Improve sui client error messages for gRPC configuration failures

Update sui-node and sui client CLI to emit actionable error messages when gRPC indexing is not enabled, replacing the current opaque PERMISSION_DENIED response.

Multiple developers this week hit PERMISSION_DENIED on self-hosted nodes without understanding the root cause is missing enable-indexing config.

↑ Reduce support burden for gRPC setup failures and enable operators to self-diagnose configuration errors faster.
No documentation or CLI guidance about actionable error messages for gRPC configuration failures or PERMISSION_DENIED responses is found in the site pages; this remains an unaddressed improvement.
medium Tooling ✓ Confirmed

Add Move compiler warnings for common upgrade incompatibilities

Extend the Move compiler to emit warnings when code patterns are likely to violate upgrade compatibility rules, such as removing public functions or changing struct layouts.

Developers repeatedly ask about upgrade compatibility rules and make breaking changes unknowingly; compiler-time feedback prevents costly on-chain mistakes.

↑ Catch upgrade-breaking patterns at build time before deployment, reducing post-upgrade incidents and support questions.
No documentation about Move compiler warnings for upgrade incompatibilities (e.g., removing public functions or changing struct layouts) is present in the site pages; this tooling feature is not yet documented.
high Developer Experience ✓ Confirmed

Add zkLogin JWK rotation debugging utility to the CLI

New sui keytool or sui client subcommand that validates a zkLogin session's JWK kid against the current Google JWKS endpoint and explains if rotation has invalidated it.

Multiple developers hit silent JWK-not-found errors with no tooling to diagnose which key rotated or when, causing production zkLogin failures.

↑ Give developers a self-service diagnostic path for zkLogin failures instead of requiring doc research or support escalation.
While zkLogin integration docs exist (https://docs.sui.io/sui-stack/zklogin-integration/zklogin.md) and keytool CLI is documented (https://docs.sui.io/references/cli/keytool.md), no JWK rotation debugging utility or subcommand validating a zkLogin session's JWK kid against the Google JWKS endpoint is documented.
medium Developer Experience ✓ Confirmed

Build a new sui client ptb dry-run output inspector showing per-command gas and object changes

New CLI output mode for sui client ptb --dry-run that shows gas cost and object change per command, not just aggregate transaction totals.

Developers this week asked how to estimate gas per operation and simulate individual PTB commands; no existing tool provides command-level granularity.

↑ Reduce gas-optimization questions and help developers identify which PTB commands are expensive before submitting to chain.
The PTB CLI reference (https://docs.sui.io/references/cli/ptb.md) is documented, but no per-command gas cost and object change output mode for sui client ptb --dry-run is described in the available site pages.