Hướng Dẫn Sử Dụng Safrochain Auto Bot
Tổng quan
Safrochain Auto Bot là công cụ tự động hóa các thao tác trên Safrochain testnet, giúp bạn quản lý và thực hiện các giao dịch blockchain một cách tự động. Bot hỗ trợ nhiều tính năng như nhận token từ faucet, stake, unstake, claim rewards, và gửi token giữa các ví.
Cài đặt ví Keplr: Extention Keplr
- Tạo ví mới lưu lại 12 từ khóa
Link dự án: https://hub.safrochain.com/
Faucet https://faucet.safrochain.com/
Tính năng chính
1. Nhận Token Từ Faucet
2. Stake Token SAF
3. Claim Staking Rewards
4. Gửi Token Chéo
5. Unstake Token SAF
6. Chế Độ Tự Động
7. Đa Luồng (Multithreading)Cấu hình
File .env
Tạo file .env trong thư mục gốc với các ví của bạn:
MNEMONIC_1=word1 word2 word3 ... word24
MNEMONIC_2=word1 word2 word3 ... word24
PRIVATE_KEY_1=64_hex_characters_without_0x_prefix
PRIVATE_KEY_2=64_hex_characters_without_0x_prefixLưu ý:
Mnemonic phải có 12 hoặc 24 từ
Private key phải có đúng 64 ký tự hex (không có
0xở đầu)Có thể sử dụng cả mnemonic và private key
File proxies.txt (Tùy chọn)
Mỗi dòng là một proxy:
user:pass@host:port
http://user:pass@host:port
https://user:pass@host:portLưu ý:
Proxy sẽ được rotate tự động
Nếu không có proxy, bot vẫn hoạt động bình thường
Dòng bắt đầu bằng
#sẽ bị bỏ qua
File address.txt (Tự động tạo)
File này được tự động tạo khi khởi động bot, chứa danh sách địa chỉ từ các ví trong .env. File này được dùng cho chức năng gửi chéo.
Cài đặt và sử dụng
Bước 1: Cài đặt
npm installBước 2: Cấu hình
Tạo file
.envvới các ví của bạn(Tùy chọn) Thêm proxy vào
proxies.txtCấu hình
config.jsontheo nhu cầu
Bước 3: Chạy Bot
node index.js
Bước 4: Chọn Chế Độ
Chế độ thủ công (Manual): Chọn từng chức năng từ menu
Chế độ tự động (Auto): Chạy theo cấu hình trong
config.json
Bước 5: Nhập Số Luồng (Nếu cần)
Nhập số luồng khi được hỏi (ví dụ:
3)Hoặc Enter để dùng giá trị từ
config.json
Giải thích config.json
Cấu trúc tổng quan
{
"mode": "manual|auto",
"auto": { ... },
"settings": { ... }
}1. mode (Chế độ)
"manual": Chế độ thủ công - người dùng chọn từng chức năng"auto": Chế độ tự động - chạy theo cấu hình trongauto.tasks
2. auto (Cấu hình chế độ tự động)
enabled (Bật/tắt)
true: Bật chế độ tự độngfalse: Tắt chế độ tự động
tasks (Danh sách các task)
Mỗi task có cấu trúc:
{
"type": "faucet|stake|claimRewards|send|unstake",
"enabled": true|false,
"walletIndex": "all"|0|1|2|...,
"amount": 10,
"minAmount": 5,
"maxAmount": 15,
"toAddress": "addr_safro1...",
"validatorIndex": 0,
"delay": 3000
}Giải thích từng thông số:
type: Loại task"faucet": Nhận token từ faucet"stake": Stake token SAF"claimRewards": Nhận phần thưởng staking"send": Gửi token chéo (từ address.txt)"unstake": Unstake token SAF
enabled: Bật/tắt tasktrue: Task được chạyfalse: Task bị bỏ qua
walletIndex: Chọn ví"all": Chạy cho tất cả ví0, 1, 2, ...: Chỉ chạy cho ví tại index đó
amount: Số lượng cố định (SAF)Dùng khi không có
minAmount/maxAmountVí dụ:
10= 10 SAF
minAmountvàmaxAmount: Random số lượngRandom số lượng giữa min và max cho mỗi ví
Ưu tiên hơn
amountnếu cóVí dụ:
minAmount: 5, maxAmount: 15→ random 5-15 SAF
toAddress: Địa chỉ nhận (chỉ cho task "send")""hoặc không có: Tự động gửi chéo từ address.txt"addr_safro1...": Gửi đến địa chỉ cụ thể
validatorIndex: Chọn validator (chỉ cho task "unstake")0, 1, 2, ...: Index của validator trong danh sách delegationMặc định:
0(validator đầu tiên)
delay: Độ trễ (milliseconds)Thời gian chờ trước khi chạy task tiếp theo
Ví dụ:
3000= 3 giâyBot sẽ tự động thêm jitter (biến thiên) để tự nhiên hơn
loop (Cấu hình lặp lại)
{
"enabled": true|false,
"interval": 86400000,
"maxIterations": 0
}enabled: Bật/tắt lặptrue: Tự động lặp lại sau mỗi chu kỳfalse: Chỉ chạy 1 lần
interval: Khoảng thời gian (milliseconds)Thời gian chờ giữa các chu kỳ
Ví dụ:
86400000= 24 giờ (1000 60 60 * 24)
maxIterations: Số lần lặp tối đa0: Lặp vô hạn1, 2, 3, ...: Số lần lặp tối đa
3. settings (Cài đặt mặc định)
{
"defaultWalletIndex": 0,
"defaultStakeAmount": 10,
"defaultSendAmount": 1,
"defaultUnstakeAmount": 5,
"delayBetweenActions": 3000,
"delayBetweenWallets": 2000,
"threads": 1
}defaultWalletIndex: Ví mặc định (0 = ví đầu tiên)defaultStakeAmount: Số lượng stake mặc định (SAF)defaultSendAmount: Số lượng gửi mặc định (SAF)defaultUnstakeAmount: Số lượng unstake mặc định (SAF)delayBetweenActions: Độ trễ giữa các hành động (ms)delayBetweenWallets: Độ trễ giữa các ví (ms)threads: Số luồng chạy song song1: Chạy tuần tự (mặc định)2, 3, 4, ...: Chạy song song nhiều víKhuyến nghị: 2-5 luồng để tránh quá tải
Troubleshooting
Lỗi: "Không tìm thấy ví nào trong file .env"
Nguyên nhân: File .env không có hoặc không có ví hợp lệ.
Giải pháp:
Kiểm tra file
.envcó tồn tại khôngĐảm bảo có ít nhất một trong các format:
MNEMONIC_1=word1 word2 ... word24PRIVATE_KEY_1=64_hex_characters
Kiểm tra mnemonic có đúng 12 hoặc 24 từ
Kiểm tra private key có đúng 64 ký tự hex
Lỗi: "Số dư không đủ"
Nguyên nhân: Ví không có đủ SAF để thực hiện giao dịch.
Giải pháp:
Kiểm tra số dư của ví
Request token từ faucet trước
Giảm số lượng stake/send/unstake
Đảm bảo để lại một ít SAF cho phí gas (khoảng 0.5 SAF)
Lỗi: "Rate limit exceeded"
Nguyên nhân: Đã đạt giới hạn yêu cầu faucet (2 lần/24 giờ).
Giải pháp:
Đợi 24 giờ để reset limit
Sử dụng proxy khác
Sử dụng ví khác
Lỗi: "Account does not exist on chain"
Nguyên nhân: Tài khoản chưa được tạo trên blockchain.
Giải pháp:
Gửi một ít token đến địa chỉ đó trước
Request từ faucet để tạo tài khoản
Đảm bảo địa chỉ đúng format
addr_safro...
Lỗi: "Không tìm thấy delegation nào"
Nguyên nhân: Ví chưa stake hoặc đã unstake hết.
Giải pháp:
Stake token trước khi unstake
Kiểm tra lại validator index
Đảm bảo có delegation đang hoạt động
Lỗi: "Lỗi kết nối RPC"
Nguyên nhân: Không thể kết nối đến RPC endpoint.
Giải pháp:
Kiểm tra kết nối internet
Thử lại sau vài phút
Sử dụng proxy nếu bị chặn
Kiểm tra RPC endpoint có hoạt động không
Lỗi: "Invalid receiver address"
Nguyên nhân: Địa chỉ không đúng format.
Giải pháp:
Đảm bảo địa chỉ bắt đầu bằng
addr_safroKiểm tra địa chỉ có đủ độ dài
Không có ký tự đặc biệt hoặc khoảng trắng
Bot chạy quá chậm
Nguyên nhân: Số luồng quá thấp hoặc delay quá cao.
Giải pháp:
Tăng số luồng trong
config.json:"threads": 3Giảm delay giữa các task
Tắt các task không cần thiết
File address.txt không được tạo
Nguyên nhân: Bot chưa khởi động hoặc không có ví.
Giải pháp:
Đảm bảo có ít nhất 1 ví trong
.envChạy lại bot để tự động tạo file
Hoặc chạy chức năng "Xuất Địa Chỉ Ra File" từ menu
Lỗi khi lưu config.json
Nguyên nhân: File bị khóa hoặc không có quyền ghi.
Giải pháp:
Kiểm tra quyền ghi file
Đảm bảo file không bị mở bởi chương trình khác
Chạy với quyền administrator nếu cần
Proxy không hoạt động
Nguyên nhân: Proxy không hợp lệ hoặc đã hết hạn.
Giải pháp:
Kiểm tra format proxy trong
proxies.txtTest proxy bằng công cụ khác
Cập nhật proxy mới
Bot sẽ tự động bỏ qua proxy lỗi và tiếp tục
Lỗi: "Task không được hỗ trợ"
Nguyên nhân: Loại task trong config.json không đúng.
Giải pháp:
Kiểm tra
typephải là một trong:faucet,stake,claimRewards,send,unstakeKiểm tra chính tả và viết thường
Mẹo sử dụng
Bắt đầu với số luồng thấp: Dùng
threads: 1-2để test, sau đó tăng dầnCấu hình delay hợp lý: Không quá nhanh (dễ bị rate limit) cũng không quá chậm
Sử dụng proxy: Tăng tính ẩn danh và tránh rate limit
Kiểm tra số dư: Đảm bảo có đủ SAF trước khi chạy các task
Hỗ trợ
Mọi lỗi liên hệ Telegram: @R1zaX040

