Skip to content

Instantly share code, notes, and snippets.

View focusj's full-sized avatar
💭
looking for a remote job

kangwang focusj

💭
looking for a remote job
View GitHub Profile
@focusj
focusj / main.go
Created March 1, 2024 03:09
最大化吃掉各个pool之间的流动性
package main
import "fmt"
func main() {
targetPool := "A"
arbPools0 := []string{"B"}
hops0 := spreadSingleHop(targetPool, arbPools0)
fmt.Println(hops0)
@focusj
focusj / gist:abd262c363e1dcecc8534b19af14e96a
Created November 2, 2023 03:11
how to use golang type alias for map
package main
import (
"fmt"
)
type TemplateCacheAlias map[string]int
func (t *TemplateCacheAlias) Get(name string) int {
return (*t)[name]
@focusj
focusj / etherscan.go
Last active March 24, 2022 01:37
etherscan api wrapper
package main
import (
"encoding/json"
"errors"
"fmt"
"strconv"
"github.com/ethereum/go-ethereum/common"
"github.com/ethereum/go-ethereum/common/hexutil"
INSERT INTO `lon_mining_powers` (`round`, `wallet_address`, `lon`, `acc_trader_fee`, `acc_trader_txs`, `trader_power`, `acc_referer_fee`, `acc_referer_txs`, `referer_power`, `start_block`, `end_block`, `invitee_power`, `invitee_lon`, `acc_maker_fee`, `acc_maker_txs`, `maker_power`, `tx_hash`, `phase`, `relayer_power`, `relayer_lon`, `acc_relayer_txs`)
VALUES
(0, '0xe0f5069f617D99f9Ff40E96A36579A57890F6201', 0.000000000, 6.155428, 1, 131.995135, 0.000000, 0, 0.000000, 12333704, 12333704, 61.554280, 0.000000, 0.000000, 0, 0.000000, NULL, 1, 0.000000, 0.000000, 0),
(0, '0xFe9941141b1D4eDa04A6BDb67735E00f3F983A9C', 0.000000000, 21.822680, 1, 293.438918, 0.000000, 0, 0.000000, 12333690, 12333690, 0.000000, 0.000000, 0.000000, 0, 0.000000, NULL, 1, 0.000000, 0.000000, 0);
update lon_mining_powers set relayer_power=16169063.787222, acc_relayer_txs=24408 where wallet_address='0x03f34be1bf910116595db1b11e9d1b2ca5d59659' and phase=1;
update lon_mining_powers set acc_maker_fee=258938.55588306, maker_power=2589385.5
@focusj
focusj / mongo.go
Created January 21, 2020 07:37
mongo query language golang
package driver
import (
"context"
"go.mongodb.org/mongo-driver/bson"
"go.mongodb.org/mongo-driver/mongo"
)
type Filter struct {
ds map[string]interface{}
@focusj
focusj / gist:b68f4c455aed3ddf3e8a35e01e12d902
Created November 17, 2019 05:52
shortcuts for osx terminal
Ctrl + d 删除一个字符,相当于通常的Delete键(命令行若无所有字符,则相当于exit;处理多行标准输入时也表示eof)
Ctrl + h 退格删除一个字符,相当于通常的Backspace键
Ctrl + u 删除光标之前到行首的字符
Ctrl + k 删除光标之前到行尾的字符
Ctrl + c 取消当前行输入的命令,相当于Ctrl + Break
Ctrl + a 光标移动到行首(Ahead of line),相当于通常的Home键
Ctrl + e 光标移动到行尾(End of line)
Ctrl + f 光标向前(Forward)移动一个字符位置
Ctrl + b 光标往回(Backward)移动一个字符位置
Ctrl + l 清屏,相当于执行clear命令
@focusj
focusj / installation.md
Created June 4, 2019 10:22
mac install minikube
  1. brew install hyperkit
  2. brew install docker-machine-driver-hyperkit
  3. sudo chown root:wheel /usr/local/bin/docker-machine-driver-hyperkit && sudo chmod u+s /usr/local/bin/docker-machine-driver-hyperkit
  4. brew install minikube
  5. minikube start --logtostderr --vm-driver=hyperkit
@focusj
focusj / 获取python stack信息.md
Last active February 10, 2020 05:57
获取python stack信息

How to get a stack trace for each thread in a running python script

Sometimes a python script will simply hang forever with no indication of where things went wrong. Perhaps it's polling a service that will never return a value that allows the program to move forward. Here's a way to see where the program is currently stuck.

Install gdb and pyrasite

Install gdb.

# Redhat, CentOS, etc
@focusj
focusj / mongodb-rs-docker.sh
Last active July 26, 2019 01:06
docker启动mongodb replicaset
docker network create mongo
docker run -d \
-p 0.0.0.0:27017:27017 \
--name mongo-rs1 \
--net mongo \
mongo:3.4.20-xenial mongod --replSet mongo-rs1
docker run -d \
-p 0.0.0.0:27027:27017 \
@focusj
focusj / README.md
Last active February 20, 2019 12:35
tioper文档

tioper简介

tioper名字由来:TiDB + Operator。使用tioper可以实现TiDB多集群创建和管理。 如果本机装有Docker,还可以使用tioper在本地启动一个kubernetes集群,方便尝鲜。

tioper正确运行需要依赖以下软件,请确保本机已经安装,且符合最低版本要求:

  • Docker: 17.03 or later
  • Helm Client: 2.9.0 or later
  • Kubectl: 1.10 or later