از پارسکدرز بیشترین بهره را ببرید و رویای کاری خود را زندگی کنید.
دو روز پیش منتشر شده
تعداد بازدید: 56
کد پروژه: 538570
شرح پروژه
#پروژه_جدید
#کدپروژه : 88114
موضوع : پروژه پایتون =/
سلام وقت بخیر
یک پروتوتایپ میفرستم خدمت شما که ظاهر کلی پروژه ما رو برای شما تعریف میکنه برای تخمین قیمت.
همونجور که میبینید با گرفتن آدرس ولت و کانترکت توکن کار شروع میشه.
حد سود و حد ضرر و میزان خرید توکن به دلار توسط ما وارد میشه.در قسمت سبز رنگ میزان سرمایه فعلی یا دارایی فعلی که در ترید هست نمایش داده میشه.
خب تا اینجای کار معمولی بود کار خاصی که میخواستیم ما انجام بدیم اجرای دستو حد ضرر شناور هست.
اگر یک توکن خریده بشه یا به حالت سود میره یا به حالت ضرر. میخوایم اگر که به حالت سود رفت به میزان سود یا افزایش قیمت توکن, حد ضرر هم بالا بره ولی با ضرر کردن ثابت بمونه.
در قسمت پایین هم نمودار توکن نمایش داده میشه که اگر ما دیدیم توکنها فروخته شده با دیدن نموداربتونیم به کمک اون تصمیم به دوباره خریدن آن بگیریم.
88114:
import sys
import requests
from functools import partial
from PyQt5.QtWidgets import (
QApplication, QMainWindow, QWidget, QVBoxLayout, QLabel, QLineEdit, QPushButton, QMessageBox
)
# Jupiter API Endpoints
JUPITER_QUOTE_URL = "https://quote-api.jup.ag/v4/quote"
JUPITER_SWAP_URL = "https://quote-api.jup.ag/v4/swap"
class SolanaSwapApp(QMainWindow):
def init(self):
super().init()
self.setWindowTitle("Solana Token Swap")
self.setGeometry(100, 100, 400, 300)
self.init_ui()
def init_ui(self):
# Central Widget
self.central_widget = QWidget()
self.setCentralWidget(self.central_widget)
# Layout
self.layout = QVBoxLayout()
self.central_widget.setLayout(self.layout)
# Wallet Address Input
self.wallet_label = QLabel("Wallet Address:")
self.wallet_input = QLineEdit()
self.layout.addWidget(self.wallet_label)
self.layout.addWidget(self.wallet_input)
# Contract Address Input
self.contract_label = QLabel("Contract Address (Token):")
self.contract_input = QLineEdit()
self.layout.addWidget(self.contract_label)
self.layout.addWidget(self.contract_input)
# Button to Get Price
self.price_button = QPushButton("Get Token Price (in USDT)")
self.price_button.clicked.connect(self.get_token_price)
self.layout.addWidget(self.price_button)
# Button to Perform Swap
self.swap_button = QPushButton("Perform Token Swap")
self.swap_button.clicked.connect(self.perform_swap)
self.layout.addWidget(self.swap_button)
def get_token_price(self):
"""
Fetch the token price in USDT using the Jupiter API.
"""
wallet = self.wallet_input.text().strip()
contract = self.contract_input.text().strip()
if not wallet or not contract:
QMessageBox.warning(self, "Error", "Please fill out all fields!")
return
try:
amount = 1000000 # Example amount in the smallest unit (e.g., 1 USDT = 1_000_000 micro-units)
# Requesting price quote
params = {
"inputMint": contract, # Token's mint address
"outputMint": "Es9vMFrzaCERz8FCrzBXunwxmiu78UZ8MXBfDSTx6GRc", # USDT mint address
"amount": amount, # Amount in smallest denomination
"slippage": 1
}
response = requests.get(JUPITER_QUOTE_URL, params=params)
if response.status_code == 200:
data = response.json()
best_price = data.get("data", [{}])[0].get("outAmount", "N/A")
calculated_price = int(best_price) / 10 ** 6 # Convert to human-readable format
QMessageBox.information(self, "Token Price", f"Token Price in USDT: {calculated_price}")
else:
QMessageBox.warning(self, "Error", f"Failed to fetch price: {response.text}")
except Exception as e:
QMessageBox.critical(self, "Error", f"An error occurred: {e}")
def perform_swap(self):
"""
Perform a token swap via the Jupiter API.
"""
wallet = self.wallet_input.text().strip()
contract = self.contract_input.text().strip()
if not wallet or not contract:
QMessageBox.warning(self, "Error", "Please fill out all fields!")
return
try:
# Dummy swap request details (replace with an actual signed transaction)
amount = 1000000 # Example amount in smallest unit (e.g., 1 token = 1_000_000 lamports)
params = {
"inputMint": contract,
"outputMint": "Es9vMFrzaCERz8FCrzBXunwxmiu78UZ8MXBfDSTx6GRc",
"amount": amount,
"slippage": 1,
"userPublicKey": wallet,
}
response = requests.get(JUPITER_SWAP_URL, params=params)
if response.status_code == 200:
data = response.json()
swap_tx = data.get("swapTransaction", None)
if swap_tx:
QMessageBox.information(self, "Swap Complete", "Swap transaction successfully created!")
print("Swap Transaction:", swap_tx)
else:
QMessageBox.warning(self, "Error", "Failed to perform token swap.")
else:
QMessageBox.warning(self, "Error", f"Failed to perform swap: {response.text}")
except Exception as e:
QMessageBox.critical(self, "Error", f"An error occurred: {e}")
if name == "main":
app = QApplication(sys.argv)
window = SolanaSwapApp()
window.show()
sys.exit(app.exec())
این پروژه شامل 7 فایل مهم است، لطفا قبل از ارسال پیشنهاد حتما نسبت به بررسی این فایل اقدام فرمایید.
مهارت ها و تخصص های مورد نیاز
بودجه
750,000 تومان تا 5,000,000 تومان
مهلت برای انجام
10روز
وضعیت مناقصه
باز (آماده دریافت پیشنهاد)
درباره کارفرما
عضویت دو سال پیش
قادر به انجام این پروژه هستید؟
تا کنون 3 پیشنهاد قیمت از سمت فریلنسرها برای این پروژه ارسال شده
به رایگان یک حساب کاربری بسازید
مهارتها و تخصصهای خود را ثبت کنید، رزومه و نمونهکارهای خود را نشان دهید و سوابق کاری خود را شرح دهید.
به شیوهای که دوست دارید کار کنید
برای پروژههای دلخواه در زمان دلخواه پیشنهاد قیمت خود را ثبت کنید و به فرصتهای شغلی منحصر به فرد دسترسی پیدا کنید.
با اطمینان دستمزد دریافت کنید
از زمان شروع کار تا انتهای کار به امنیت مالی شما کمک خواهیم کرد. وجه پروژه را از ابتدای کار به امانت در سایت نگه خواهیم داشت تا تضمین شودکه بعد از تحویل کار دستمزد شما پرداخت خواهد شد.
میخواهید شروع به کار کنید؟
یک حساب کاربری بسازید
بهترین مشاغل فریلنسری را پیدا کنید
رشد شغلی شما به راحتی ایجاد یک حساب کاربری رایگان و یافتن کار (پروژه) متناسب با مهارتهای شما
است.
پیدا کردن کار (پروژه)
تماشای دمو روش کار