restake

package module
v0.0.0-...-8b48c82 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 7, 2021 License: MIT Imports: 12 Imported by: 0

README

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

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Restake

func Restake(ctx context.Context, m PubSubMessage) error

Types

type PubSubMessage

type PubSubMessage struct {
	Data []byte `json:"data"`
}

Directories

Path Synopsis
token module

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL