Tất cả bài viết
Hướng dẫn

Chuyển nhiều ví sang nhiều ví trên Solana

Chuyển tiền theo cặp ví trên Solana hoạt động ra sao: mỗi dòng một giao dịch, 0,001 SOL mỗi lượt chuyển, và quy tắc rent bỏ qua dòng thay vì cắt bớt tiền.

8 phút đọc J Tools Editorial
Hai cột dọc gồm các điểm đỏ trên nền gần như đen, mỗi điểm bên trái nối bằng một đường mảnh thẳng tới đúng một điểm bên phải

Có ba cách chuyển hàng loạt trên Solana, và người ta hay nhầm chúng với nhau. Multi-sender trả cho cả một danh sách từ một ví. Collector gom nhiều ví về một ví. Còn trường hợp thứ ba thì cả hai công cụ đều không làm được.

Một lần chuyển nhiều ví sang nhiều ví trên Solana ghép mỗi ví gửi với đúng người nhận của nó. Ví 7 trả cho ví 7, ví 8 trả cho ví 8, và hai dòng không dính gì đến nhau.

Nghe như chuyện nhỏ, nhưng đó là khác biệt giữa một nguồn chung và bốn mươi nguồn độc lập.

  • Một dòng là một giao dịch. Ví gửi ở dòng đó trả mọi khoản nằm trên dòng ấy.
  • Phí nền tảng 0,001 SOL mỗi lượt chuyển, phí mạng 0,000005 SOL.
  • Với người nhận chưa từng giữ token đó, cộng thêm 0,00149 SOL tiền đặt cọc rent, cũng do ví gửi trả.
  • Dòng không vượt qua kiểm tra sẽ bị bỏ qua, chứ không bị cắt bớt số tiền.

Ba dạng chuyển hàng loạt

Công cụ gửi hàng loạt là một tới nhiều. Một ví, một danh sách người nhận, một người trả. Dạng này hợp với airdrop.

Công cụ gom theo lô là nhiều tới một. Bốn mươi ví, một đích đến, và cuối cùng mọi thứ nằm ở một chỗ.

Công cụ nhiều sang nhiều là dạng thứ ba, và là dạng duy nhất biết ghép cặp. Dòng một có nguồn riêng của nó, dòng hai có nguồn khác. Không có quỹ chung, dòng này cũng không bù cho dòng kia.

Bên trái: nhiều đường đỏ tỏa ra từ một điểm thành hình quạt trên nền tối. Bên phải: cùng số đường ấy chạy song song và không bao giờ gặp nhau, mỗi đường có điểm đầu và điểm cuối riêng

Một dòng tốn bao nhiêu

Trên một dòng có thể xuất hiện ba khoản, và ví gửi ở dòng đó trả cả ba. Không có tài khoản cấp vốn dùng chung, nên ví nào không đủ tiền cho dòng của mình thì cũng không mượn được từ dòng phía trên. Khoản phí mạng là mức phí cơ bản 5.000 lamport cho mỗi chữ ký, như tài liệu phí của chính Solana quy định.

KhoảnChế độ SOLChế độ token
Phí nền tảng0,001 SOL0,001 SOL
Phí mạng0,000005 SOL0,000005 SOL
Tài khoản token của người nhậnkhông áp dụng0,00149 SOL, và chỉ khi người nhận đó chưa từng giữ token này

Hãy đọc dòng thứ ba hai lần, vì đó là dòng khiến người ta bất ngờ. Gửi một token SPL tới địa chỉ chưa từng nhận token đó nghĩa là phải tạo một tài khoản để chứa nó, và Solana thu tiền đặt cọc rent cho tài khoản ấy. Khoản cọc lớn hơn phí mạng rất nhiều.

Với một trăm người nhận mới, riêng khoản cọc đã là khoảng 0,149 SOL trong hóa đơn, còn phí nền tảng chỉ 0,1 SOL. Tiền cọc không bị đốt: nó nằm trong tài khoản token của người nhận và sẽ quay về với người đóng tài khoản đó sau này.

Những dòng bị bỏ qua

Trước khi ký có hai lượt kiểm tra, và cả hai đều dừng dòng lại thay vì sửa nó.

Lượt đầu là phép tính đơn thuần. Nếu ví gửi không đủ tiền cho số tiền chuyển cộng các khoản phí và tài khoản token có thể phải mở, dòng đó được đánh dấu và để nguyên. Không có khoản nào được gửi dở dang.

Lượt thứ hai lạ hơn và đáng hiểu, vì lần đầu gặp thì nó trông y như lỗi. Solana không cho để lại một tài khoản có số dư lớn hơn 0 nhưng thấp hơn mức tối thiểu để được miễn rent. Với ví thông thường, mức đó là 0,00065 SOL, tính ra từ công thức trong tài liệu tài khoản của Solana.

Rút cạn hẳn một tài khoản thì được. Để lại 0,00005 SOL trong đó thì không. Dòng nào đẩy ví rơi vào khoảng trống ấy sẽ bị gắn nhãn rent dust và nằm lại, không gửi.

Thang ngang thể hiện số dư mà ví gửi còn lại: một điểm sáng ở mức không ngoài cùng bên trái, một dải đỏ có hai mép cứng chứa một điểm tắt, và hai điểm sáng nữa nằm bên kia dải

Vì sao không cắt bớt số tiền cho xong

Cách thay thế là gọt số tiền xuống cho vừa, và như thế tệ hơn. Bạn đã gõ một con số. Công cụ nào lặng lẽ gửi đi một con số khác thì sau đó bạn không thể đối chiếu nó với bảng tính nào.

