📊 康特罗托
Controtto 是一个自托管的损益跟踪器,使用 Go、HTMX 和JavaScript编写。它会跟踪您的交易并将其保存在 SQLite 文件中,并返回各种计算结果,包括:
平均买入价
当前资产价值
交易历史记录
进出口交易(见样本)
盈亏
为了获取资产的价格,Controtto 主要依赖于 4 个 API(参见代码)。
Binance——公共 API,无需令牌。
BingX - 公共 API,不需要令牌。
Alpha Vantage - 股票,免费但利率限制较短。(获取代币并设置
CONTROTTO_AVANTAGE_TOKEN)
演示
您还可以查看demo.contre.io上的演示,数据库每小时重置一次。
https://github.com/user-attachments/assets/28bf8782-6118-47c0-a94b-085e1a7045b2
所有配置均在.env文件中设置,并作为环境变量传递。变量CONTROTTO_PORT和CONTROTTO_DB_PATH可用。
# Install the dependencies
go mod tidy
# Set the .env
mv .env.example .env
# Source the env variables
. <(cat .env | grep -v -e '^$' | grep -v "#" | awk '{}')Related MCP server: Delve MCP
构建并运行
go run ./cmd/main.go # go build ./cmd/main.go to just build it开发环境
go install github.com/cosmtrek/air@latest # Download air
air -c air.toml使用 Podman 运行
Docker 的公共镜像仓库中提供了容器镜像。如果您想使用 Docker,只需将podman替换为docker即可。
mkdir data
podman container run --rm -p 8000:8000 -v $(pwd)/data:/data contre95/controtto运行测试
go test -cover ./...
# Expected result
# ? controtto/cmd [no test files]
# ? controtto/src/app/managing [no test files]
# ? controtto/src/domain/pnl [no test files]
# ? controtto/src/gateways/markets [no test files]
# ? controtto/src/gateways/sqlite [no test files]
# ? controtto/src/presenters [no test files]
# ok controtto/src/app/querying 0.003s coverage: 40.7% of statements待办事项
更多测试
用于日志记录和指标的包装器也很好。
添加帐户以跟踪总净值。
删除所有 CSS 并使用自定义
style.css+ Tailwind CDN。
Appeared in Searches
- Information about the Go programming language
- Gin web framework for Go programming language
- Tips for Naming Variables and Functions in Go Programming Language
- Using separate agents for schema validation, code standards, and directory structure enforcement in development workflows
- How to compile code in Visual Studio