Weekly Docs Report

docs.sui.io Analytics

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

Executive Summary

Kapa Questions
701
Themes Identified
7
Visitors (7d)
4,152
Represents roughly 44% of the 14-day total (9,448), indicating consistent week-over-week volume with slight acceleration in the most recent 7 days.
Pageviews (7d)
12,326
Averages ~1,761 pageviews/day. The final day (Apr 20) alone contributed 2,292, the highest single-day count of the week.
Bounce Rate (7d)
62%
Slightly lower than the 14-day and 30-day rate of 65%, suggesting the most recent week had marginally better engagement.
Views per Visit (7d)
2.64
Consistent with 14-day (2.60) and 30-day (2.56) averages, indicating stable browsing depth across time windows.
Avg Visit Duration (7d)
157 seconds
Slightly lower than the 14-day average of 168s, but within normal range; users spend meaningful time engaging with documentation.
Visitors (30d)
20,647
Roughly 693 visitors/day over 30 days, with the most recent 7 days averaging 593/day — slightly below the monthly average, though Apr 20 spiked to 708.
Move smart contract development and gRPC/GraphQL API migration are the dominant developer pain points this week, driven by 229 and 187 Kapa questions respectively, while onboarding funnel pages dominate site traffic indicating strong new-developer acquisition activity. Dual URL fragmentation for installation docs and a looming JSON-RPC deprecation deadline create urgent consolidation and migration opportunities.

Traffic Overview

Over the 7-day period (Apr 14–20, 2026), docs.sui.io received 4,152 visitors generating 12,326 pageviews with a 62% bounce rate, averaging 2.64 views per visit and 157 seconds per session. Traffic is dominated by direct visits and Google search, with strong engagement on onboarding and getting-started content. The final day (Apr 20) saw the highest traffic of the week at 708 visitors and 2,292 pageviews, suggesting an upward trend at period end.

Weekend traffic dip followed by strong Monday recovery

Visitors dropped to 448 on Apr 18 (Saturday) and 472 on Apr 19 (Sunday), then surged to 708 on Apr 20 (Monday) — the highest day of the week — confirming a developer-skewed weekday usage pattern.

Onboarding funnel dominates top content

