//go:build !Develop package main import ( "AngkorWalletScanning/model" "AngkorWalletScanning/src" "AngkorWalletScanning/umlog" "AngkorWalletScanning/umsql" "fmt" "os" "time" ) var ( MODE string = "" // Release, Info, Debug DB_USER string = "" DB_PASS string = "" DB_HOST string = "" DB_PORT string = "" DB_NAME string = "" KEY string = "" CODE_STRC model.CodeStrc ) func main() { var header model.Header if len(os.Args) != 1 { DB_USER = os.Args[1] DB_PASS = os.Args[2] DB_HOST = os.Args[3] DB_PORT = os.Args[4] DB_NAME = os.Args[5] KEY = os.Args[6] MODE = os.Args[7] header.AppKey = os.Args[8] header.SecretKey = os.Args[9] } err := umlog.Init("/var/tmp/AnkWalletScanning.log", "7208765670:AAEN35cnQPeoDho33QvrchhVzuwnUcyDZdk", CODE_STRC.MESSAGE_ID) if err != nil { fmt.Println("umlog.Init Error : " + err.Error()) } if MODE == "Release" { umlog.SetLevel("E") } else if MODE == "Info" { umlog.SetLevel("I") } else { umlog.SetLevel("D") } walletDB := umsql.DbConnect(DB_HOST, DB_PORT, DB_USER, DB_PASS, DB_NAME) defer umsql.DbDisconnect(walletDB) _, CODE_STRC = src.GetCodeInfo(walletDB, KEY) umlog.Info("main\nCode Info Loaded: %+v", CODE_STRC) // 트랜잭션 모니터링 시작 (백그라운드 고루틴) // CYBX 토큰 컨트랙트 주소는 환경에 맞게 설정 필요 var contractAddress string contractAddress = CODE_STRC.CYBX_MAINNET // 백그라운드에서 트랜잭션 모니터링 시작 // go src.StartTransactionMonitor( // src.StartTransactionMonitor( // walletDB, // DB 연결 // contractAddress, // CYBX 토큰 컨트랙트 주소 // 10*time.Second, // 10초마다 체크 // 40, // 한 번에 40명 체크 // NETTYPE, // MAINNET 또는 TESTNET // CODE_STRC, // 코드 정보 // ) src.StartTransactionMonitorAlchemy( walletDB, header, contractAddress, 3*time.Second, 15, CODE_STRC) }