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: 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: 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: 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: 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: giải thích về Consensus
A: ## Consensus trên Sui
**Consensus** (đồng thuận) là quá trình mà phần lớn các node trên mạng blockchain đồng ý về trạng thái hiện tại của mạng, bao gồm các giao dịch nào cần được hoàn tất và ghi vào …
Q: Give me the best skills for Sui Network that will worrk with Claude, I want everything for Sui Node API, Move Programming and Indexing Sui Node data
A: Based on the knowledge sources, here's what's available for Sui skills and tooling across your three areas of interest:
## Sui Agent Skills (Claude Code Compatible)
Install the Sui skills into Claud…
Q: 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: 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: Does Sui allow parallel execution of transactions that read from the same shared object with an immutable reference without going through consensus?
A:
Q: Can you point me to the docs where this is specified for BatchGetObjects
A: I need to be transparent with you: looking back at my previous responses, I made an error. The knowledge sources provided to me **do not actually specify that `BatchGetObjects` requires exact versions…
Q: what's the equivalent of suix_getStakesByIds (from RPC), when using gRPC?
A: Based on the knowledge sources, `getStakesByIds` does **not** have a direct gRPC equivalent. It falls under the category of methods that require using **GraphQL** instead.
The recommended replacement…
Q: Is there a way to see if a sui wallet address is a MultiSig?
A: The knowledge sources don't explicitly describe a direct on-chain lookup method to determine whether a given Sui address is a MultiSig address. However, there are a few approaches mentioned that can h…
Q: 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: 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: How to use wal_exchange exchange_all_for_wal swap rate buffer slippage in Walrus SDK?
A:
Q: how much are in circulation now
A: The knowledge sources do not contain the exact current circulating supply figure. However, they do provide a way for you to retrieve up-to-date circulation data directly via the official Sui circulati…
Q: What is the limit for mysten-labs' rpc nodes?
A: The public RPC endpoints maintained by Mysten Labs (`fullnode..sui.io:443`) are rate-limited to **100 requests per 30 seconds**. [[RPC Best Practices](https://docs.sui.io/references/sui-api/r…
Q: How do I deploy to Sui?
A: Here's how to deploy (publish) a Move package to Sui:
## 1. Set Up the Sui CLI
If you haven't initialized the Sui CLI yet, run:
```bash
sui client
```
Follow the prompts to connect to a full node …
Q: 使用 normalizeSuiAddress 之后,加了 0x 前缀,但是全变成小写了:0xa1ec7fc00a6f40db9693ad1415d0c193ad3906494428cf252621037bd7117e29::usdc::usdc,这样会导致链上查询不到精度吗?
A: 根据知识来源中的信息,地址本身是**大小写不敏感**的:
> "Addresses are case insensitive."
[[Address concepts](https://move-book.com/concepts/address/)]
所以 `0xa1ec7fc00a6f40db9693ad1415d0c193ad3906494428cf252621037bd7117e29…
Q: 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: 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: 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: 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: 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: 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: 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: OKLink是不是只有前端可使用?
A: 根據知識來源,OKLink 的描述是:
> "Provide fundamental explorer and data APIs on Sui."
[[OKLink](https://www.oklink.com/sui)]
從描述來看,OKLink **有提供 API**(不只是前端瀏覽器),所以理論上可以透過後端調用。不過,知識來源中**沒有進一步說明** OKLink API 的具體…
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: what is difference between split coin in TX1 and transfer it in TX2?
// apporach 1
const tx = new Transaction();
const [coin] = tx.splitCoins(tx.gas, [
tx.pure.u64(values.amount),
]);
tx.transferObjects([coin], tx.p
A: ## Key Difference: Same Transaction vs. Cross-Transaction Results
**Approach 1** is correct and will work. **Approach 2 is broken** and will fail.
### Why Approach 2 Fails
In Approach 2, `tx.splitC…
Q: So how back-end side, can store the user's wallet address to execute the contract. Do we need any security field when executing the contracts
A: Great question! Based on the knowledge sources available, there's a relevant pattern for how a backend can handle user wallet addresses and execute contracts securely — using **Enoki**, Mysten Labs' p…
Q: 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: You are using JSON-RPC in above case. how do we do it using GRPC?
A: You're right — the previous example used the legacy `quorum_driver_api()` which is JSON-RPC based. For gRPC in Rust, you would use the `transactionExecutionService` from the `SuiGrpcClient`. Based on …
Q: 默认的 order 是不是descending?
A: 知识源中没有明确说明 `queryEvents` 的默认排序方向是 `ascending` 还是 `descending`。
我无法从现有知识源中确认这一点,建议你参考 [Sui TypeScript SDK 官方文档](https://sdk.mystenlabs.com/typedoc/modules/_mysten_sui.client.html) 或直接测试验证。
不过,从实践角度来看…
Q: 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: 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: 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: 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: .mv 是什么文件
A: `.mv` 文件是 Move 模块编译后生成的**字节码文件**。
具体来说:
- Move 是一种编译型语言,源代码(`.move` 文件)经过编译器处理后,会生成 `.mv` 格式的字节码文件。[[Compiling the Package](https://move-book.com/your-first-move/hello-world/#compiling-the-package)]…
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: 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: 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 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: opheliacardoz24@gmail.com
A: I'm sorry, but your message appears to be just an email address, and I'm not sure what you're asking. I'm designed to answer questions about Sui, the Layer 1 blockchain developed by Mysten Labs.
Coul…
Q: How do I deploy to Sui?
A: Here's how to deploy (publish) a Move package to Sui:
## 1. Set Up the Sui CLI
If you haven't initialized the Sui CLI yet, run:
```bash
sui client
```
Follow the prompts to connect to a full node …
Q: how can i know what value should i place in the test net move toml
A: Here's what you need to know about setting up your `Move.toml` for Testnet:
## Key Values for Testnet `Move.toml`
### 1. Package Address (`[addresses]`)
Set your package's address to `"0x0"` before …
Q: 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 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 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: 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: 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: 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: 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 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: 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: where is stated that nonce is againts replay attacks
A: Several places in the knowledge sources mention that nonces serve as protection against replay attacks in the context of Sui:
1. **Object versioning on Sui**: The object model documentation states th…
Q: is there anywhere in the doc the definition of ehpmeral key
A: Yes, the Sui documentation defines the **ephemeral key** in the zkLogin terminology section. Here is the definition:
> `(eph_sk, eph_pk)`: The private and public key pair used to produce ephemeral si…
Q: can you destroy the struct on limit == some(0)? public(package) fun set_limit_destroy_on_zero
(
claim_share_coins_cap: &mut ClaimShareCoinsCap,
limit: Option,
) {
if (limit == some(0))
claim_share_coins_cap.limit
A: Looking at your code, you want to destroy `ClaimShareCoinsCap` when `limit == some(0)`. However, your current function takes `claim_share_coins_cap` **by mutable reference** (`&mut`), which means you …
Q: 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: 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: 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: 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: sui-groups PermissionedGroup Move contract membership permissions actor pattern MystenLabs
A:
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: Sui Move error code naming conventions and object capability pattern
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: 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: tôi đang sử dụng bản có chocolately, làm sao để chuyển qua của suiup đây?
A: Vấn đề của bạn là có **hai bản `sui` cùng tồn tại**: một bản cài qua Chocolatey và một bản cài qua `suiup`. Windows đang ưu tiên bản Chocolatey cũ hơn.
## Cách chuyển sang dùng bản của `suiup`
### B…
Q: If the package is system package, is it true that the address is not changed upon upgrade?
A: Yes, that is correct. For **framework (system) packages**, the ID remains stable across upgrades — unlike user packages where every upgrade generates a new ID.
From the documentation:
> *"Framework …
Q: 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: 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: 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: 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: Γιατί δεν υπάρχει μια απλή φόρμα επικοινωνίας ρε μαν;έχει κλείσει το hub?
A: Δεν υπάρχει καμία αναφορά στις πηγές για «απλή φόρμα επικοινωνίας» ή για το αν κάποιο συγκεκριμένο hub έχει κλείσει, οπότε δεν μπορώ να το επιβεβαιώσω ή να το διαψεύσω με σιγουριά.
Αυτό που προκύπτει…
Q: 帮我查询下 如何下掉wal.app域名
A: 文档里没有“下掉 wal.app 域名”的专门章节,但可以从 Walrus Sites / Portal 的机制推断出两种常见场景,你可以按需要选择:
---
### 1. 不再通过 `wal.app` 访问你的网站
`wal.app` 是 Walrus Foundation 运营的公共 Mainnet Portal,只会根据 **SuiNS 记录** 来解析并展示 Walrus Site …
Q: graphQl quert events 可以sort嗎?
A: 目前提供的文件裡,沒有提到 `events` 這個 GraphQL query 支援任何 `order` / `sort` 之類的參數,只列出了:
```graphql
events(
first: Int
after: String
last: Int
before: String
filter: EventFilter
): EventConnection
```
也…
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: Sui Move smart contract security best practices and common vulnerabilities
A:
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: sự khác nhau của chúng là gì và nên sử dụng cái nào cho Seal SDK: import { SuiGraphQLClient } from '@mysten/sui/graphql';
import { SuiGrpcClient } from '@mysten/sui/grpc';
import { SuiJsonRpcClient } from '@mysten/sui/jsonRpc';
import { env } from '../config';
export const suiGrpcClient: SuiGrpcCli
A: Khác nhau chính nằm ở **API mà mỗi client nói chuyện với** và **trạng thái hỗ trợ**:
### 1. SuiGrpcClient (gRPC) – khuyến nghị dùng
- Kết nối tới **Full Node gRPC API**. [[Sui clients](https://sdk.m…
Q: What are the user and market level of sui?
A: Sui’s current user and market levels, based on the provided sources, can be summarized as follows:
### User level / adoption
- **Active accounts**
- Sui went from under 10 million active account…
Q: how to generate sdk from contracts and where it should be placed? frontend or api or else?
A: You can generate a TypeScript SDK from your Move contracts using the `@mysten/codegen` tool, and then import that generated code wherever you build transactions (frontend, backend API, or a shared pac…
Q: get object
A: To get an object on Sui, you have a few options depending on the interface you’re using.
---
### 1. Using the Sui TypeScript SDK (Core client)
Fetch a single object by ID:
```ts
const { object } =…
Q: initial share version
A: The knowledge sources you provided don’t mention anything called an **“initial share version”** (or similar term) in the context of DeepBookV3 pools or Sui generally, so I can’t give a precise definit…
Q: compatibility coin reservations
A: I’m sorry, but the provided knowledge sources don’t mention anything about “compatibility coin reservations” (or any similarly named feature), so I can’t give a precise answer.
The closest related to…
Q: c'est quoi les endpoints sensible de springsui
A: Je ne trouve **aucune documentation technique de SpringSui** (ni API, ni endpoints) dans les sources que j’ai. La seule mention est que SpringSui est un **standard de liquid staking** créé par Suilend…
Q: db-path: /opt/sui/db/authorities_db
db-path: /opt/sui/db/consensus_db
command used
sui-tool download-formal-snapshot --latest --genesis "/opt/sui/config/genesis.blob" \
--network mainnet \
--path /opt/sui/db --num-parallel-downloads 50 --no-sign-request
error logs
ubuntu@sui-mainnet:
A: Your `db-path` is:
```text
db-path: /opt/sui/db/authorities_db
db-path: /opt/sui/db/consensus_db
```
but you restored the formal snapshot into:
```text
--path /opt/sui/db
```
For a validator, the …
Q: what is the benefit of Blake2b-256? And why it is being used in Sui for signature?
A: Sui’s docs describe **where** Blake2b-256 is used and **how**, but they do **not** give an explicit design-rationale comparison vs other hashes. I can only summarize the benefits that are implied by i…
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: 把phase1.5做的事放進phase2,維持三個phase就好。再幫我依前述需求生成程式碼
A: 我必須先說明:上游知識來源只涵蓋 Sui 標準庫與一些教學範例,沒有你這個 `backend::launchpad` 模組或「拍賣 + 普惠質押」的官方實作,因此下面程式碼是依你原始程式與 Sui Move/`Table`/`Coin` 的標準用法推導出的合理重構,而不是官方範本。`Table` 的基本操作(`new/add/borrow/contains/remove`)與 `Coin` 的 `…
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: 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: 啊 如果我沒有treasury cap 怎麼辦
A: 根據你的情境,如果你沒有 `TreasuryCap`,有以下幾種情況需要區分:
## 情況一:你的 SUIX 代幣是用 `coin::create_currency` 建立的
`TreasuryCap` 是在呼叫 `coin::create_currency` 時由合約發布者收到的。[[Coin Standard](https://github.com/MystenLabs/sui/blob/…
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: Αρα αν έχεις 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: 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: 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: HOT是什么概念?
A: # Hot Potato(热土豆)模式
在 Sui 的 Move 语言中,**Hot Potato** 是指一个**没有任何能力(abilities)的结构体**。具体来说,它没有 `copy`、`drop`、`key` 或 `store` 这四种能力中的任何一种。[[Hot Potato Pattern](https://move-book.com/programmability/hot-po…
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: 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: 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: hướng dẫn cách tích hợp và kết nối ví sui vào web của tôi
A: # Hướng dẫn tích hợp ví Sui vào ứng dụng web
## 1. Cài đặt
**Cho ứng dụng React:**
```bash
npm i @mysten/dapp-kit-react @mysten/sui
```
**Cho Vue hoặc các framework khác:**
```bash
npm i @mysten/da…
Q: How do I deploy to Sui?
A: Here's how to deploy (publish) a Move package to Sui:
## 1. Set Up the Sui CLI
If you haven't initialized the Sui CLI yet, run:
```bash
sui client
```
Follow the prompts to connect to a full node …
Q: 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: In Grpc how do i access an object's fields?
A: To access an object's fields via gRPC on Sui, you use the **`LedgerService/GetObject`** method (or `StateService` for listing). Here's how:
## 1. Using `grpcurl` (command line)
```shell
grpcurl -d '…
Q: upgrade sui
A: # Upgrading a Sui Package
Here's a concise overview of how to upgrade a Move package on Sui.
## Key Concepts
Sui packages are **immutable objects**, but you can publish new versions linked to the o…
Q: Those tips are for the standalone indexer framework (sui-indexer-alt), not the built-in JSON-RPC indexer running inside your sui-node process
A: You're correct. The tips I provided in my previous answer are specifically for the standalone indexer framework (`sui-indexer-alt` / `sui-kvstore-alt`), not for the built-in indexer that runs inside t…
Q: 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 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: 你現在是一位資深的 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: 我想同时舰艇链上多个事件,升级2.x之后有没有什么方法能办到
A: 在 Sui SDK 2.x 升级之后,原来的 `queryEvents` JSON-RPC 方法需要迁移到 **GraphQL** 方式来查询事件。以下是同时监听多个链上事件的方法:
## 使用 `SuiGraphQLClient` 查询事件
首先设置 GraphQL 客户端:
```typescript
import { SuiGraphQLClient } from '@mysten/s…
Q: how can i specified last checkpoint id when i subscribe to checkpoint stream
A: Based on the knowledge sources, the gRPC `SubscribeCheckpoints` API **does not support specifying a starting checkpoint ID** when initializing a subscription. When a subscription is initialized, the s…
Q: 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: Sui BCS event deserialization normalized Move modules layout struct fields runtime decoding eventType string getNormalizedMoveModule or layout for Move struct.
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: 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: 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: 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: 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: 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: 我怎麼知道是少了哪個?
A: 根據現有的知識來源,並沒有直接說明如何在錯誤訊息中識別**具體是哪個依賴缺失**的方法。不過,以下是一些可以幫助你診斷的建議:
### 1. 使用 `--verify-compatibility` 旗標(本地模擬)
在 Sui 1.42 中新增了 `--verify-compatibility` 旗標,可以在本地模擬環境中執行升級相容性檢查,幫助你在不花費 SUI 的情況下提前發現錯誤。[[N…
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: 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: 那可以不用 public share object?
A: 可以,你可以改用 `transfer::share_object`(不需要 `store`),但這樣就**不能在模組外部呼叫**,必須在定義 `Position` 的模組內提供一個 share function。
## 方案:用 `share_object`,不加 `store`
```move
// Position 只需要 key,不需要 store
public struct Posit…
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: 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: 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: error when I tried to publish: `Error executing transaction 'HL45jgjdvtn5Q8rrnQ7SUERtKHaqADNF9rqJzDgZkHLG': VMVerificationOrDeserializationError in command 0`
A: This is the same `VMVerificationOrDeserializationError in command 0` error we discussed previously, occurring during package publish. Here's a focused checklist to debug it:
### Common causes
| Erro…
Q: 我要铸造sbt 你给我合约和ts铸造nft 的
A: # 铸造灵魂绑定 NFT (SBT)
## Move 合约
灵魂绑定 NFT 的关键在于:**只有 `key` 能力,没有 `store` 能力**。这样持有者无法使用 `transfer::public_transfer` 转移它,从而实现"灵魂绑定"效果。 [[Soulbound NFT](https://github.com/MystenLabs/sui/blob/main/docs/c…
Q: start_timeとend_timeを持たせるか、start_timeだけ持たせて、24 hour後に終わることを決めてるから逐次+24時間して算出するかどっちがいい?
A: 会話の流れから、時間ベースのロジック(例:マーケットプレイスのオークションや Kiosk のルールなど)を設計する際に、`start_time` と `end_time` の両方を持つか、`start_time` だけ持って `+24時間` で算出するかを聞いていると理解しました。
## どちらが良いか
知識ソースにある実装例を見ると、**両方のパターンが使われています**。
### `st…
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: 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: 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: trion-protocol-30296913:~/trion-protocol/trion_core{main}$ sui client publish --build-env testnet
The package has unpublished dependencies. If you want to publish with unpublished dependencies, please publish them one by one, or (not recommended) pass the `--with-unpublished-dependencies` flag.
Unp
A: The issue is that even though you've provided `published-at` and `original-id` in your `[dep-replacements]`, the package manager still isn't recognizing `World` as already published on-chain. This is …
Q: here is world published.toml
# Generated by Move
# This file contains metadata about published versions of this package in different environments
# This file SHOULD be committed to source control
[published.testnet]
chain-id = "4c78adac"
published-at = "0x33226d2eedda428eb7e1a56faf525bd5300f9394a5d
A: Looking at the `World` package's `Published.toml`, the `testnet_utopia` environment has its own separate chain-ID entry (same chain ID `4c78adac` as testnet, but a distinct environment name). You need…
Q: 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 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: 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: 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…
Q: 我的 签名方法时这样的const { mutateAsync: signAndExecuteTransaction } = useMutation({
mutationFn: (tx: { transaction: Transaction }) =>
dAppKit.signAndExecuteTransaction(tx),
});,是2.6版本的,请问在调用签名时,我想知道balance变化,该怎么用?
A: 根据知识来源,您使用的是 `dAppKit.signAndExecuteTransaction`(dApp Kit Actions 方式),该方法的返回值结构如下:
```typescript
type TransactionResult =
| { $kind: 'Transaction'; Transaction: Transaction }
| { $kind: 'FailedTr…
Q: Archival Service 裡面查詢的到 events 嗎?
A: 根據現有的知識來源,Archival Service 主要支援以下資料的點查詢(point lookups):
- **交易(transactions)**
- **檢查點(checkpoints)**
- **物件(objects)**
- **Epoch 資料**
[[Archival Store concepts](https://github.com/MystenLabs/sui/bl…
Q: sui上使用反编译的工具
A: 在 Sui 上,有以下几款反编译工具可供使用:
## 官方/主流工具
- **sui replay**:可以本地重新执行任意历史链上交易,并对比其执行效果。使用 `--trace` 标志可生成执行追踪,供 Move 调试器使用。[[Sui Replay CLI](https://docs.sui.io/references/cli/replay)]
```sh
sui replay …
Q: sui client pay-sui --recipients 0xe136f0b6faf27ee707725f38f2aeefc51c6c31cc508222bee5cbc4f5fcf222c3 --input-coins 0x03334c9d0d0bc5c7c7dcb5f9f75795925a20d7b59d3d10c9a16030bc3ebf4f65 --amounts 100000000
Could not determine the gas budget. Error: Dry run failed
---------
I'm getting above error for th
A: The error "Dry run failed" when running `sui client pay-sui` typically means the transaction couldn't be simulated successfully before execution. Here are the most likely causes based on the knowledge…
Q: I want to configure my sui_config/client.yaml for external signers. How can I do that?
A: The knowledge sources don't contain specific documentation about configuring `client.yaml` directly for "external signers" in the traditional sense. However, based on what the knowledge sources do cov…
Q: explain the typed witness pattern
A: ## The Witness Pattern in Move (Sui)
The **witness pattern** is a way to prove a certain property at the type level by constructing a proof value. In Move on Sui, a module proves ownership of a type …
Q: SuiGraphQLClient url
A: Here are the GraphQL endpoint URLs for each Sui network when using `SuiGraphQLClient`:
| Network | URL |
|---------|-----|
| **Mainnet** | `https://sui-mainnet.mystenlabs.com/graphql` |
| **Testnet**…
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: can you give me graphql queryt o fethc digest all query evrytdetails
4WxctB9ENQMy567x8FzXbT7wTx3VvFXbaWKg5c2bWi7o
A: Here's a GraphQL query to fetch full details for the transaction digest `4WxctB9ENQMy567x8FzXbT7wTx3VvFXbaWKg5c2bWi7o`:
```graphql
query {
transaction(digest: "4WxctB9ENQMy567x8FzXbT7wTx3VvFXbaWKg5…
Q: How can I remove sui cli which I had installed before so I can install it using suiup
A: The knowledge sources do not contain explicit instructions on how to **remove/uninstall** a previously installed Sui CLI binary. They only cover installation and upgrading methods.
However, here's wh…
Q: what's a computation bucket?
A: Sui uses a **bucketing mechanism** to calculate computation gas costs. Rather than charging the exact number of computation units a transaction uses, Sui groups transactions into predefined ranges (bu…
Q: move.toml的作用是甚麼,為甚麼需要這個檔案
A: `Move.toml` 是 Move package 的**清單檔(manifest file)**,是每個 Move package 必須存在的核心設定檔。以下說明它的作用與必要性:
## Move.toml 的作用
### 1. 描述 Package 基本資訊
`[package]` 區段記錄 package 的元數據,這些資訊被編譯工具與版本管理使用:
- `name`:package …
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: which wallet does SUI uses?
A: Sui supports several wallet types and specific wallet products:
## Wallet Types on Sui
1. **Slush** – The official wallet built and maintained by Mysten Labs. Available as a Chrome browser extension…
Q: how to deposit funds into this type of wallet ?
A: Based on the conversation history, you're asking about depositing funds into a **zkLogin wallet** on Sui.
There are two approaches:
## 1. Traditional Coin Transfer (Object-based)
Send a coin object…
Q: apply the it and return the full corrected function "entry fun register_capy(
registry: &mut Registry,
shard_pool: &mut ShardPool,
config: &Config,
capy: &suifrens::suifrens::SuiFren,
clock: &Clock,
ctx: &mut TxContext
) {
A: Here is the corrected `register_capy` function with the on-chain shard validation applied, based on the approach we agreed on:
```move
entry fun register_capy(
registry: &mut Registry,
shard_…
Q: can i speak chinese, or english only
A: You can ask your questions in Chinese! I'm able to respond in the same language you use. Feel free to ask your Sui-related questions in Chinese or English — whichever you prefer.
Q: lets say i used next.js i didnt use the react kit and now i want to implement the enoki and zk login , act as a prompt generator and give me a promopt to get fully what needs to be done to integrate and get the right thing
A: I'm designed to provide information and answers about Sui directly — I'm not able to act as a prompt generator for other AI tools. However, I can give you a focused, actionable guide for integrating E…
Q: What are Sui Move events and how do I emit events in smart contracts?
A:
Q: Sui Move event system definition and examples with emission patterns
A:
Q: How to write unit tests for Sui Move modules and test best practices?
A:
Q: but why would they need to make an object for just a struct, i mean a blob is just basically a certification or a list of x belongs to y, can't you just make the struct and point to the items in the struct? or is this like a solidity kind of thing
A: Great question — and you're actually right that a struct alone *could* just hold references. But in Sui's object model, there's a specific reason why making something an **object** (with `id: UID`) ma…
Q: 怎样铸造一个nft 有模版吗
A: ## 在 Sui 上铸造 NFT
在 Sui 上,每个对象天生就是唯一的、不可替代的,因此创建 NFT 比其他区块链更直接。
### 基础 NFT 模版
Sui 提供了一个基础的 NFT 示例,定义了一个包含 `id`、`name`、`description` 和 `url` 字段的 `TestnetNFT` 结构体。任何人都可以调用 `mint_to_sender` 函数来铸造 NFT,该…
Q: explain the hot potato pattern in sui move
A: ## The Hot Potato Pattern in Sui Move
A **hot potato** is a struct that has **no abilities** (`copy`, `drop`, `key`, or `store`). Because it lacks these abilities, it cannot be stored, copied, or dis…
Q: from the code above, if 50 years passed, will the u64 overflow?
A: Let me work through the math based on what the knowledge sources tell us about `u64` in Move on Sui.
## Checking for `u64` Overflow After 50 Years
From the knowledge sources, `u64` has a maximum val…
Q: Sui groth16 native verification cost BN254 pairing operations gas compared to other chains EVM
A:
Q: 我要mint一个nft 应该用哪个合约 有模版吗
A: 在 Sui 上 mint NFT,官方提供了一个标准的模版合约 `TestnetNFT`,非常适合入门使用。
## 标准 NFT 模版
NFT 结构体定义如下,包含 `id`、`name`、`description`、`url` 四个字段:
```move
public struct TestnetNFT has key, store {
id: UID,
name: Str…