The top 10 pages are heavily concentrated in /getting-started/onboarding/* paths, indicating that new developer acquisition and first-time setup are the primary use cases driving docs traffic this week.

AI chatbot referrals emerging with high engagement

claude.ai (541s avg session) and chatgpt.com (43s) together sent 33 visitors. Claude users show exceptionally deep engagement, suggesting AI-assisted developers are using docs for complex research tasks.

Dual URL path fragmentation for install docs

/getting-started/onboarding/sui-install (363 visitors) and /guides/developer/getting-started/sui-install (143 visitors) both rank in the top 5, indicating users arrive via both legacy and new URL structures — a potential consolidation opportunity.

DeepBook DeFi content gaining traction

The /onchain-finance/deepbookv3/deepbook page ranks 11th overall with 107 visitors, and deepbook.tech is the 5th-largest referral source (94 visitors, 197s duration), reflecting growing DeFi developer interest in the Sui ecosystem.

7-day engagement slightly better than 30-day baseline

The 7-day bounce rate (62%) is 3 points lower than the 30-day rate (65%), and views-per-visit (2.64) is marginally higher than the 30-day average (2.56), suggesting recent content or navigation improvements are having a positive effect.

Top 20 Pages

# Page Insight
1 / Top page with 1,121 visitors and 1,459 pageviews. Low bounce rate of 23% and 69s time-on-page suggest users quickly navigate deeper into the docs from the homepage.
2 /getting-started/onboarding/sui-install 363 visitors and 476 pageviews make this the #1 content page. Strong demand for installation guidance with 58s avg time-on-page.
3 /sui-api-ref 136 visitors but 260 pageviews, indicating repeat visits or deep browsing. API reference is a high-value resource for returning developers.
4 /guides/developer/getting-started/sui-install 143 visitors with 185 pageviews. This legacy path mirrors the new onboarding path, suggesting users arrive via both old and new URL structures.
5 /getting-started/onboarding/get-coins 132 visitors and 182 pageviews. A critical onboarding step with 57s time-on-page, reflecting active new developer setup activity.
6 /getting-started/onboarding 157 visitors and 181 pageviews with a very low 9% bounce rate, indicating this hub page effectively routes users to further onboarding steps.
7 /getting-started/onboarding/hello-world 118 visitors with 172 pageviews and a high 68% bounce rate, suggesting many users reach this tutorial but do not continue further.
8 /getting-started/tooling 100 visitors and 167 pageviews with a low 25% bounce rate and short 33s time-on-page, indicating quick reference use.
9 /references/fullnode-protocol 89 visitors and 159 pageviews with a 22% bounce rate and 25s time-on-page, used as a quick technical reference by node operators.
10 /getting-started 109 visitors and 157 pageviews with a very low 10% bounce rate, functioning as an effective entry funnel to deeper content.
11 /onchain-finance/deepbookv3/deepbook 107 visitors and 156 pageviews with 20% bounce rate. DeepBook DeFi content sees strong engagement, supported by referrals from deepbook.tech.
12 /references/sui-api 108 visitors and 144 pageviews. API reference pages collectively attract significant developer traffic looking for technical specifications.
13 /develop/sui-architecture/tokenomics-overview 112 visitors and 133 pageviews with a 50% bounce rate, reflecting broad interest in tokenomics but moderate depth of engagement.
14 /getting-started/onboarding/configure-sui-client 82 visitors and 119 pageviews with a low 19% bounce rate and 66s time-on-page, showing users carefully follow client configuration steps.
15 /getting-started/onboarding/ 73 visitors and 111 pageviews with a 21% bounce rate, acting as a secondary onboarding hub alongside the non-trailing-slash version.
16 /guides 82 visitors and 110 pageviews with a low 17% bounce rate, serving as an effective navigation hub into developer guides.
17 /develop/write-move/sui-move-concepts 91 visitors and 106 pageviews with a 44% bounce rate, indicating moderate engagement with Move language conceptual content.
18 /getting-started/onboarding/get-address 64 visitors and 99 pageviews with 24% bounce rate and 56s time-on-page. A key onboarding step with solid user engagement.
19 /develop/sui-architecture/ 72 visitors and 97 pageviews with an 18% bounce rate, suggesting users actively explore architecture documentation as a starting point.
20 /develop/accessing-data/grpc 56 visitors and 96 pageviews with a high 54% bounce rate but 73s time-on-page, indicating users spend time reading gRPC docs but don't always continue.

Referral Sources

Source Type Insight
Direct / None Organic 1,955 visitors — the largest single source. 68% bounce rate and 130s visit duration suggest a mix of bookmarked users and unattributed traffic including apps and newsletters.
Google Organic 1,125 visitors with a 55% bounce rate and 214s visit duration — the highest engagement of any major source, indicating strong intent from organic search.
sui.io Organic 485 visitors referred from the main Sui website with 47% bounce rate and 145s duration. A key internal funnel from the marketing site.
Bing Organic 208 visitors with a notably high 80% bounce rate and only 93s duration. Bing traffic is less engaged than Google, possibly due to lower query specificity.
deepbook.tech Organic 94 visitors with a 46% bounce rate and 197s duration. Highly engaged DeFi-focused audience navigating from the DeepBook product site.
docs.sui.io Organic 78 self-referral visitors with 54% bounce rate and 362s duration — the longest session time of any source, indicating deep cross-doc navigation sessions.
blog.sui.io Organic 42 visitors from the Sui blog with 69% bounce rate. Blog readers sampling docs but not always continuing; the Move Registry post drove notable traffic.
GitHub Organic 32 visitors from GitHub with a 50% bounce rate and only 50s duration. Developer-driven traffic but relatively brief sessions.
Baidu Organic 28 visitors with a 93% bounce rate and 0s duration — almost entirely non-engaging traffic, likely bots or very high mismatch between query and content.
chatgpt.com AI / Chatbot 25 visitors referred by ChatGPT with 67% bounce rate and 43s duration. AI-driven referrals are present but sessions are short, suggesting users quickly validate answers.
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 the SuiPlay platform with 55% bounce rate and 152s duration. Gaming-oriented Sui users exploring developer documentation.
Twitter Organic 17 visitors from Twitter/X with 68% bounce rate and 158s duration. Social traffic is small but reasonably engaged when they do read.
Facebook Organic 16 visitors with 50% bounce rate and 132s duration. A minor but present social channel with moderate engagement.
evefrontier.com Organic 11 visitors from Eve Frontier (a Sui-based game) with 64% bounce rate and 44s duration. Game developer crossover traffic exploring Sui docs.
luma Organic 10 visitors with a 33% bounce rate and 460s duration — the highest session duration of any source, suggesting event attendees doing deep research after Sui events.
claude.ai AI / Chatbot 8 visitors from Claude with 54% bounce rate and 541s duration — the longest sessions of any referral source, indicating highly engaged AI-assisted research sessions.
Yahoo! Organic 8 visitors with 75% bounce rate and near-zero duration. Low-quality traffic similar to Baidu, likely irrelevant queries.
okg-block.sg.larksuite.com Organic 7 visitors from a Lark/Feishu workspace, suggesting a team in the Singapore/Asia blockchain space actively sharing Sui docs internally.
Yandex Organic 6 visitors with 33% bounce rate and 77s duration. Small but moderately engaged Russian-language search traffic.

chatgpt.com

25 visitors with 43s avg session; short sessions suggest users quickly verify chatbot answers against official docs rather than deep-reading.

claude.ai

8 visitors with 541s avg session — the longest of any referral source, indicating Claude users arrive with complex research tasks requiring extended docs reading.

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
/getting-started/onboarding/sui-install Sui Deployment & Package Management High install page traffic aligns with repeated CLI setup and Move.toml confusion questions.
/develop/accessing-data/grpc gRPC and GraphQL API Usage & Migration High bounce rate despite long session time signals gRPC docs leave key questions unanswered.
/guides/developer/getting-started/sui-install Sui Deployment & Package Management Legacy URL duplication splits install traffic, increasing risk of users hitting stale content.
/getting-started/onboarding/hello-world Move Smart Contract Development 68% bounce rate suggests hello-world tutorial does not bridge to real Move patterns developers need.
/sui-api-ref gRPC and GraphQL API Usage & Migration High repeat-visit ratio on API reference reflects ongoing JSON-RPC to gRPC migration lookups.
/references/fullnode-protocol Node Operations & Infrastructure Low bounce rate confirms node operators use this page heavily for gRPC indexing configuration.
/onchain-finance/deepbookv3/deepbook NFT, Kiosk, and Digital Asset Standards DeepBook DeFi page engagement correlates with DeFi-focused kiosk and token standard questions.
/develop/write-move/sui-move-concepts Move Smart Contract Development 44% bounce on Move concepts page suggests conceptual gaps not fully resolved by current content.

Notable Takeaways

Hello World tutorial has the highest bounce rate of any onboarding page

68% bounce rate on /getting-started/onboarding/hello-world vs 9% on the /getting-started/onboarding hub

Developers reach the first concrete tutorial and abandon, suggesting the step from hub to hands-on code is too steep.

Install docs are split across two high-traffic URLs simultaneously

363 visitors on new path vs 143 visitors on legacy /guides/developer/getting-started/sui-install in the same 7-day period

Fragmented install traffic means a significant share of developers may encounter outdated or inconsistent setup instructions.

Claude.ai referrals generate 12x longer sessions than ChatGPT referrals

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

AI-assisted developers arriving from Claude are doing deep research, representing a high-value segment worth optimizing docs for.

gRPC migration questions vastly outnumber node operations questions despite shared infrastructure topic

187 gRPC/GraphQL migration questions vs 47 node operations questions out of 701 total

Application developers migrating APIs are a much larger audience than node operators, warranting migration-focused content prioritization over operator troubleshooting.

Developer Pain Point Themes

Move smart contract development and gRPC/GraphQL API migration dominate developer questions this week, together accounting for the majority of all activity. Transaction building, NFT/token standards, frontend dApp integration, and node operations round out the top recurring themes.

#1 229 questions high priority

Move Smart Contract Development

The largest question cluster signals foundational gaps in OTW, upgrade, coin, and capability patterns.

Show 238 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: 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: 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: What is the Sui Kiosk and how does TransferPolicy relate to trading NFTs?
A:
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: 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 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 那是否可以通过`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: 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: 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: 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: 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 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: 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: 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: How to use wal_exchange exchange_all_for_wal swap rate buffer slippage in Walrus SDK?
A:
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: 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: 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: 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: how to install move-analyzer
A: There are several ways to install `move-analyzer`: ## Option 1: Using suiup (Recommended) ```sh suiup install move-analyzer ``` [[Sui Developer Tools](https://docs.sui.io/tooling)] ## Option 2: Vi…
Q: addressBalance 是啥 和之前有什么不一样
A: ## Address Balance 是什么? `addressBalance` 是 Sui 新引入的**地址级余额系统**(Address Balances),基于 [SIP-58](https://github.com/sui-foundation/sips/blob/main/sips/sip-58.md) 规范实现。 ### 和之前的区别 **之前(旧模型):** - Sui 的余额…
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: 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: 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: 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: 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: 默认的 order 是不是descending?
A: 知识源中没有明确说明 `queryEvents` 的默认排序方向是 `ascending` 还是 `descending`。 我无法从现有知识源中确认这一点,建议你参考 [Sui TypeScript SDK 官方文档](https://sdk.mystenlabs.com/typedoc/modules/_mysten_sui.client.html) 或直接测试验证。 不过,从实践角度来看…
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: 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: 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: 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: 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: 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 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: 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: 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 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: 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: 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: 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: 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: 怎么在python里面调用这个 unsafe_payAllSui
A: 很抱歉,当前提供的知识来源中没有关于如何在 Python 中调用 `unsafe_payAllSui`(或任何 Sui JSON-RPC 方法)的具体代码示例或详细说明。 知识来源中仅提到了以下关于 `sui_payAllSui` 的功能描述: > 该方法接受一个 SUI token ID 数组,将所有现有 token 合并为一个,扣除 gas 费用后,将合并后的 token 发送给收款地址。…
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: 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: 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: 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: 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: Θα είναι ανοιχτό το sui hub Athens την άλλη παρασκευή;
A: Λυπάμαι, αλλά οι διαθέσιμες πηγές πληροφοριών δεν περιέχουν στοιχεία σχετικά με το ωράριο λειτουργίας ή το πρόγραμμα εκδηλώσεων του SuiHub Athens για συγκεκριμένες ημερομηνίες. [[SuiHub Athens](https:…
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: Πότε μπορώ να επισκεφτώ το sui hub στην Αθήνα;
A: Το SuiHub Αθήνα είναι ήδη ανοιχτό! Βρίσκεται σε ένα αποκατεστημένο νεοκλασικό κτίριο στην Αθήνα και λειτουργεί ως χώρος δημιουργίας, μάθησης και συνεργασίας για developers και builders. [[SuiHub Athen…
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: 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: 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: 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: 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: Που έχει πληροφορίες για το athens hub
A: Μπορείτε να βρείτε πληροφορίες για το **SuiHub Athens** στο επίσημο blog του Sui. [[SuiHub Athens](https://blog.sui.io/suihub-athens-opens/)] Συγκεκριμένα, το άρθρο καλύπτει: - **Τοποθεσία**: Στεγάζ…
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: Πώς μπορώ να επικοινωνήσω
A: Με βάση τις διαθέσιμες πηγές, μπορείτε να επικοινωνήσετε με τον Kostas Chalkias μέσω του λογαριασμού του στο X (Twitter): **[@kostascrypto](https://x.com/kostascrypto)**. [[Builder FAQ](https://www.su…
Q: Θέλω να πάω στο hub στην Αθήνα
A: Μπορείς να παρακολουθείς τα νέα και τα events του **SuiHub Athens** και να βρεις ευκαιρίες να πας από τα επίσημα κανάλια του Sui: - Το SuiHub Athens είναι φυσικός χώρος στην Αθήνα που φιλοξενεί works…
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: 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: 帮我查询下 如何下掉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: 根据现有知识来源,目前已上线或即将登陆 Sui 的游戏包括: ## 已上线游戏 - **XOCIETY** — POP 射击游戏,已在 Epic Games Store 上线 Early Access,支持 PC 和 SuiPlay0X1,集成 Walrus、zkLogin、动态 NFT 和闭环代币。[[XOCIETY Launch](https://blog.sui.io/xociety-e…
Q: Sui Move smart contract security best practices and common vulnerabilities
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'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: 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: 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: 继续介绍Sui的Coin 和 Token的异同点。各自使用的场景?是否可以全部用Token来替代Coin?Coin除了SUI币,主网有没有其他的广泛使用的案例?
A: ## Sui 上的 `Coin` 与 `Token` 对比 ### 核心异同点 | 对比维度 | `Coin` | `Token` | |---|---|---| | **Abilities** | `key + store` | 仅 `key` | | **可包装(Wrappable)** | ✅ 支持 | ❌ 不支持 | | **可自由转账** | ✅ 默认支持 |…
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: 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: 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: 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: 啊 如果我沒有treasury cap 怎麼辦
A: 根據你的情境,如果你沒有 `TreasuryCap`,有以下幾種情況需要區分: ## 情況一:你的 SUIX 代幣是用 `coin::create_currency` 建立的 `TreasuryCap` 是在呼叫 `coin::create_currency` 時由合約發布者收到的。[[Coin Standard](https://github.com/MystenLabs/sui/blob/…
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: 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: Αρα αν έχεις latest SDK + coinWithBalance transfers + do not select coins manually no changes needed
A: Ναι, αυτό είναι σωστό. Αν χρησιμοποιείς: - **TypeScript SDK v2+** (latest) - **`coinWithBalance`** για τα transfers - **Δεν επιλέγεις coins manually** Τότε δεν χρειάζεται καμία αλλαγή. Το SDK αυτόμα…
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: 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: 一个对象必须先接收另一个对象,才能使用它。 先接收另外一个对象,怎么接收?用代码演示
A: ## 在 Sui 上接收对象 在 Sui 中,要接收一个被转移到某对象的子对象,需要使用 `transfer::receive` 或 `transfer::public_receive` 函数。[[Transfer to Object](https://docs.sui.io/guides/developer/objects/transfers/transfer-to-object#receiv…
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: 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: Walrus subsidies contract how to use
A:
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: 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: 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: 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: Cloudflare Workers WASM WebAssembly support bundling esbuild
A:
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: 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: 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: ): 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: 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: 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: 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: 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…
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: where is sui faucet for testnet
A: The official Sui Testnet faucet is available at **https://faucet.sui.io/** [[Sui Faucet](https://docs.sui.io/guides/developer/getting-started/get-coins#online-faucet)] **How to use it:** 1. Connect y…
Q: what file should i change for editing the UI for my nft lauchpad
A: Based on the scaffolded project structure from `@mysten/create-dapp`, here are the key files you should edit for your NFT launchpad UI: ## Core Files to Edit ### `src/App.tsx` The main layout file —…
Q: [sui-node-0:bash* "vmi3147298" 16:58 03-Apr-26 g checkpoint root@vmi3147298:~/node# cd .. root@vmi3147298:~# ./sui-tool download-formal-snapshot --latest --genesis genesis.blob --path db_new --no-sign-request -bash: ./sui-too
A: Le téléchargement échoue lors de l'étape **"transaction digest backfill"**, qui consiste à récupérer des checkpoints depuis `https://checkpoints.mainnet.sui.io`. L'erreur est : ``` Failed to fetch ch…
Q: how do i read out the value and strategies of a wallet
A: ## Reading Wallet Balances and Strategies on Sui ### Reading Wallet Balances You can query wallet balances using the Sui TypeScript SDK's core client methods: **Get balance for a specific coin type…
Q: maximelavail@Maximes-MacBook-Pro ~ % grpcurl fullnode.mainnet.sui.io:443 sui.rpc.v2.LedgerService/GetServiceInfo { "chainId": "4btiuiMPvEENsttpZC7CZ53DruC3MAgfznDbASZ7DR6S", "chain": "mainnet", "epoch": "1086", "checkpointHeight": "261102664", "timestamp": "2026-04-03T14:55:32.074Z", "lo
A: Oui, exactement ! En comparant les deux réponses, votre nœud n'est pas encore synchronisé : | | Nœud public (mainnet) | Votre nœud | |---|---|---| | **Epoch** | 1086 | 1079 | | **Checkpoint height** …
Q: Give me a prompt for using graphQL, installation, usage
A: Here's a complete guide to using the Sui GraphQL API. ## Installation The GraphQL client is included in the `@mysten/sui` package. Install it with: ```bash npm install @mysten/sui ``` ## Setting U…
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: 我怎么获取都call哪些函数?
A: 根据知识来源,以下是获取交易中所有函数调用信息的方法: ## 方法一:使用 Replay 工具生成 Trace ```bash sui replay --trace --digest <攻击TX摘要> ``` 生成的 trace 文件包含了执行过程中所有 Move 指令和函数调用的详细信息,包括 PTB 命令(如 SplitCoins、MergeCoins、TransferObjects)和…
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: 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: 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: 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: 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: 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: 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 BCS event deserialization normalized Move modules layout struct fields runtime decoding eventType string getNormalizedMoveModule or layout for Move struct.
A:
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: 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: 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: 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 configure_enclave.sh script EC2 instance setup nitro-cli build-enclave EIF image reproducible build Makefile
A:
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: How does Seal encryption bind to package_id and what happens when a package is upgraded or force published?
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 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: 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: 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: 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: 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: 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: 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: 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: struct VecSet has copy, drop, store { contents: vector, } 这是合约代码
A: 很好,这正好印证了上一个回答的分析。 `VecSet` 的结构体定义确认了: ```move struct VecSet has copy, drop, store { contents: vector, } ``` 它只有一个字段 `contents: vector`,**BCS 编码中结构体只是字段的顺序序列,没有额外包装**。[…
Q: 我现在使用的2.13.2版本的 @mysten/sui,我在比如OKX钱包中打开我的dapp页面做签名的时候,比如签名成功后,本来应该拿到交易哈希的,但是在这种钱包里打开做完签名会获取不到签名的结果,这是为什么?签名使用的signAndExecuteTransaction方法
A: ## 关于 `signAndExecuteTransaction` 获取不到结果的问题 根据知识库中的信息,这个问题很可能与**钱包兼容性**和**返回值处理方式**有关。 ### 可能的原因 #### 1. 返回值是联合类型(Union Type),需要正确解包 在新版 SDK 中,`signAndExecuteTransaction` 的返回值是一个**判别联合类型**(discrim…
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: # 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: --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: 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: 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: 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: 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: 新版沒有addresses 那以前要用@fee_address 那種該怎麼辦。
A: 在新版套件管理系統中,`[addresses]` 區段已被移除。以前用 `@fee_address` 這類具名地址的方式,在新系統中需要改變做法。 根據文件說明,新系統的命名規則如下: > **套件的名稱來自 `[package]` 區段或 `[dependencies]` 區段中給定的名稱**,而不再來自 `[addresses]` 區段。 [[Package Migration](htt…
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: 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: 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: 呼叫 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 我想用graphql的方式查询suiNS名字,该怎么查?
A: 根据知识库,使用 GraphQL 查询 SuiNS 名称有以下两种方式: ## 1. 地址 → 默认 SuiNS 名称 使用 `address` 查询的 `defaultSuinsName` 字段: ```typescript import { SuiGraphQLClient } from '@mysten/sui/graphql'; import { graphql } from '@m…
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: 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: 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: 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…
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: 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: 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: 基本的なmoduleの分け方をおしえて
A: Sui の Move における基本的なモジュールの分け方について説明します。 ## モジュールの基本原則 **1オブジェクト・1データ構造につき1モジュール**を設計の基本とします。バリアント構造体がある場合も、複雑さやバグを避けるために独自のモジュールを持つべきです。 [[Move Best Practices](https://docs.sui.io/guides/developer/mo…
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: Sui CLI commands publish package call function devnet testnet
A:
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…
Q: where is sui signing personal message listed
A: Personal message signing on Sui is documented in several places across the knowledge sources: 1. **Wallet Standard** – `sui:signPersonalMessage` is listed as a required wallet feature that wallets sh…
Q: sui client call 指令
A: ## `sui client call` 指令 `sui client call` 用於呼叫 Move 套件中的函數,是與 Sui 網路互動的核心指令之一。[[Sui Client CLI](https://github.com/MystenLabs/sui/blob/main/docs/content/references/cli/client.mdx)] ### 基本語法 ```sh s…
Q: when i found that epoch cannot finalize due to unbounded randomness tx! is this a bug? how does epoch works
A: Based on the knowledge sources available, I can explain how epoch transitions work on Sui and address your concern. ## How Epoch Transitions Work Epoch changes occur approximately every 24 hours. Th…
Q: sbt nft
A: ## Soulbound NFTs (SBTs) on Sui A **Soulbound Token (SBT)** is a non-transferable NFT that is permanently bound to the account it was minted to. [[Soulbound NFT Example](https://docs.sui.io/guides/de…
Q: this is my move.toml [package] name = "alliance_protocol" edition = "2024" # edition = "legacy" to use legacy (pre-2024) Move # license = "" # e.g., "MIT", "GPL", "Apache 2.0" # authors = ["..."] # e.g., ["Joe Smith (joesmith@noemail.com)", "John Snow (johnsnow@noemail.com)"]
A: Your `Move.toml` looks like a valid new-format (post-v1.63) manifest. Here are a few observations and suggestions: ### What looks good - Using `edition = "2024"` is correct. - The `[environments]` se…
Q: Окей, а через sdk? @mysten/sui?
A: Вот как вызвать `mint_gladiator` через `@mysten/sui` TypeScript SDK, используя PTB: ```typescript import { Transaction } from "@mysten/sui/transactions"; import { SuiClient, getFullnodeUrl } from "@m…
Q: check if there is any update needed on this based on the register_capy and unregister_capy functions updates " entry fun reveal_mine( shard_pool: &mut ShardPool, pool: &mut MinerPool, node: &mut NFTNode, nft: &NFT, commit: MiningCommit, secret: vector,
A: Looking at `reveal_mine` in the context of the updates made to `register_capy` and `unregister_capy`, the key change introduced was the **registry cache sync** (`registry.shard_participant_counts`). S…
Q: I am tranferring My personal token in testnet but object is I am not able to see
A: Here are a few things to check when you can't see your transferred object on Sui Testnet: ## 1. Verify You're Looking at the Right Network Make sure your explorer is set to **Testnet**, not Mainnet.…
Q: "Transaction resolution failed: CommandArgumentError { arg_idx: 0, kind: ArgumentWithoutValue } in command 28"。这个报错是什么意思?
A: ## 分析 `CommandArgumentError: ArgumentWithoutValue` 报错 这个错误发生在 PTB(Programmable Transaction Block)的第 29 个命令(command index 28,0-indexed)中,第 0 个参数(`arg_idx: 0`)出现了问题。 ### 错误含义 根据 Sui 的执行状态协议,`ARGUMENT…
Q: What's ray math?
A: The knowledge sources do not contain enough information to answer a query about "ray math" in the context of Sui. The available documents cover topics like DeepBook Margin risk ratios, Move integer ar…
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: 现在sui的市值是多少
A: 非常抱歉,我的知识来源中没有包含 SUI 代币当前市值的实时数据。市值是动态变化的,需要查看实时数据。 建议您通过以下渠道查询 SUI 的最新市值: - [CoinGecko](https://www.coingecko.com) - [CoinMarketCap](https://www.coinmarketcap.com) - [DefiLlama](https://defillama.co…
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: 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: 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…
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.…
#2 187 questions high priority

gRPC and GraphQL API Usage & Migration

JSON-RPC deprecation deadline makes migration friction an urgent ecosystem-wide risk.

Show 276 questions
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: 今年sui有哪些重大更新升级?
A: 根据知识来源,以下是Sui在2025-2026年的重大更新与升级: ## 核心技术升级 - **Mysticeti v2**:Sui共识引擎升级,实现了亚秒级(不到1秒)的交易最终确认,适用于大多数使用场景。[[Sui Stack 2025](https://blog.sui.io/2025-sui-stack-developments/)] - **新虚拟机(New VM)**:Sui执行层…
Q: What is a witness pattern in Sui Move programming?
A:
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: 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: 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: 讲一下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: 我要如何制作一个可以在其他交易所上架的 NFT?
A: 在 Sui 上,要制作一个可以在其他交易所(市场)上架的 NFT,你需要结合以下几个关键步骤: ## 1. 定义 NFT 结构 使用 Move 定义你的 NFT 类型,需要同时拥有 `key` 和 `store` 能力(这样才能通过标准转移函数交易): ```move module examples::testnet_nft; use std::string; use sui::url::…
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: 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: 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: 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: 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: 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: 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: ### 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: 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: 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: /get_pools
A: ## Endpoint `/get_pools` Повертає список усіх доступних пулів з детальною інформацією про базовий та котирувальний активи, а також параметри пулу. [[DeepBookV3 Indexer](https://docs.sui.io/onchain-fi…
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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: How do shared objects and dynamic fields work in Sui Move, and what DeFi patterns do they enable?
A:
Q: What is SEAL on Sui and how does it provide decentralized secrets management or threshold encryption?
A:
Q: What is Walrus decentralized storage on Sui and what applications can it enable?
A:
Q: How does zkLogin work on Sui and what are its privacy and identity properties?
A:
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: 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: 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: 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: 那如果我自建一个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: How does coinWithBalance resolve SUI coins when fundsInAddressBalance is zero? What causes "Invalid withdraw reservation" errors?
A:
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, …
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: '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: suiup install move-analyzer
A: The command `suiup install move-analyzer` installs the **Move Analyzer** — the Move Language Server that provides code completion, go-to-definition, hover information, and diagnostics for Move smart c…
Q: so if I was storing a users hidden assets in a DB, would it be fine to just store the objectId or would i store it per network
A: Based on the previous answer, you should **store the object ID together with the network identifier** — not the object ID alone. As established, the same object ID can exist on multiple Sui networks …
Q: Next.js app router dApp Kit QueryClientProvider WalletProvider QueryClient set no query client set legacy @mysten/dapp-kit-react
A:
Q: @mysten/dapp-kit QueryClientProvider No QueryClient set use QueryClientProvider provider order React Query WalletProvider
A:
Q: How do I get a list of transaction digests that used a given package? (either directly or as a dependency). Even just one (the most recent one) would be enough.
A: You can use the Sui GraphQL API to find transactions that interacted with a given package. The most relevant filter available is `function`, which lets you filter transactions by a specific function i…
Q: 给下使用 GraphQL 查询使用方式
A: 以下是使用 `SuiGraphQLClient` 查询币种精度的完整示例: ```typescript import { SuiGraphQLClient } from '@mysten/sui/graphql'; import { graphql } from '@mysten/sui/graphql/schema'; const gqlClient = new SuiGraphQLClie…
Q: how can I measure parallelism in transaction execution?
A: On Sui, there are a few approaches to measuring and understanding parallelism in transaction execution: ## 1. Commands Per Second (CPS) vs TPS Rather than relying solely on TPS, **CPS (Commands Per …
Q: Hmm, this isn't really what I'm asking. I don't care about DeepBook, I just need a way to create a coin object with any balance for inspection of results with the mocked coin. Is that possible?
A: Yes, this is possible in a testing/inspection context using **`coin::mint_for_testing`**. The Sui framework provides a test-only function specifically for creating a `Coin` of any type with any ba…
Q: hi
A: Hi there! How can I help you with Sui today? Feel free to ask any questions about Sui development, smart contracts, transactions, or anything else related to the Sui blockchain.
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: 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: 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: 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: 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: getDynamicField的作用?
A: 您的问题与上一条相同,以下是对 `getDynamicField` 的总结: `getDynamicField` 用于**根据字段名称获取对象上的某个特定动态字段**。动态字段是可以在对象构建后动态添加或移除的字段,字段名可以是任意具有 `copy`、`drop`、`store` 能力的值。[[Dynamic Fields](https://docs.sui.io/guides/develope…
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 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: OKLink是不是只有前端可使用?
A: 根據知識來源,OKLink 的描述是: > "Provide fundamental explorer and data APIs on Sui." [[OKLink](https://www.oklink.com/sui)] 從描述來看,OKLink **有提供 API**(不只是前端瀏覽器),所以理論上可以透過後端調用。不過,知識來源中**沒有進一步說明** OKLink API 的具體…
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: ptb 是什么,有什么优势
A: ## PTB(Programmable Transaction Block)是什么? PTB(可编程交易块)是 Sui 上所有用户交易的基本形式。它由一组**命令(Commands)**组成,这些命令按顺序执行,共同完成一笔交易。[[什么是 PTB](https://docs.sui.io/guides/developer/transactions/ptbs/prog-txn-blocks)] …
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: 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: 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: 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: 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: 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: 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: 在walrus的质押协议中 是否允许用户向一个已注册的 Walrus 但是该节点处于 未激活 un_active_validators状态 的节点中质押wal?
A: 根据当前提供的知识源,我无法给出关于 Walrus 质押协议中"向未激活节点质押 WAL"的明确答案。 知识源中关于 Walrus 质押的内容只涉及: - 质押/解质押的时间窗口(委员会选举中点前后的影响); - 通过 Walrus staking app 进行质押/解质押的操作步骤。[[Walrus 质押文档](https://docs.wal.app/docs/operator-guide…
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: 哪种方法更适合?
A: 根据知识库,以下是各方法的适用场景对比: ## 方法对比 | 方法 | 适用场景 | |------|----------| | **GraphQL 在线 IDE** | 临时查询、调试、探索数据,无需写代码 | | **curl 命令行** | 脚本自动化、一次性批量查询 | | **TypeScript SDK (`SuiGraphQLClient`)** | 集成到前端/Node.js …
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: 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: 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: 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: 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: 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 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: 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: 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: 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: 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: 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: 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 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: 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: 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: 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: 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: Move module conventions and best practices for Sui smart contracts
A:
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: 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: 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: 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: Δεν υπάρχει καμία αναφορά στις πηγές για «απλή φόρμα επικοινωνίας» ή για το αν κάποιο συγκεκριμένο hub έχει κλείσει, οπότε δεν μπορώ να το επιβεβαιώσω ή να το διαψεύσω με σιγουριά. Αυτό που προκύπτει…
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: 我使用的2.13版本为啥没有ledgerService.getValidators这个方法
A: 我能从文档里确认两点,但文档没有给出你这个具体版本(2.13)的 API 结构细节,所以下面是基于现有资料的推断和说明: 1. 官方迁移文档明确写了: JSON‑RPC 的 `getValidatorsApy` 需要用 gRPC 的 `ledgerService.getValidators` 来替代。[[Methods gRPC](https://sdk.mystenlabs.com/…
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: 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: 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: 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: 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: 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: 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: 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: 怎么知道一笔交易的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: coin type呢
A: 根据知识源,gRPC 中 `coin_type`(币种类型)的格式要求如下: ## gRPC 中的 Coin Type 格式 在 Sui gRPC API 中,`TypeTag` 和 `StructTag` 使用其**规范字符串格式**表示,例如: ``` 0x0000000000000000000000000000000000000000000000000000000000000002::…
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: 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: 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: 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: 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: 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: 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: 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: 我的网络环境是正常的 其他同事出现了这个问题
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: 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: 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: 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: <完整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: 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: 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: 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: TTO 支持以下类型的父对象有上面说的4种,那不支持的类型有哪些?
A: 根据知识来源,TTO 机制对父对象的限制如下: **不支持作为父对象的类型:** - **Immutable(不可变对象)**:不可变对象无法作为父对象接收子对象。即使你将一个对象转移给不可变对象的 ID,也**无法访问**该子对象。 [[Owner enum](https://github.com/MystenLabs/sui/blob/main/crates/sui-types/src/o…
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: 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: 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: 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: 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: 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: 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 upload relay costs subsidies
A:
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: 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: 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: 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: 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: 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: 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: 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 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: 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: 那這樣我之前設定過的檔案的package ID需要換成新發布後的嗎,還是不用換
A: 是的,**需要換成新的 Package ID**。 ## 原因 根據 Sui 的套件版本機制,每次重新 publish(而非 upgrade)都會產生一個**全新的 Package ID**,和舊版完全不同。 [[object versioning](https://docs.sui.io/guides/developer/objects/versioning#packages)] > Ev…
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: 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: 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: Walrus mainnet aggregator publisher public URL endpoint
A:
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: 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: 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: 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: 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: How to query events from a Sui smart contract using queryEvents with cursor-based pagination and event type filtering?
A:
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: 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: 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: 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: I mean my shared object is mutable can edit data inside if I shared in first command PTB can I call it in second command? or I need to execute new tx?
A: Based on the knowledge sources, here's the precise answer: **You cannot use a shared object by value after calling `share_object` in the same PTB.** However, the question depends on *how* you're acce…
Q: i mean a parent and child isnt that just wrapper relationship
A: No, they're actually two different things on Sui — even though they can look similar at first glance. ## Wrapping (what `SharedBlob` does) A wrapped object is **directly embedded as a field** inside…
Q: What are object ownership types for Sui Move?
A: Sui Move supports the following object ownership types: [[Object Model](https://docs.sui.io/guides/developer/objects/object-model#object-ownership)] ## 1. Address-Owned An object owned by a specific …
Q: How can i send in typescript a coin from one wallet to another/
A: Here are the main ways to send a coin from one wallet to another in TypeScript on Sui: ## Option 1: Using `splitCoins` + `transferObjects` (manual approach) Split the gas coin and transfer the resul…
Q: How does Object versions works? Can Objects can change between load time and execution time
A: ## Object Versioning in Sui ### How Versions Work Every object on Sui is referenced by an **(ID, version)** pair. Key properties: - Each object has an **8-byte unsigned integer version** that monot…
Q: 你現在是一位資深的 Web3 智能合約架構師,精通 Sui Move (2024 Edition) 語法。 我正在開發一個名為「Robinhood.Pad」的 Launchpad 平台,請幫我撰寫核心的打新智能合約。 合約需求如下: 1. 模組名稱為 `launchpad`。 2. 需要定義三個核心 Object: - `AdminCap` (具有 key, store):在 init 時發送給部署者,作為管理員權限。 - `LaunchpadPool` (具有 key):作為共享物件(Shared Object)。內部需包含:
A: 感謝您的詳細需求說明!不過,我需要先說明一點:**您要求我扮演特定角色(「資深 Web3 智能合約架構師」)**,這超出了我的設計範圍,我只能以 Sui 技術助手的身份回答。 此外,您的需求涉及許多具體的 Move 實作細節,我只能根據知識來源中有明確支持的模式來提供程式碼。以下是基於知識來源中的 **Capability 模式**、**Shared Object 模式**、以及 **Coin/…
Q: give me the typescript sdk for graphql
A: Here's how to use the Sui TypeScript SDK with GraphQL: ## Installation ```bash npm install @mysten/sui ``` ## Setting Up a GraphQL Client ```ts import { SuiGraphQLClient } from '@mysten/sui/graphq…
Q: Sorry, I mean maximum number of transactions can exist in a single checkpoit?
A: Based on the knowledge sources, the `ProtocolConfig` struct includes a `max_transactions_per_checkpoint` field, described as: > "Max number of transactions per checkpoint. Note that this is a protoco…
Q: How can I modify the css style of React components ConnectButton and ConnectModal and also select the wallets to be listed on ConnectModel?
A: ## Styling and Configuring `ConnectButton` & `ConnectModal` in React ### CSS Styling dApp Kit uses a theming system compatible with [shadcn/ui](https://ui.shadcn.com/docs/theming), based on CSS cust…
Q: how to deploy my website to walrus
A: Here's how to deploy your website to Walrus Sites: ## Prerequisites 1. Install and configure Sui 2. Install and configure Walrus 3. Obtain Testnet SUI and WAL tokens (or Mainnet tokens for productio…
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: 如果 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: 我想同时舰艇链上多个事件,升级2.x之后有没有什么方法能办到
A: 在 Sui SDK 2.x 升级之后,原来的 `queryEvents` JSON-RPC 方法需要迁移到 **GraphQL** 方式来查询事件。以下是同时监听多个链上事件的方法: ## 使用 `SuiGraphQLClient` 查询事件 首先设置 GraphQL 客户端: ```typescript import { SuiGraphQLClient } from '@mysten/s…
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: 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 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: Sui GraphQL MoveType layout query concrete type fields layout runtime parsing event type string without source code.
A:
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: 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: 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: 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: 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: 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: 如果我没有源码呢
A: 如果没有源码,根据知识库中的信息,有以下几种方式可以获取或查看已部署合约的字节码: ### 方法一:通过 GraphQL API 获取链上字节码 可以使用 Sui GraphQL API 查询已发布包的模块字节码。`MoveModule` 类型提供了以下相关字段:[[MoveModule GraphQL](https://docs.sui.io/references/sui-api/sui-g…
Q: Nautilus enclave.move full source code all functions register_enclave verify_signature IntentMessage Cap EnclaveConfig
A:
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: 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: 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: ok understood
A: Got it! Feel free to ask if you have any more questions about Sui. 😊
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: # 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: 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: 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: 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: ➜ 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: 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: 那可以不用 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: 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'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: А как мне передать VecMap в параметры вызова из sdk?
A: Чтобы передать `VecMap` в качестве аргумента через TypeScript SDK, нужно сериализовать его через BCS. `VecMap` внутренне представлен как два вектора: `keys` и `values`. Используйте `b…
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: 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: 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: 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: 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: 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: ┌─[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…
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…
#3 96 questions high priority

Transaction Building (PTBs, Coins, Signing)

PTB construction errors block developers from completing any on-chain interaction.

Show 33 questions
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: Sui normalized move module RPC getNormalizedMoveModule getNormalizedMoveStruct dynamic event BCS decoding from event type and on-chain package layout.
A:
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: 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: json rpc 升级grpc后。listOwnedObjects 不支持多type查询了
A: 是的,这是从 JSON-RPC 迁移到 gRPC 后的一个已知限制。 ## 情况说明 **JSON-RPC 的 `getOwnedObjects`** 支持通过 `filter` 传入 `MatchAny` 来同时匹配多个 type,但 **gRPC 的 `listOwnedObjects`** 的 `object_type` 参数每次只支持单个类型过滤。[[gRPC State Servic…
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 complete step by step guide from scratch including Rust server mod.rs process_data implementation with custom logic
A:
Q: 如果我不知道某个已知交易的检查点呢,能不能直接通过时间戳筛选
A: 很遗憾,根据文档中 `EventFilter` 的定义,**目前不支持直接通过时间戳筛选事件**。 [[EventFilter](https://docs.sui.io/references/sui-api/sui-graphql/beta/reference/types/inputs/event-filter)] `EventFilter` 支持的字段只有: | 字段 | 说明 | |--…
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: 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: 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: 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: 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: 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: 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: 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: 不是某个地址的,而是在链上扫描
A: 根据现有的知识来源,我没有找到关于**全链扫描所有含 `Balance` 的 Object**(不限于某个地址)的直接 API 或方法。 知识来源中提供的查询方式均基于**特定地址**(owner)来获取其拥有的余额或对象,例如: - `client.core.listBalances({ owner: '0xabc...' })` [[Core API](https://sdk.mys…
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: 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: 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: 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: 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: 我要铸造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: 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: 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: 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 transaction deferral consensus handler randomness limit deferral rounds congestion control
A:
Q: sui graphql url
A: Here are the Sui GraphQL RPC endpoint URLs: | Network | URL | |---------|-----| | **Mainnet** | `https://graphql.mainnet.sui.io/graphql` | | **Testnet** | `https://graphql.testnet.sui.io/graphql` | |…
Q: So how can I open a slush wallet through another app in my mobile?
A: You can open Slush Wallet from another mobile app using **deep linking**. Slush supports two approaches: ## 1. Universal Links (Recommended) Use `my.slush.app` HTTPS links — they work on iOS, Androi…
Q: this is what i have [package] name = "alliance_protocol" edition = "2024" # edition = "legacy" to use legacy (pre-2024) Move # license = "" # e.g., "MIT", "GPL", "Apache 2.0" # authors = ["..."] # e.g., ["Joe Smith (joesmith@noemail.com)", "John Snow (johnsnow@noemail.com)"]
A: Looking at your `Move.toml`, the structure looks mostly correct for the new-style format. However, there are a couple of things to address: ## Issues to Fix ### 1. The `rev = "main"` for your git de…
#4 60 questions medium priority

Frontend & dApp Integration (Wallet, zkLogin, PTBs)

Wallet and zkLogin confusion prevents dApps from reaching end users successfully.

Show 34 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 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: 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: 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: 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: 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: 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: Φτιάξε μου πάλι το μνμ για το πρότζεκτ για συνάντηση στο χαμπ
A: Δεν υπάρχει κάτι στα knowledge sources για συγκεκριμένο “χαμπ” ή το πρότζεκτ σου, οπότε δεν μπορώ να βασιστώ σε επίσημες λεπτομέρειες. Θα σου δώσω ένα γενικό, σύντομο μήνυμα που μπορείς να προσαρμόσει…
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: 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: 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: 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: 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…
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: 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: 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: 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: 并不是落后checkpoint,而是同步后和链上状态不一致,那么我觉得应该是某个接受的checkpoint数据有问题,那么怎么快速恢复呢
A: 你的判断很有道理——如果节点已经同步到最新 checkpoint,但本地状态与链上不一致,很可能是某个 checkpoint 数据在接收或执行时出现了问题,导致本地数据库处于不一致状态。 根据知识库中的信息,**最快的恢复方式仍然是从快照重建**,因为这可以绕过有问题的本地数据库状态,直接恢复到一个经过协议验证的干净状态。 ## 推荐:使用 Formal Snapshot 恢复 Formal…
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: Walrus publisher endpoints mainnet
A:
Q: Walrus SDK WASM dependencies Cloudflare Workers
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: 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: 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: 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: How does Object versions works? Can Objects can change between load time and execution time
A: ## How Object Versioning Works on Sui ### Core Versioning Mechanism Every object on Sui is identified by a unique **(ID, version)** pair. When a transaction modifies an object, it writes the new con…
#5 52 questions medium priority

NFT, Kiosk, and Digital Asset Standards

Royalty enforcement and TransferPolicy errors break marketplace integrations developers depend on.

Show 29 questions
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: 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: 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: 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: What liquid staking protocols and yield tokens exist on Sui and how do they work?
A:
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: 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: 如何设置默认名称?
A: 根据现有知识源,关于如何设置 SuiNS 默认名称的具体操作步骤,知识源中没有直接说明设置"默认名称"的方法。 不过,知识源中提到了以下相关信息: - 在 SuiNS 门户([suins.io](https://suins.io/account/my-names))的 **Names You Own** 页面,可以对已拥有的域名进行管理操作,例如将域名链接到 Walrus Site。[[Sui…
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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 你把上面转成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: 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: 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: # sui client switch --env testnet sui client publish --build-env testnet --gas-budget 200000000 Active environment switched to [testnet] [NOTE] Updating dependencies for `testnet` environment because "./Move.toml" has been changed since the last update. The package has unpublished dependencies. If y
A: The error persists, which suggests the `dep-replacements` configuration isn't being picked up correctly. Let me address your question about `--with-unpublished-dependencies` first, then help you fix t…
Q: Напиши мне PTB что бы передать обьект адресу
A: Вот пример PTB для передачи объекта адресу с использованием TypeScript SDK: ```typescript import { Transaction } from '@mysten/sui/transactions'; const tx = new Transaction(); // Передаём объект (с…
#6 47 questions medium priority

Node Operations & Infrastructure

gRPC indexing misconfiguration on self-hosted nodes silently breaks simulateTransaction for operators.

Show 19 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: 模拟运行tx,得到gas开销
A: 在 Sui 上模拟运行交易(不实际提交上链)并获取 Gas 开销,有以下几种方式: --- ## 方法一:使用 Sui CLI `--dry-run` ```bash # 直接对交易字节进行 dry run sui client dry-run # 或在调用 Move 函数时加上 --dry-run 标志 sui client call \ --package <…
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: '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: 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: 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: 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: Explain display v2 literal and give examples for different commonly used types
A: ## Display V2 Literals In Sui's Object Display V2 template language, a **literal** is a concrete, typed value written directly in a format string expression — rather than referencing a field from an …
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: đâ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: Walrus subsidies contract mainnet WAL token free storage how to use programmatically
A:
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: 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: 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: 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: 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 can I get the private key of the current active address so I can add this address to Phantom wallet?
A: To export the private key of your current active address, you can use the `sui keytool export` command. Here's how: **Step 1: Find your active address** ```sh $ sui client active-address ``` **Step …

User engagement

648
Questions asked
301
Unique users
103
Returning users (2+ questions)
2.2
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 198
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 ✓ Confirmed

Consolidate sui-install docs to a single canonical URL with redirect from legacy path

Merge /guides/developer/getting-started/sui-install content into /getting-started/onboarding/sui-install and add a 301 redirect.

Two high-traffic install pages split 506 weekly visitors across potentially inconsistent instructions.

↑ Eliminates install confusion and concentrates SEO and editorial effort on one source of truth.
The docs show sui-install content at https://docs.sui.io/getting-started/onboarding/sui-install.md but no evidence of a legacy /guides/developer/getting-started/sui-install path being redirected to it.
high Documentation ✓ Confirmed

Publish side-by-side JSON-RPC to gRPC/GraphQL migration cheat sheet

Create a single page mapping each deprecated JSON-RPC method to its gRPC or GraphQL equivalent with code examples.

187 migration questions and a July 2026 deprecation deadline make this the most time-sensitive content gap.

↑ Reduces repeat migration questions and unblocks the large segment of developers currently mid-migration.
No JSON-RPC to gRPC/GraphQL migration cheat sheet page exists in the site; gRPC docs at https://docs.sui.io/develop/accessing-data/grpc/ and GraphQL docs are separate with no mapping page.
high Documentation Partial

Extend hello-world tutorial with a guided next-step flow into core Move patterns

Revise /getting-started/onboarding/hello-world to add contextual links and a short follow-on exercise covering objects and transactions.

68% bounce rate is the highest of any onboarding page, indicating users hit a dead end after their first success.

↑ Reduces hello-world abandonment and increases progression into deeper onboarding content.
The hello-world page exists at https://docs.sui.io/getting-started/onboarding/hello-world.md and a next-steps page exists at https://docs.sui.io/getting-started/onboarding/next-steps.md, but there is no evidence of inline guided exercises covering objects and transactions within the hello-world tutorial itself.
medium Documentation ✓ Confirmed

Add gRPC node operator troubleshooting section to Full Node docs

Add a dedicated troubleshooting appendix to the Full Node setup page covering gRPC indexing enable-indexing config, PERMISSION_DENIED errors, and simulateTransaction prerequisites.

Repeated questions about local gRPC node failures show the current docs do not surface the enable-indexing requirement prominently.

↑ Reduces operator misconfiguration and cuts support load for self-hosted node gRPC issues.
The Full Node docs at https://docs.sui.io/operators/full-node/sui-full-node.md have no dedicated gRPC troubleshooting appendix covering enable-indexing, PERMISSION_DENIED errors, or simulateTransaction prerequisites.
high Tooling ✓ Confirmed

Improve sui client error messages for missing gRPC indexing configuration

Update sui-node and sui client CLI to emit a clear, actionable error when gRPC endpoints are called but enable-indexing is false in fullnode.yaml.

Developers hitting PERMISSION_DENIED on simulateTransaction waste significant time without a hint that indexing is disabled.

↑ Eliminates the most common self-hosted gRPC misconfiguration support escalation path.
This is a code/CLI improvement recommendation with no documentation counterpart; no page addresses actionable error messaging for missing gRPC indexing configuration.
medium Tooling ✓ Confirmed

Add Move compiler warnings for common upgrade compatibility violations

Extend the Move compiler to emit warnings when a package change would violate upgrade compatibility rules such as removing public functions or changing struct layouts.

Upgrade-related questions are frequent and developers only discover incompatibilities at publish time with cryptic errors.

↑ Shifts upgrade error detection from runtime publish failures to local build time, reducing wasted deploy attempts.
This is a compiler feature recommendation; no documentation at https://docs.sui.io/develop/publish-upgrade-packages/upgrade.md or related pages describes Move compiler warnings for upgrade compatibility violations.
medium Developer Experience ✓ Confirmed

Add a new sui client command to inspect and compare package upgrade history

Implement a sui client upgrade-history command that lists all published versions with digests, timestamps, and compatibility diffs.

Developers repeatedly ask how to trace linear upgrade history and no CLI tool currently exposes this information.

↑ Gives developers and auditors a first-class way to audit package evolution without manual on-chain queries.
No 'upgrade-history' CLI command is documented in the CLI references at https://docs.sui.io/references/cli/client.md or elsewhere in the site.
medium Developer Experience ✓ Confirmed

Build a PTB dry-run gas profiler CLI flag that outputs per-command gas breakdown

Add a --profile flag to sui client dry-run that returns a structured per-command gas cost breakdown in JSON.

96 PTB-related questions include gas estimation confusion and developers currently lack granular per-command visibility.

↑ Enables developers to identify gas hotspots in complex PTBs without guesswork or iterative debugging.
The PTB CLI reference at https://docs.sui.io/references/cli/ptb.md does not document a --profile flag or per-command gas cost breakdown for dry-run operations.