#отчёты
Постепенно изучая web3, понимаю, что программа, которую написал для перевода
Я сейчас хочу создать класс, который сможет работать не только с одним контрактом и его
Сейчас я изучаю и добавляю в свой код функции abi.
Казалось до этого, что всё просто, но оказывается, тут надо больше знать, чем я думал.
Хочу быстрей монетизировать всё, что изучил🤑🤑🤑
Многое смотрю и применяю из кода Аhillary.
Тут если что есть недоделки. Пока успел проверить и изучить
Постепенно изучая web3, понимаю, что программа, которую написал для перевода
ETH->USDC
, полная фигня. Сейчас до меня дошло, что вся информация содержится в abi. И оттуда можно её брать. А я всё руками прописывал😅Я сейчас хочу создать класс, который сможет работать не только с одним контрактом и его
abi
(у каждого токена в моём понимании abi отличаются. Если это не так, то напишите пожалуйста😅).Сейчас я изучаю и добавляю в свой код функции abi.
Казалось до этого, что всё просто, но оказывается, тут надо больше знать, чем я думал.
Хочу быстрей монетизировать всё, что изучил🤑🤑🤑
Многое смотрю и применяю из кода Аhillary.
Тут если что есть недоделки. Пока успел проверить и изучить
get_decimals
, get_allowance
. Они работают. class client:
def __init__(self, private_key, rpc):
try:
self.private_key = private_key
self.rpc = rpc
self.w3 = Web3(provider = Web3.HTTPProvider(endpoint_uri = self.rpc))
print(f'web3 connection: {self.w3.is_connected()}')
except Exception as err:
print(f'w3: {err}')
self.account = self.w3.eth.account.from_key(private_key=self.private_key)
self.address = Web3.to_checksum_address(self.account.address)
self.dates = data()
self.min_to_amount = float(self.dates.usdc_price) * self.dates.usdc_amount * (1 - self.dates.slippage / 100)
self.usdc_amount = int(self.dates.usdc_amount * 10 ** self.get_decimals(token_address=self.dates.usdc_address, file_path=self.dates.file_path_usdc))
self.eth_amount = int(self.min_to_amount * 10 ** self.get_decimals(token_address=self.dates.usdc_address, file_path=self.dates.file_path_usdc))
def woofi_contract(self):
try:
woofi_contract_address = Web3.to_checksum_address(self.dates.my_contract_address)
woofi_contract_abi = self.file_open(self.dates.file_path_woofi)
w_contract = self.w3.eth.contract(address=woofi_contract_address, abi=woofi_contract_abi)
return w_contract
except Exception as err:
traceback.print_exc()
return print(f"woofi contract: {err}")
def token_contract(self, token_address, token_contract_path):
try:
token_contract_address = Web3.to_checksum_address(token_address)
token_contract_abi = self.file_open(token_contract_path)
token_c = self.w3.eth.contract(address=token_contract_address, abi=token_contract_abi)
return token_c
except Exception as err:
raise err(f"token contract: {token_contract_address}: {err}" )
# Указываем file_path, чтобы была возможность отправлять abi разных контрактов
def get_decimals(self, token_address: str, file_path):
return int(self.w3.eth.contract(
address= token_address,
abi = self.file_open(file_path = file_path)
).functions.decimals.call())
# Указываем file_path, чтобы была возможность отправлять abi разных контрактов (Пока думаю, что они у всех разные)
# Функция, которая позволяет получателю взять столько денег, сколько мы разрешим (иcпользуется в approve)
def get_allowance(self, token_address: str, spender: str, file_path):
return self.w3.eth.contract(
address=token_address,
abi = self.file_open(file_path=file_path)
).functions.allowance(self.address,
spender
).call()
def file_open(self, file_path: str):
try:
with open(file_path, 'r') as f:
contract_abi = json.load(f)
return contract_abi
except Exception as err:
print(f'file_open: {err}')
#отчёты
- добавил функции
- постепенно превращаю код в асинхронный
- вчера писал функцию
Функции из первого пункта отчёта:
- добавил функции
total_supply
(Общий объем предложения фиатных токенов.), symbol
(символ контракта). - постепенно превращаю код в асинхронный
- вчера писал функцию
blackliist
. Оказалось, что она не работает без прав создателя токена. В общем, теперь понял, что не все функции доступны для вызова. Функции из первого пункта отчёта:
def total_supply(self, token_address):
return self.token_contract(token_address=token_address).functions.totalSupply().call()
def symbol(self, token_address):
return self.token_contract(token_address=token_address).functions.symbol.call()
#отчёты
Встретился с заказчиками, обсудил что нужно сделать. Начинаю завтра.
Сегодня предварительно смотрел что использовать, шаблоны сайтов и прочее.
Нужно будет ещё с телеграм ботом поработать.
Скоро начнётся веселье😏
Встретился с заказчиками, обсудил что нужно сделать. Начинаю завтра.
Сегодня предварительно смотрел что использовать, шаблоны сайтов и прочее.
Нужно будет ещё с телеграм ботом поработать.
Скоро начнётся веселье😏
🔥1
#отчёты
Сегодня было весело. Всё утро настраивал сервер.
Все инструменты и ПО постарался взять самые стабильные:
ubuntu 22.04, и питон 3.10.
Вот с питоном я заморочился. По умолчанию на сервере стоит Python 3.10.12. Так как я всё это время работал с версией 3.10.17, решил его установить.
Насчёт фронтенда: в итоге решил послать на три буквы эти конструкторы (ненавижу ограничения). И делать сам дизайн сайта вместе с chatGPT. Получилось вполне неплохо. Дизайн сделал футуристический. В цветах самого бренда. Главное, чего опасаюсь, что сайт возможно долго грузиться будет с такими анимациями и стилями. Но, думаю, решу этот вопрос.
Жду обратной связи от заказчиков🙃
Сегодня было весело. Всё утро настраивал сервер.
Все инструменты и ПО постарался взять самые стабильные:
ubuntu 22.04, и питон 3.10.
Вот с питоном я заморочился. По умолчанию на сервере стоит Python 3.10.12. Так как я всё это время работал с версией 3.10.17, решил его установить.
Насчёт фронтенда: в итоге решил послать на три буквы эти конструкторы (ненавижу ограничения). И делать сам дизайн сайта вместе с chatGPT. Получилось вполне неплохо. Дизайн сделал футуристический. В цветах самого бренда. Главное, чего опасаюсь, что сайт возможно долго грузиться будет с такими анимациями и стилями. Но, думаю, решу этот вопрос.
Жду обратной связи от заказчиков🙃
❤2👍2🔥2
#отчёты
Начал работать с базой данных для сайта. Составил структуру, теперь начал реализовывать.
На сервере установил Postgresql. Теперь на этапе создания таблиц и вопроса того, как и откуда туда будут попадать данные.
Я хочу, чтобы заказчики через тг бота всё это делали для их удобства.
Начал работать с базой данных для сайта. Составил структуру, теперь начал реализовывать.
На сервере установил Postgresql. Теперь на этапе создания таблиц и вопроса того, как и откуда туда будут попадать данные.
Я хочу, чтобы заказчики через тг бота всё это делали для их удобства.
#отчёты
- настроил postgresql для работы;
- спроектировал схему базы данных;
- создал базу данных;
- сделал таблицы;
- в проекте django привязал эту бд;
- начал работу с телеграм ботом для того, чтобы брать данные с канала.
- настроил postgresql для работы;
- спроектировал схему базы данных;
- создал базу данных;
- сделал таблицы;
- в проекте django привязал эту бд;
- начал работу с телеграм ботом для того, чтобы брать данные с канала.
#отчёты
Начал работать над ботом, который будет управлять базой данных сайта. Пока сильно не продвинулся, но все ключевые моменты понял. Осталось только реализовать🙃
Начал работать над ботом, который будет управлять базой данных сайта. Пока сильно не продвинулся, но все ключевые моменты понял. Осталось только реализовать🙃
#отчёты
Разобрался с тем, как будут связаны картинки товара с самим товаром.
Они будут храниться на сервере с именем товара. И по имени привязываться к определенному товару. Будут храниться в базе как ссылка.
Управление базой данных через бота в телеграм. Сделаю всё максимально понятно для обычного пользователя.
Основные моменты готовы, осталось только всё связать
Разобрался с тем, как будут связаны картинки товара с самим товаром.
Они будут храниться на сервере с именем товара. И по имени привязываться к определенному товару. Будут храниться в базе как ссылка.
Управление базой данных через бота в телеграм. Сделаю всё максимально понятно для обычного пользователя.
Основные моменты готовы, осталось только всё связать
🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
#отчёты
Сегодня сервер перестал работать. Просто выключился. Я сначала не понял что случилось. Потом зашёл на сайт провайдера и увидел выключенный сервер😳
Потом была трудность с отображением сайта после запуска программы.
Потратил очень много времени, чтобы понять в чём проблема. Оказалось, что я намудрил с адресом сайта😅
Прикрепил видео телеграм бота, который добавляет товар в базу данных. Это только одна из функций. Будет ещё минимум 4 возможных взаимодействий с базой данных:
- просмотр товаров;
- удаление;
- поиск по товару;
- управление количеством товара.
Может ещё фильтры добавлю.
Сегодня сервер перестал работать. Просто выключился. Я сначала не понял что случилось. Потом зашёл на сайт провайдера и увидел выключенный сервер😳
Потом была трудность с отображением сайта после запуска программы.
Потратил очень много времени, чтобы понять в чём проблема. Оказалось, что я намудрил с адресом сайта😅
Прикрепил видео телеграм бота, который добавляет товар в базу данных. Это только одна из функций. Будет ещё минимум 4 возможных взаимодействий с базой данных:
- просмотр товаров;
- удаление;
- поиск по товару;
- управление количеством товара.
Может ещё фильтры добавлю.
#отчёты
Полностью настроил связь между ботом, базой данных и сайтом. Теперь при отправке через бота в базу данных сразу появляется на сайте добавленная информация.
Осталось только все функции в боте реализовать, настроить и проверить безопасность, добавить минимальные данные в базу данных и всё😅
Полностью настроил связь между ботом, базой данных и сайтом. Теперь при отправке через бота в базу данных сразу появляется на сайте добавленная информация.
Осталось только все функции в боте реализовать, настроить и проверить безопасность, добавить минимальные данные в базу данных и всё😅
👍2
#отчёты
Со слайдером долго мучился. Теперь все картинки товара можно смотреть нормально. Надо ещё немного поработать над дизайном и думаю будет нормально😅
Как вам дизайн?)
Со слайдером долго мучился. Теперь все картинки товара можно смотреть нормально. Надо ещё немного поработать над дизайном и думаю будет нормально😅
Как вам дизайн?)
🔥4❤2
#отчёты
В последние дни прервался по личным незамедлительным делам.
Пока делаю код, который автоматически меняет названия картинок внутри папок на название папки + номер картинки (начиная с 1).
В последние дни прервался по личным незамедлительным делам.
Пока делаю код, который автоматически меняет названия картинок внутри папок на название папки + номер картинки (начиная с 1).
import os
class editName:
def __init__(self, folder_path: str):
self.folder_path = folder_path
def new_name(self):
file_count = 0
files = []
try:
for f in os.listdir(self.folder_path):
full_path = os.path.join(self.folder_path, f)
files.append(f)
if os.path.isfile(full_path):
file_count += 1
files.sort()
for i in range(file_count):
file_path = f'{self.folder_path + "/" + files[i]}'
folder_name = os.path.basename(os.path.dirname(file_path))
file_ext = os.path.splitext(file_path)[1]
# Новый путь с новым именем файла
new_file_path = os.path.join(os.path.dirname(file_path), f"{folder_name + str(i+1)}{file_ext}")
os.rename(file_path, new_file_path)
except Exception as err:
print(f'ERROR: {err}')
#отчёты
С этого дня прекращаю скидывать отчёты разработке сайта. Причина: безопасность подвергается опасности.
Как сайт будет готов и достаточно защищён, скину в группу ссылку🙃
Из нового:
узнал про библиотеку
Удобная штука
С этого дня прекращаю скидывать отчёты разработке сайта. Причина: безопасность подвергается опасности.
Как сайт будет готов и достаточно защищён, скину в группу ссылку🙃
Из нового:
узнал про библиотеку
watchdog
. Она позволяет следить за изменениями. Если они будут, то скрипт будет запускаться.Удобная штука
#отчёты
Всё таки немного буду писать отчёты по сайту (только словами, без кода). Сейчас я на стадии добавления в базу всех данных.
Ещё я взялся за помощь студенту выпускнику. У него с выполнением кода есть некоторые проблемы. Параллельно смотрю и делаю это тоже. Надеюсь, решу его проблему и смогу помочь. До сдачи диплома осталось не так много😅
Работаем💪💪💪
Всё таки немного буду писать отчёты по сайту (только словами, без кода). Сейчас я на стадии добавления в базу всех данных.
Ещё я взялся за помощь студенту выпускнику. У него с выполнением кода есть некоторые проблемы. Параллельно смотрю и делаю это тоже. Надеюсь, решу его проблему и смогу помочь. До сдачи диплома осталось не так много😅
Работаем💪💪💪
👍2
#отчёты
Чем дольше делаю бота для управления базой данных сайта, тем больше он усложняется.
С каждым продумыванием структуры появляются ньюансы.
Уже близок к полному решению. Осталось только додумать несколько моментов.
Сам сайт практически готов🙃
Чем дольше делаю бота для управления базой данных сайта, тем больше он усложняется.
С каждым продумыванием структуры появляются ньюансы.
Уже близок к полному решению. Осталось только додумать несколько моментов.
Сам сайт практически готов🙃
🔥1
#отчёты
Обсудил с заказчиками (сайт) основные моменты, что добавить, что подправить. И насчёт бота тоже поговорили.
Скоро запустим сайт)
Обсудил с заказчиками (сайт) основные моменты, что добавить, что подправить. И насчёт бота тоже поговорили.
Скоро запустим сайт)
👍2
This media is not supported in your browser
VIEW IN TELEGRAM
#отчёты
Похоже, с ботом я зашёл далеко. Теперь надо каждое действие тестировать и каждую дыру заделывать, а их много😅
Много функций требуют тщательного продумывания. Рад тому, что уже работают пути по кнопкам от главного меню до каждой отдельной таблицы😆
Основное сделано, осталось только пофиксить😁
Похоже, с ботом я зашёл далеко. Теперь надо каждое действие тестировать и каждую дыру заделывать, а их много😅
Много функций требуют тщательного продумывания. Рад тому, что уже работают пути по кнопкам от главного меню до каждой отдельной таблицы😆
Основное сделано, осталось только пофиксить😁
🔥2
Media is too big
VIEW IN TELEGRAM
#отчёты
Как-то так работает изменение товара. Пока с сохранением какие-то проблемы. Но в целом, всё работает.
Главное, логика продумана, работаем дальше
Как-то так работает изменение товара. Пока с сохранением какие-то проблемы. Но в целом, всё работает.
Главное, логика продумана, работаем дальше
❤🔥1
#отчёты
С ботом всё ✅
Все кнопки практически работают (кроме картинок).
Очень долго возился с изменением значений в таблице. Я сделал кнопки одинаковые для разных функций. Из-за этого бот либо ничего не делал, либо делал что-то не так, как надо😤
Теперь все названия кнопок, все callbackи уникальные. Долго возился с состояниями. Они тоже теперь все уникальные😌
Насчёт картинок, хочу, чтобы они напрямую заливались через бота на сервер. Всё продумал с этим, надо только сделать.
Проект получился очень большим. Теперь надо о безопасности подумать и окончательно готовый продукт передать в руки заказчиков💰
С ботом всё ✅
Все кнопки практически работают (кроме картинок).
Очень долго возился с изменением значений в таблице. Я сделал кнопки одинаковые для разных функций. Из-за этого бот либо ничего не делал, либо делал что-то не так, как надо😤
Теперь все названия кнопок, все callbackи уникальные. Долго возился с состояниями. Они тоже теперь все уникальные😌
Насчёт картинок, хочу, чтобы они напрямую заливались через бота на сервер. Всё продумал с этим, надо только сделать.
Проект получился очень большим. Теперь надо о безопасности подумать и окончательно готовый продукт передать в руки заказчиков💰
❤4❤🔥1
#отчёты
Работаю над добавлением картинок на сервер через бота.
Говорил, что с ботом всё, но в любой разработке нет слова закончил😅
Работаю над добавлением картинок на сервер через бота.
Говорил, что с ботом всё, но в любой разработке нет слова закончил😅
❤3