Skip to content

toanalien/axs-auto-restake

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

axs-auto-restake

Mình đang stake AXS trên https://stake.axieinfinity.com/ nhưng vì lười nên mình quyết định thử viết script để auto restake.

Sau khi code thử và chạy thì mình biết được https://api.roninchain.com/rpc chỉ là RPC readonly của Roninchain.

Vì bản tính tò mò và ham học hỏi nên mình quyết định download source code của Ronin Wallet trên Chrome Store bằng extension này nhưng source code đã được obfuscated nên mình lại thử dùng Burp Suite để track xem wallet gọi đi đâu.

Cuối cùng mình đã tìm được RPC chính hiệu là https://proxy.roninchain.com/free-gas-rpc

Nhờ sự giúp sức tận tình của lugondev đã dựng testnet trên bsc để test code.

Vì còn một số chỗ nữa thì mới chạy ngon được nên các việc cần làm tiếp theo ở bên dưới.

Update 6 Nov 2021

Vì cần phải tìm thời gian thích hợp để chạy restake nên mình cần biết cách tính time remain trên Web UI. Phần này mình xem trong code js thì ở đây trùng với request này

code js

request

Cách lấy ABI từ manifest

Mình search MethodID là restakeRewards ra đoạn code này, mình đoán là ABI

Tiến hành copy nguyên array của t.default trong function 2871136572 để ghép thành 1 array hoàn chỉnh.

Dùng VSCode để mông má lại:

  • replace !1 = false
  • replace !0 = true
  • vì json lấy về phần key không nằm trong double quote nên chưa đúng định dạng cần replace lại như sau: \s.+?([a-zA-z].*): thành "$1":

before

after

Sau khi có file abi mình sẽ tiến hành convert sang go module bằng abigen (cách cài đặt ở đây)

abigen --abi=erc20.abi --pkg=token --out=erc20.go

Cuối cùng import file module token vào code và gọi lên contract.

TODO

  • Check thời gian thích hợp để restake?
  • Cào abi từ manifest
  • Tự động restake
  • Check restake đã success chưa?
  • Scripts / docs deploy to GCP Cloud Functions
  • Thêm option dùng private key thay vì mnemonic

Deploy to GCP Cloud Functions

  1. Tạo Cloud Functions https://console.cloud.google.com/functions/list

  1. Tạo lịch chạy bằng Cloud Scheduler https://console.cloud.google.com/cloudscheduler

  1. Deploy source code
gcloud auth login # auth to GCP
go mod vendor
export PROJECT=
export FUNC_NAME=axs-auto-stake-1
gcloud functions deploy $FUNC_NAME --runtime go113 --entry-point Restake --project $PROJECT

RUN LOCAL

# cp .env.example .env
# thêm dòng
# MNEMONIC=là 12 chữ cái private lúc tạo ví Ronin
go mod tidy
go build cmd/main.go && chmod +x main
./main

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages