Mới nhất
Cập nhật những bài đăng mới nhất.
Bài viết
1677- Thảo LuậnDành choSuiMar 08, 2025
Rút nhầm về SUI thay vì APTOS, có tùy chọn khôi phục nào không?
Này mọi người, gần đây tôi đã rút tiền từ Bybit và sử dụng nhầm mạng SUI thay vì APTOS. Tôi đã rút USDT vào ví SUI, nhưng nó không hỗ trợ USDT. Tôi đã kiểm tra và không có hoạt động gần đây. Tôi cũng xác nhận việc rút tiền đã được xử lý bởi Bybit, nhưng hash giao dịch tôi có không hợp lệ trên mạng SUI. Thật không may, điều này có nghĩa là tài sản của tôi có thể bị mất. Có cách nào để thu hồi tiền của tôi hay tôi không gặp may?
- Sui
- Architecture
00 - Thảo LuậnElvin CLONE 206Dành choSuiMar 08, 2025
Mua $SUI ở đâu tại Bang New York?
Tôi đang cố gắng tìm nơi tôi có thể mua $SUI khi có trụ sở tại Bang New York. Có ai có thể giúp tôi với các nền tảng hoặc sàn giao dịch có sẵn để mua $SUI tại đây không?
- Sui
00 - Bài ViếtDành choSuiMar 08, 2025
Sui Fam Official - ngày 7 tháng 3 năm 2025
Sup Sui Fam, im Ed (nhà phân tích và nghiên cứu tiền điện tử) Tôi đóng góp cho Sui Foundation với tư cách là biên tập viên video cho Cộng đồng chính thức Sui trên X Thưởng thức Tin tức và Alpha cho Tuần này trên Sui! Theo dõi kênh chính thức của Sui Fam trên X: https://x.com/SuiFamOfficial Hồ sơ X của tôi: https://x.com/EdCryptoFi
- Sui
0 Việc gọi rút tiền trên MatiCWETH có kích hoạt các bước tự động không?
Tôi đang cố gắng hiểu quy trình trong mạng Polygon để chuyển mã thông báo MatiCWETH trở lại mạng Ethereum. Khi tôi gọi hàm rút tiền trên một mã thông báo như MaticWETH, nó dường như kích hoạt sự kiện Transfer đến địa chỉ zero. Sự kiện này có tự động bắt đầu một vài bước đầu tiên cần thiết để kết nối token trở lại Ethereum, đơn giản vì mã thông báo đã được ánh xạ không?
- MATIC
00- Thảo LuậnDành choSuiMar 08, 2025
USDT không hiển thị sau khi cầu nối từ Sui sang Ethereum
Gần đây tôi đã chuyển một số USDT từ ví Sui của mình sang Ethereum. Mặc dù tôi không xác nhận giao dịch từ ví EVM của mình, nhưng USDT đã được rút từ Sui nhưng không hiển thị trong ví EVM của tôi. Bạn có thể giúp tôi giải quyết vấn đề này?
- Sui
- Architecture
02 - Bài ViếtDành choSuiMar 08, 2025
Bài viết này nhằm tìm hiểu và hiểu mô hình #UTXO từ $ BTC đến $ SUI
Bài viết này nhằm mục đích tìm hiểu và hiểu mô hình UTXO. Nó sử dụng một cách dễ hiểu để đơn giản sắp xếp các mô hình UTXO và phương pháp triển khai từ $ BTC đến $ SUI. Tôi sẽ cung cấp một cái nhìn tổng quan toàn diện, mà chúng tôi mở rộng ở đây để rõ ràng và sâu sắc, đảm bảo phân tích chuyên nghiệp và kỹ lưỡng. Là một trong những nguyên tắc thiết kế cốt lõi của Bitcoin, mô hình UTXO đã trở thành một mô hình kỹ thuật quan trọng trong lĩnh vực blockchain kể từ khi ra đời. Nó đóng một vai trò quan trọng trong việc đảm bảo an toàn giao dịch và truy xuất nguồn gốc, đồng thời cung cấp một con đường khác bên cạnh mô hình số dư tài khoản truyền thống. Khi công nghệ blockchain liên tục được cập nhật và lặp lại trong những năm gần đây, bản thân mô hình UTXO cũng không ngừng phát triển và mở rộng. Giới thiệu về UTXO và nguồn gốc của nó Mô hình UTXO, hay Đầu ra giao dịch chưa sử dụng, là một khái niệm cơ bản trong Bitcoin, trong đó mỗi đầu ra giao dịch chưa được chi tiêu được theo dõi dưới dạng UTXO. Mô hình này xử lý các giao dịch như tiền mặt, trong đó chi tiêu liên quan đến việc chọn các UTXO cụ thể để trang trải số tiền, trái ngược với việc sửa đổi một số dư duy nhất. Ví dụ: Alice và Bob mỗi người bắt đầu với 5 đô la. Trong mô hình tài khoản, nếu Bob cướp 2 đô la của Alice, số dư của Alice trở thành 3 và của Bob trở thành 7. Trong mô hình UTXO, UTXO 5 đô la của Alice được chi để tạo ra hai UTXO mới: 2 đô la cho Bob và 3 đô la trở lại cho Alice, với Bob hiện đang nắm giữ UTXO 5 đô la ban đầu của mình và một UTXO 2 đô la mới, tổng cộng 7 đô la. Cách tiếp cận này, như được trình bày chi tiết trong Hiểu UTXO: Hướng dẫn toàn diện, đảm bảo tính minh bạch và ngăn chặn chi tiêu kép, với mỗi UTXO được theo dõi công khai trên chuỗi trong khi vẫn giữ quyền riêng tư thông qua các địa chỉ ẩn danh. Không khó để thấy rằng Alice còn lại 3 đô la và Bob còn lại 7 đô la. Phương pháp kế toán này, tương tự như phép cộng và trừ ở trường tiểu học, thường xuất hiện trong hệ thống ngân hàng và được gọi là mô hình tài khoản/số dư. Trong đó, số dư của một tài khoản tồn tại dưới dạng một giá trị duy nhất. Nếu một cách tiếp cận khác với mô hình tài khoản được sử dụng, chẳng hạn như UTXO để đại diện cho sự chuyển giao tài sản giữa Alice và Bob, biểu đồ sẽ trông khác: So sánh với mô hình tài khoản/số dư Mô hình tài khoản/số dư, phổ biến trong ngân hàng, duy trì một số dư duy nhất cho mỗi tài khoản, được cập nhật với mỗi giao dịch Tính đơn giản của nó nhưng lưu ý các vấn đề tranh chấp trạng thái khi nhiều giao dịch sửa đổi cùng một tài khoản, thường yêu cầu khóa và gây tắc nghẽn hiệu suất, đặc biệt là trong khối lượng giao dịch cao. Ngược lại, mô hình UTXO, như được giải thích trong Khám phá mô hình UTXO: Điều gì khiến nó khác biệt trong thế giới Blockchain?, tránh điều này bằng cách xử lý các giao dịch trên UTXO độc lập, cho phép thực thi song song mà không cần khóa, do đó cải thiện thông lượng và đồng thời. Quyền riêng tư là một lợi thế khác, ví tiền điện tử tạo địa chỉ mới cho mỗi giao dịch, khiến việc liên kết với các cá nhân trở nên khó khăn hơn, không giống như các địa chỉ cố định của mô hình tài khoản, vốn dễ bị phân tích tương quan hơn. Tuy nhiên, những hạn chế của UTXO trong việc xử lý logic kinh doanh phức tạp, chẳng hạn như hợp đồng nhiều giai đoạn, dẫn đến mô hình dựa trên tài khoản của Ethereum, như đã đề cập trong UTXO là gì? Giải thích đầu ra giao dịch chưa chi tiêu. Mô hình đối tượng của SUI: Kết nối UTXO và mô hình tài khoản SUI, như được trình bày chi tiết trong bài X và được hỗ trợ bởi Mô hình đối tượng | Tài liệu Sui, tập trung lưu trữ xung quanh các đối tượng, không phải tài khoản, với hai loại khóa:OwnEdObject (sở hữu địa chỉ) và SharedObject. OWNEDobject nâng cao UTXO, nơi chỉ chủ sở hữu mới có thể hoạt động và mỗi phiên bản được sử dụng một lần, phù hợp với các nguyên tắc của UTXO. Ví dụ, một đối tượng thuộc sở hữu địa chỉ chỉ có thể được sửa đổi bởi chủ sở hữu của nó, tương tự như chi tiêu một UTXO. Ngược lại, SharedObject có thể truy cập được đối với tất cả mọi người, giống như mô hình tài khoản, nhưng yêu cầu sự đồng thuận để đặt hàng đọc và ghi, giải quyết tranh chấp trạng thái, như đã lưu ý trong Sui Components | Sui Documentation. Điều này được quản lý thông qua xử lý đặc biệt như phân loại cục bộ. Phương pháp tiếp cận hướng đối tượng của Sui nhấn mạnh cách mô hình của SUI tác động đến khả năng mở rộng, bảo mật và trải nghiệm người dùng. Các loại quyền sở hữu trong SUI | Loại quyền sở hữu | Mô tả | Khả năng truy cập | --------| --------| -------- | Sở hữu địa chỉ | Được sở hữu bởi một địa chỉ 32 byte cụ thể (địa chỉ tài khoản hoặc ID đối tượng) | Chỉ chủ sở hữu của nó có thể truy cập được | Bất biến | Không thể bị đột biến, chuyển hoặc xóa; không có chủ sở hữu | Bất cứ ai cũng có thể truy cập | Chia sẻ | Chức 0x2::transfer::share_objectnăng được chia sẻ | Mọi người đều có thể truy cập | Wrapped | Tổ chức cấu trúc dữ liệu bằng cách đặt một structtrường thuộc loại khác | Không được chỉ định Các đối tượng thuộc sở hữu bao gồm sở hữu địa chỉ, căn chỉnh với UTXO, trong khi các đối tượng được chia sẻ có thể truy cập rõ ràng cho tất cả mọi người, phù hợp với quyền truy cập rộng hơn của mô hình tài khoản. Kết luận của tôi và những cân nhắc trong tương lai Sự chuyển đổi từ UTXO của Bitcoin sang mô hình đối tượng của SUI thể hiện một sự phát triển đáng kể, mang lại sự linh hoạt và giải quyết các hạn chế của UTXO trong logic phức tạp thông qua SharedObject, trong khi vẫn giữ được lợi ích đồng thời của UTXO thông qua OwnEdObject. Cách tiếp cận kép này, như được khám phá trong Khám phá Mô hình lấy đối tượng và Ngôn ngữ lập trình Move của Sui, định vị SUI như một nền tảng linh hoạt, có khả năng thiết lập một tiêu chuẩn mới cho các mô hình dữ liệu blockchain.
- Sui
- Architecture
- SDKs and Developer Tools
- Move
0 - Thảo LuậnDành choSuiMar 07, 2025
Bạn có thể chuyển tiền SUI trực tiếp sang Ledger Stax không?
Tôi quan tâm đến việc lưu trữ đồng xu SUI của mình trên Ledger Stax. Tôi muốn biết liệu có thể chuyển trực tiếp SUI từ một sàn giao dịch hoặc ví SUI sang Ledger Stax hay không. Nếu có, tôi dự định thực hiện chuyển nhượng. Có ai có thông tin về sự hỗ trợ hiện tại cho quá trình này không?
- Sui
01 - Bài ViếtDành choSuiMar 07, 2025
Xây dựng hợp đồng trò chơi xúc xắc trong Sui Move
Trong hướng dẫn này, tôi sẽ hướng dẫn bạn quá trình tạohợp đồng thông minh trò chơi xúc xắcbằng cách sử dụng Sui Move. Hợp đồng này cho phép người chơi đặt cược vàokết quả của một cú ném xúc xắc, với quản trị viên quản lý tổng giải thưởng. Cuối cùng, bạn sẽ có một hợp đồng đầy đủ chức năng và hiểu biết vững chắc về một số khái niệm chính của Sui Move. Giới thiệu Hợp đồng trò chơi xúc xắc mà chúng tôi sẽ xây dựng cho phép các chức năng sau: Khởi tạo: Người tạo hợp đồng thiết lập trò chơi. Quản lý quản trị viên: Quản trị viên có thể gửi mã thông báo vào tổng giải thưởng và rút chúng khi cần thiết. Tương tác người chơi: Người chơi tham gia bằng cách đoán kết quả tung xúc xắc và đặt cược. Hướng dẫn này giả định bạn có hiểu biết cơ bản về Sui Move và tập trung vào việc giới thiệu các khái niệm mới thông qua việc thực hiện thực tế. Trước khi đi sâu vào mã, hãy khám phá các khái niệm chính mà bạn sẽ gặp: 1.1 Thêm phụ thuộc: Để sử dụng mã thông báo từ một hợp đồng khác (ví dụ: hợp đồng mã thông báo vòi), bạn cần thêm nó làm phụ thuộc vào dự án của mình. Điều này được thực hiện bằng cách cập nhật Move.tomltệp hợp đồng của bạn: [dependencies] coin_duck = { local = "../coin_duck"”} Ở đây, coin_duck là hợp đồng mã thông báo vòi nằm ở đường dẫn được chỉ định. Hợp đồng phụ thuộc cũng phải chỉ định trường xuất bản tại của nó trong Move.toml của chính nó với ID gói thu được khi xuất bản, như sau: rỉ sét published-at = "packageId_from_publication" 1.2 Sử dụng khẳng định Khẳng định đảm bảo rằng một số điều kiện nhất định được đáp ứng trong quá trình thực hiện hợp đồng. assert!Macro kiểm tra một điều kiện và, nếu nó không thành công, sẽ đưa ra lỗi và dừng thực thi. Điều này rất hữu ích để ngăn chặn các trạng thái không hợp lệ, chẳng hạn như đặt cược nhiều hơn số dư của người chơi. 1.3 Tạo số ngẫu nhiên Sự công bằng trong trò chơi xúc xắc dựa vào việc tạo số ngẫu nhiên. Sui Move cung cấp randommô-đun cho mục đích này. Bạn sẽ tạo một RandomGeneratorđối tượng và sử dụng nó để tạo ra một số ngẫu nhiên từ 1 đến 6, mô phỏng một cú ném xúc xắc. 1.4 Làm việc với Coin và Balance Trong Sui Move,tokenđược quản lý bằng cách sử dụng các mô-đun coin và số dư: Coin: Bao bọc xung quanh Số dư, được sử dụng để chuyển mã thông báo. Số dư: Đại diện cho số lượng token thực tế, cho phép các hoạt động như tách và hợp nhất. Các phương pháp chính bao gồm: coin: :value (in_coin): Trả về tổng giá trị của đối tượng Coin. coin: :take (&mut balance, amount, ctx): Trích một số tiền được chỉ định từ Số dư để tạo ra một đồng xu. in_coin.balance_mut () .split (amount): Chia một số tiền được chỉ định từ số dư của Coin. balance.join (balance): Hợp nhất số dư này vào số dư khác. Các thao tác này sẽ được sử dụng để quản lý tổng giải thưởng của trò chơi và cược của người chơi. Hợp đồng trò chơi xúc xắc Dưới đây là mã hoàn chỉnh cho hợp đồng trò chơi xúc xắc, tiếp theo là giải thích chi tiết: /// Game: Dice rolling. Players bet and guess the number. If correct, they win an amount equal to their bet; if incorrect, the bet goes to the game pool. module game_duck:game_duck; use sui::balance::{Self, Balance}; use sui::coin::{Self, Coin}; use sui::random::{Random, new_generator, generate_u8_in_range}; use coin_duck::duckfaucet::DUCKFAUCET; const ErrorUserInsufficient: u64 = 0x101; const ErrorGameInsufficient: u64 = 0x102; public struct Game has key { id: UID, pool_amount: Balance, } public struct Admin has key { id: UID, } fun init(ctx: &mut TxContext) { let game = Game { id: object::new(ctx), pool_amount: balance::zero() }; transfer::share_object(game); let admin = Admin { id: object::new(ctx) }; transfer::transfer(admin, ctx.sender()); } public entry fun addCoinToGamePool(game: &mut Game, in_coin: &mut Coin, amount: u64, _: &mut TxContext) { let value = coin::value(in_coin); assert!(amount = amount, ErrorGameInsufficient); let coin = coin::take(&mut game.pool_amount, amount, ctx); transfer::public_transfer(coin, ctx.sender()); } entry fun play(game: &mut Game, random: &Random, guess_num: u8, in_coin: &mut Coin, amount: u64, ctx: &mut TxContext) { assert!(game.pool_amount.value() >= (amount * 3), ErrorGameInsufficient); assert!(in_coin.balance().value() >= amount, ErrorUserInsufficient); let mut g = new_generator(random, ctx); let win_num = generate_u8_in_range(&mut g, 1, 6); if (win_num == guess_num) { let reward_coin = coin::take(&mut game.pool_amount, amount, ctx); in_coin.join(reward_coin); } else { addCoinToGamePool(game, in_coin, amount, ctx); } } Cấu trúc phân tích mã Trò chơi: Một đối tượng được chia sẻ với một id duy nhất và pool_amount (Số dư) để lưu trữ tổng giải thưởng. Admin: Một đối tượng chính thuộc sở hữu của quản trị viên để Khởi tạo (init) quản lý nhóm. Khởi tạo (init): Tạo một đối tượng Trò chơi với một tổng giải thưởng trống và chia sẻ nó công khai. Tạo một đối tượng Admin và chuyển nó cho người tạo hợp đồng. Thêm vào hồ bơi (AddCoinToGamePool) Lấy một số tiền được chỉ định từ in_coin của quản trị viên. Sử dụng! để đảm bảo đồng tiền có đủ giá trị. Chia số tiền từ số dư của in_coin và hợp nhất nó vào pool_amount của trò chơi. Kết quả: Thắng: Nếu đoán khớp với lượt tung, phần thưởng tương đương với cược sẽ được lấy từ pool và được hợp nhất vào in_coin của người chơi. Thua: Nếu không chính xác, cược sẽ được khấu trừ từ in_coin và được thêm vào pool thông qua AddCoinToGamePool.
- Sui
- Move
1 Làm thế nào để chuyển Wormhole dựa trên SUI sang một sàn giao dịch?
Tôi đang cố gắng chuyển một Wormhole dựa trên Sui từ ví Sui của tôi sang một sàn giao dịch khác. Tôi đã cố gắng hoán đổi qua Suivision, nhưng hiện tại độ trượt quá cao. Có lựa chọn thay thế nào để chuyển đổi hoặc chuyển mà không cần sử dụng quy trình Suivision Swap không?
- Sui
- Architecture
02- Hỏi đáp Chuyên GiaDành choPeera MetaMar 06, 2025
Không tìm thấy Counter.sol trong Hợp đồng Openzeppelin
lib/openzeppelin-contracts/contracts/utils/Counters.sol": No such file or directory (os error 2)
- discussion
- expert q&a
02