{"id":14991967,"url":"https://github.com/better-rs/learn-rs","last_synced_at":"2025-09-25T14:30:38.039Z","repository":{"id":39335400,"uuid":"459226041","full_name":"better-rs/learn-rs","owner":"better-rs","description":"learn rust","archived":false,"fork":false,"pushed_at":"2025-03-03T05:06:27.000Z","size":7123,"stargazers_count":86,"open_issues_count":4,"forks_count":8,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-03T05:20:38.494Z","etag":null,"topics":["axum","binance","cli","cms","diesel","ethereum","ffi","grpc","learning","rust","sqlx","tauri","tokio","tonic","volo"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/better-rs.png","metadata":{"files":{"readme":"Readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-02-14T15:56:33.000Z","updated_at":"2025-03-03T05:06:30.000Z","dependencies_parsed_at":"2025-01-16T12:46:34.039Z","dependency_job_id":"cec09387-6e24-46af-bfd7-74ebecf0ae5c","html_url":"https://github.com/better-rs/learn-rs","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/better-rs/learn-rs","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-rs%2Flearn-rs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-rs%2Flearn-rs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-rs%2Flearn-rs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-rs%2Flearn-rs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/better-rs","download_url":"https://codeload.github.com/better-rs/learn-rs/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-rs%2Flearn-rs/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":276932061,"owners_count":25730715,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-25T02:00:09.612Z","response_time":80,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["axum","binance","cli","cms","diesel","ethereum","ffi","grpc","learning","rust","sqlx","tauri","tokio","tonic","volo"],"created_at":"2024-09-24T15:00:37.415Z","updated_at":"2025-09-25T14:30:38.034Z","avatar_url":"https://github.com/better-rs.png","language":"Rust","funding_links":[],"categories":["Summary"],"sub_categories":[],"readme":"# learn-rs:\n\n\u003cp align=\"\"\u003e\n    \u003ca href=\"https://discord.com/invite/MnDA9pfWAW\" target=\"_blank\"\u003e\n      \u003cimg src=\"https://img.shields.io/badge/Discord-GossipCoder-%237289DA.svg?logo=iscord\u0026logoColor=white\" alt=\"Discord\"\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://discord.com/invite/MnDA9pfWAW\" target=\"_blank\"\u003e\n      \u003cimg src=\"https://img.shields.io/discord/877031318272217179\" alt=\"Discord\"\u003e\n    \u003c/a\u003e\n    \u003cimg src=\"https://visitor-badge.laobi.icu/badge?page_id=better-rs\" alt=\"10000\" /\u003e\n\u003c/p\u003e\n\n- ✅ 快速学习 rust.\n- ✅ 基于 rust workspace 的 monorepo 方式.\n\n## Related:\n\n- ✅ https://github.com/better-rs/annotated-rs\n    - 注解 rust 知名项目源码\n    - ⭐⭐⭐⭐⭐\n\n## 目录:\n\n\u003e Rust 学习:\n\n| 子项目                                                       | 说明                   | 备注       |\n|:----------------------------------------------------------|:---------------------|:---------|\n| [rs-101/rust-by-example](./crates/rs-101/rust-by-example) | Rust 官方练习代码          | ⭐⭐⭐      |\n| [rs-101/basic](./crates/rs-101/basic)                     | Rust 语法练习            | ⭐        |\n| [rs-leetcode](./crates/rs-leetcode)                       | 使用 Rust 刷题(leetcode) | TODO     |\n| [rs-try](./crates/try/rs-try)                             | Rust 第三方lib 验证/调研    | ⭐⭐       |\n| [rs-ffi](./crates/rs-ffi)                                 | Rust + FFI           | ⭐⭐⭐      |\n| [rs-tonic](./crates/rs-rpc/rs-tonic)                      | Rust + gRPC(Tonic)   | ⭐⭐⭐      |\n| [rs-volo](./crates/rs-rpc/rs-volo)                        | Rust + gRPC(Volo)    | ⭐⭐⭐      |\n| [rs-sql](./crates/rs-sql)                                 | Rust + sqlx 使用       | ⭐⭐       |\n| xxxxxxxxxxxxxx                                            | xxxxxxxxxxxxxxxxxx   | xxxxxxxx |\n| xxxxxxxxxxxxxx                                            | xxxxxxxxxxxxxxxxxx   | xxxxxxxx |\n\n\u003e 基于 Rust 写的脚本工具和业务系统:\n\n| 子项目                                        | 说明                               | 备注         |\n|:-------------------------------------------|:---------------------------------|:-----------|\n| [rs-cli](./crates/rs-cli)                  | rust cli 脚本工具: Binance 持币成本计算器   | ⭐⭐⭐⭐⭐      |\n| [rs-tauri-vue](crates/rs-gui/rs-tauri-vue) | Rust + Tauri + Vue.js 桌面App开发脚手架 | ⭐⭐⭐        |\n| [rs-cms](./crates/try/rs-cms)              | rust 小型 CMS 系统, 小型电商原型           | ⭐⭐⭐        |\n| xxxxxxxxxxxxxx                             | xxxxxxxxxxxxxxxxxx               | xxxxxxxxxx |\n| xxxxxxxxxxxxxx                             | xxxxxxxxxxxxxxxxxx               | xxxxxxxxxx |\n\n## 基于 Rust 写的小工具:\n\n- ✅ [rs-cli](./crates/rs-cli)\n    - 写的一些 rust 脚本工具\n        - [x] ETH 链上交易查询\n        - [x] Binance 交易所个人交易数据查询/K 线数据查询(支持 api key 方式下单/撤单)\n        - [x] Binance 交易所币种持有成本计算器\n\n\u003e 快速安装小工具集:\n\n```ruby\n# cd root directory:\ncd learn-rs/\n\n# install:\ntask cli:install\n\n```\n\n- 安装成功:\n\n```ruby\n\nrs-cli v0.1.0 (/better-rs/learn-rs/crates/rs-cli):\n    discord-bot\n    rs-binance\n    rs-eth-scanner\n    rs-cli\n    rs-tui\n\n```\n\n- 使用示例:\n\n```ruby\n-\u003e % rs-binance\nbinance 0.1.0\nA binance CLI\n\nUSAGE:\n    rs-binance \u003cSUBCOMMAND\u003e\n\nOPTIONS:\n    -h, --help       Print help information\n    -V, --version    Print version information\n\nSUBCOMMANDS:\n    auth      auth: get user account data\n    help      Print this message or the help of the given subcommand(s)\n    market    market: get market data\n\n```\n\n![](./docs/images/cli-usage.png)\n\n### 1. 币安 - 持币平均成本计算器\n\n\u003e 效果:\n\n![](docs/images/trade-avg.png)\n![](docs/images/trade-avg2.png)\n\n\u003e 源码位置:\n\n- ✅ [crates/rs-cli/src/bin/binance.rs](crates/rs-cli/bin/binance.rs)\n- ✅ 启动脚本: [crates/rs-cli/Taskfile.yml](crates/rs-cli/Taskfile.yml)\n\n\u003e 功能说明:\n\n1. 目前支持: 币安交易所.\n2. 支持单个币种 + 多个交易对 合并计算.\n    - 比如使用过 BUSD, UDST 购买 ETH, 需要合并计算 ETH 持有成本. (是支持的)\n3. 会自动计算: 买单平均成本, 卖单平均成本, 持币总数, 持币总成本.\n\n\u003e 使用方式:\n\n1. git clone 本项目\n2. 安装 rust, go-task(替代 Makefile 的命令行工具)\n3. copy .env.local 到 .env, 然后在 .env 添加 币安 api key(先在币安 web 版, 个人用户设置内申请).\n\n```ruby\n\n#\n# 项目根目录内执行: (Taskfile.yml 支持嵌套)\n#\n# 自动计算币安币种的持有成本, 比如 ETH/BTC/DOT\ntask cli:run:binance\n\n```\n\n## Requirements:\n\n- ✅ rust: `1.65.0+`\n- ✅ [go-task](https://github.com/go-task/task)\n\n```ruby\n➤ rustc --version\nrustc 1.65.0-nightly (17cbdfd07 2022-09-13)\n\n\n➤ cargo version\ncargo 1.65.0-nightly (646e9a0b9 2022-09-02)\n\n\n➤ rustup show\nDefault host: aarch64-apple-darwin\nrustup home:  /Users/dev/.rustup\n\ninstalled toolchains\n--------------------\n\nstable-aarch64-apple-darwin\nnightly-2022-07-31-aarch64-apple-darwin\nnightly-aarch64-apple-darwin (default)\n1.61.0-aarch64-apple-darwin\n\nactive toolchain\n----------------\n\nnightly-aarch64-apple-darwin (default)\nrustc 1.65.0-nightly (17cbdfd07 2022-09-13)\n\n```\n\n## docs:\n\n- ✅ [本项目说明: 开发环境搭建](./docs/dev.md)\n- ✅ [Rust 学习笔记](./docs/readme.md)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbetter-rs%2Flearn-rs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbetter-rs%2Flearn-rs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbetter-rs%2Flearn-rs/lists"}