Hãy gửi trọn số dư, hoặc hạ số tiền xuống để phần còn lại vượt qua mức tối thiểu. Bản xem trước chỉ ra dòng nào bị ảnh hưởng, và công cụ tra toàn bộ tài khoản đích trong một lần gọi duy nhất trước khi ký bất cứ thứ gì.

Mỗi dòng một giao dịch, và vì sao điều đó quan trọng

Vì mỗi dòng là một giao dịch riêng nên dòng hỏng chỉ ngã một mình. Còn khi cả lô bị nhồi vào một giao dịch, lỗi ở dòng 30 kéo theo cả 29 dòng trước nó.

Cách này có giá của nó: bốn mươi cặp là bốn mươi chữ ký, tức bốn mươi lần phí mạng 0,000005 SOL, khoản chẳng ai nên cất công tối ưu. Đổi lại, mỗi lỗi chỉ là một dòng riêng trong bảng kết quả. Muốn biết những giao dịch ấy được xác nhận nhanh hay chậm ra sao, các con số nằm trong bài viết về phí ưu tiên trên Solana.

Khi nào chuyển nhiều ví sang nhiều ví trên Solana là dạng đúng

Với phần lớn người dùng, xoay vòng ví là trường hợp điển hình. Bạn có một bộ ví mang lịch sử mà bạn muốn bỏ lại phía sau, bạn tạo bộ mới bằng công cụ tạo ví hàng loạt, và bạn muốn ví cũ số 7 cấp vốn cho ví mới số 7, không ví nào khác.

Trường hợp thứ hai là danh sách chi trả mà người trả đổi theo từng dòng. Nhiều dự án, nhiều quỹ, một bảng tính. Multi-sender không làm nổi việc này, vì nó có đúng một nguồn.

Trường hợp thứ ba là chia lại sau một snapshot, khi mỗi holder được trả từ một ví bạn đã gán sẵn cho họ. Muốn xem ai đang giữ bao nhiêu trước khi chia, hãy đọc hướng dẫn đọc phân bố holder.

Chuẩn bị danh sách

Hãy chạy lượt đầu với hai dòng. Bảng kết quả cho bạn biết một dòng thực sự tốn bao nhiêu, kể cả tiền cọc tài khoản token, trước khi bạn gửi đi cả danh sách.

Cũng nên kiểm tra xem người nhận đã giữ token đó chưa. Với danh sách mà một nửa là holder sẵn có, khoản tiền cọc giảm đi một nửa, và ở một trăm dòng thì đó là con số lớn nhất của cả hóa đơn.

Và hãy ghi lại trước ví nào trả dòng nào, vì dựng lại việc đó sau khi chạy xong khó hơn bạn tưởng, nhất là khi các ví gửi mới tạo và chưa có lịch sử nào để nhận ra.

Một điểm cuối về số dư: mỗi ví gửi phải đủ trả số tiền chuyển, hai khoản phí và cả khoản cọc tài khoản token nếu có. Thiếu một chút là dòng đó bị bỏ qua, và bạn phải nạp thêm rồi chạy lại dòng ấy.

Câu hỏi thường gặp về chuyển theo cặp

Khác gì so với chạy multi-sender nhiều lần?

Multi-sender có đúng một nguồn cho mỗi lượt chạy. Bốn mươi nguồn nghĩa là bốn mươi lượt chạy và bốn mươi lần đổi ví thủ công. Ở đây là một lượt với bốn mươi dòng.

Dòng hỏng có tốn tiền không?

Còn tùy lúc hỏng. Dòng bị loại ở vòng kiểm tra trước khi ký thì không tốn gì, vì chưa có giao dịch nào tới mạng. Dòng đã ký và gửi đi rồi mới lỗi trên chuỗi thì vẫn mất phí mạng như mọi giao dịch Solana thất bại.

Người gửi và người nhận có được trùng nhau không?

Được. Một ví có thể gửi ở dòng này và nhận ở dòng khác. Các dòng là giao dịch độc lập nên thứ tự giữa chúng không được đảm bảo; nếu dòng 2 dùng khoản tiền mà dòng 1 chuyển tới, hãy tách thành hai lượt chạy.

Vì sao dòng của tôi bị gắn nhãn rent dust?

Vì phần còn lại trong ví gửi sẽ rơi vào khoảng giữa 0 và 0,00065 SOL. Hãy gửi trọn số dư, hoặc giảm số tiền để phần còn lại vượt mức tối thiểu.

Ví chỉ gửi token có cần SOL không?

Có. Phí mạng và phí nền tảng đều trả bằng SOL ngay cả khi thứ được chuyển là một token.

Có giới hạn tối đa số cặp không?

Không có giới hạn cố định, và không gì ngăn bạn dán vào hàng nghìn cặp. Các cặp được ký và gửi theo từng nhóm một trăm. Trên thực tế, thứ giới hạn bạn thường là khâu chuẩn bị chứ không phải công cụ, vì mỗi ví gửi đều phải được nạp tiền từ trước. Một lượt chạy bạn theo dõi được là một lượt chạy bạn sửa được, nên danh sách rất dài sẽ dễ xử lý hơn khi chia thành vài lượt nhỏ.

Nên chọn dạng nào

Nếu bảng tính của bạn có một cột dành cho người trả, đây chính là dạng bạn cần. Nếu mọi dòng đều xuất phát từ cùng một ví, hãy dùng multi-sender cho đỡ mất công thiết lập. Còn nếu một dòng không được gửi, hãy xem mức tối thiểu rent trước khi nghĩ là có lỗi. Mức đó được giải thích thêm trong bài về lỗi insufficient funds for rent.

J
Tác giả
J Tools Editorial

Bài viết từ đội ngũ J tools.

Xem tất cả bài viết của J Tools Editorial →

Bài viết liên quan