diff --git a/reflex-binance/.env.template b/reflex-binance/.env.template new file mode 100644 index 0000000..5b9552f --- /dev/null +++ b/reflex-binance/.env.template @@ -0,0 +1,2 @@ +BINANCE_API_KEY=my_binance_api_key +BINANCE_API_SECRET=my_binance_api_secret \ No newline at end of file diff --git a/reflex-binance/.gitignore b/reflex-binance/.gitignore new file mode 100644 index 0000000..4b9cb5f --- /dev/null +++ b/reflex-binance/.gitignore @@ -0,0 +1,5 @@ +*.py[cod] +.env +.web +__pycache__/ +reflex.db \ No newline at end of file diff --git a/reflex-binance/README.md b/reflex-binance/README.md new file mode 100644 index 0000000..5b005ef --- /dev/null +++ b/reflex-binance/README.md @@ -0,0 +1,9 @@ +# reflex-binance +## set keys +```bash +cp .env.template .env +vim .env +``` +Set the two keys in .evn file. it will not commited into git server + + diff --git a/reflex-binance/assets/favicon.ico b/reflex-binance/assets/favicon.ico new file mode 100644 index 0000000..8a93bfa Binary files /dev/null and b/reflex-binance/assets/favicon.ico differ diff --git a/reflex-binance/reflex_binance/__init__.py b/reflex-binance/reflex_binance/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/reflex-binance/reflex_binance/reflex_binance.py b/reflex-binance/reflex_binance/reflex_binance.py new file mode 100644 index 0000000..6843069 --- /dev/null +++ b/reflex-binance/reflex_binance/reflex_binance.py @@ -0,0 +1,49 @@ +"""Welcome to Reflex! This file outlines the steps to create a basic app.""" +from rxconfig import config +import os +import reflex as rx +from dotenv import load_dotenv +from binance.client import Client +load_dotenv() +API_KEY = os.environ.get('BINANCE_API_KEY') +API_SECRET = os.environ.get('BINANCE_API_SECRET') +if not API_KEY or not API_SECRET: + raise ValueError("Please set the BINANCE_API_KEY and BINANCE_API_SECRET environment variables.") +try: + client = Client(API_KEY, API_SECRET) + recent_trades = client.get_recent_trades(symbol='BTCUSDT', limit=10) + + print("最近的 Bitcoin 交易:") + for trade in recent_trades: + print(f"交易ID: {trade['id']}, 價格: {trade['price']}, 數量: {trade['qty']}") +except: + print("Exception") + + + + + +class State(rx.State): + """The app state.""" + pass + + +def index() -> rx.Component: + return rx.fragment( + rx.color_mode_button(rx.color_mode_icon(), float="right"), + rx.vstack( + rx.heading("Welcome to Reflex Binance!", font_size="2em"), + rx.text(API_KEY), + rx.text(API_SECRET) + ), + spacing="1.5em", + font_size="2em", + padding_top="10%", + + ) + + +# Add state and page to the app. +app = rx.App(state=State) +app.add_page(index) +app.compile() diff --git a/reflex-binance/requirements.txt b/reflex-binance/requirements.txt new file mode 100644 index 0000000..b03d089 --- /dev/null +++ b/reflex-binance/requirements.txt @@ -0,0 +1,3 @@ +reflex==0.2.0 +python-dotenv +python-binance diff --git a/reflex-binance/rxconfig.py b/reflex-binance/rxconfig.py new file mode 100644 index 0000000..56c7428 --- /dev/null +++ b/reflex-binance/rxconfig.py @@ -0,0 +1,10 @@ +import reflex as rx + +class ReflexbinanceConfig(rx.Config): + pass + +config = ReflexbinanceConfig( + app_name="reflex_binance", + db_url="sqlite:///reflex.db", + env=rx.Env.DEV, +) \ No newline at end of file