GS Alpha: ValdeMURRR.eth – Telegram
GS Alpha: ValdeMURRR.eth
5.52K subscribers
1.05K photos
14 videos
891 links
⭐️ Girls&Sushi Crypto

⭐️ Чат: t.me/GSAlpha_chat

⭐️ Щитпост: t.me/VLDMR_Shitpost

⭐️ Реклама/Папки/Связь:
@valdemurrr

⭐️ Менеджер: @S0ni_k
Download Telegram
Потом этот пост удалю, как обычно

Смог заминтить, ставьте 4500 газ в Ребби
🗿8
😅 Story Protocol - лучше поздно, чем никогда | Part 1

Обычно я такое скипаю, когда с каждой помойки, стоит гул про новый ноу-шил, гем, ченджлайф проджект. Но тут действительно что-то интересное

Story Protocol - Layer 1 блокчейн, с $140 млн в кармане и a16z на борту. a16z один из моих любимых инвесторов, конечно это не черный властелин Артур Хейс, но мне они тоже импонируют. Как вы знаете, Layer 1 не может существовать без токена, смекаете?

⭐️Минт NFT в тестовой сети

Я полагаю вы все уже это сделали, но на данный момент это основная активность в проекте, так что не упомянуть я просто не могу

• Переходите в кран и запрашиваете токены
• Переходите на сайт, выполняете социалки (как я понял они не чекаются, но я все выполнил) и минтите NFT

Дедлайн: 29.08 в 18:30 по Киеву

Сильно лагает, скорее всего вы не заминтите с первого раза. У меня получилось это сделать ночью, установив 4500 раза в Rabby. Почитав чат в их Дискорде, я понял что многие сталкиваются с ошибкой, мол недостаточно средств для оплаты комиссии - просто снижаете газ вручную, до возможности отправки транзакции

🌐 Discord проекта и роли

• Заходите в Discord, тыкаете реакции и получаете полный доступ к серверу вместе с ролью Verified

• Затем в разделе language-hub выбираете языковое комьюнити и получаете роль

• Теперь в ветке #announcements тыкаете красненькую реакцию (их будет больше всего) и получаете роль Reverse

• Затем переходим на сайт и выполняем задания:
- Подключаем Discord
- Добавляете ꧁IP꧂ в ваше Twitter имя
- Подключаете ваш Twitter
- Подписываете на Story Protocol в Твиттере
- Подписываете на их Телеграм
- Нажимаете кнопку получить IP роль
• Готово, вы получили IP

👑 Programmable OG - как получить самую топовую роль?
Вынес эту роль отдельным пунктом, так как она представляет наивысшую ценность в проекте

Конкретного алгоритма действий здесь день - это вновь Дискорд-роль дрочилься, хелоу 2022 вайбз. Сидеть дрочить с умственно отсталыми хуесосами в чате, чтобы жирный пакистанец фаундер тебя заметил. Ой, как же мне этого не хватало.

Набор действий классический:

• Активность в чате
• Помощь людям (кенты фармят роли в Дискорде, тут сам Господь Бог не поможет)
• Публикация мемов и артов

По моему опыту, все эти арты и мемы - полная хуйня, если это не что то из ряда вон выходящего. Например заказать ледяную скульптуру с логотипом Story Protocol'a - такое запросто проканать может, а очередной арт купленный на файвере за 2$ у иранской девочки, которую в следующую среду забьют камнями - такого навалом, вам в 99% нихуя не дадут. Самым действенным будет гринд в чате, в украинском чате сидит модер Jaseke, перед ним стоит светиться и активизироваться с его появлением. Дааа, унижаться перед чмошником-модератором, ради роли, сюда лут.

🗑 Экосистемные проекты и возможность взаимодействия с ними будут во второй части

Работайте, славяне 🗿
Please open Telegram to view this post
VIEW IN TELEGRAM
1🐳163🔥3
Накидываете реакций на первую часть и я окунаюсь в клоаку экосистему Стори Протокола и в нахуй ненужные прорывные и инновационные web3 протоколы

На этот пост не кидайте, ок? Я удалю его

upd. пиздец, много реакций, жалко удалять
118
😅 Story Protocol - Part 2

Ну что ж, давайте нырнем с головой к экосистему этого прекрасного проекта

💎 Экосистема проекта
На этой ссылке можно было и закончить, но я решил прошарить что тут можно сделать, потыкать и понюхать

🌈 AI+AIGC

MAHOJIN - какая-то помоечка, с 470 фолловерами в Твиттере. Пока что можно заполнить форму на Waitlist и на запуске получить какие-то бенефиты.
Ritual - можно установить ноду по официально руководству.
Myshell - для одиноких скуфов, можно общаться с ИИ.
Dria (на сайте экосистемы почему-то Firstbatch) - нихуя не понял, что тут надо делать, скип.
Flock - выполняем квесты, также запрашиваем токены и активничаем в тестнете.
Holoworld - создаем персонажа и выполняем квесты.
Blockbook - создаем аккаунт и загружаем контент, прикрепляю официальное руководство.
Morphic - заходим в Waitlist.
Ringfence - подаемся на Waitlist.
Ora - можно закинуть ликвидность сюда, но я бы не кидал.
bythen - до 14 августа можно было что-то заклеймить, но как вы понимаете - мы не успеваем.
AlloraLabs - не нашел вариантов взаимодействия.
7007 - общаемся с ИИ, он оценивает наши ответы и сможем что-то заклеймить.
Solo - выполняем задания.

Вроде бы с самой конченой категорией разобрались

🌈 Creator Platform

Magma - можно податься на амбассадорку в их в Дискорде, и рисуем писюны.
Sekai - генерируем писюны.
Color - минтим NFT и выполняем задания.
Mindblowon - выглядит забавно, но вариантов взаимодействия не нашел.
Lens - полагаю тут комментарии будут лишними.

Ладно, я думал первая категория самая конченая, а тут эта хуйня за углом поджидала. Где не все баннеры кликабельны, приходилось разбираться по их ебучему логотипу, какое там название и открывать Твиттер.

🌈 DEFI/IPFI

Ethena - базированный RWA и мой фаворит.
Unleash - доим кран и пробуем лендить и борровить. Один из немногих, кто билдится сразу на Story.
PiperX - берем токены с крана и свапаем, добавляем LP позицию.
Openeden - эта гадость судя по всему свой стейбл билдит, много покупать не рекомендую, чисто на пару долларов для активности.
RHO - лендинг на Scroll, часто им пользуюсь чтобы крутить он-чейн вольюм.
• Vanilla Protocol - вроде бы это были перпы, но нет линки на них (ахуенная страница экосистемы) и в Твиттере не нашел.
Moby - даже разбираться не стал, что это такое. Призывай бойкотировать старых долбоебов, которые скучают по дизайну прошлого века.
• Storyhunt - опять не страницы. Я смотрю вы классно подготовились мужики.

🌈 INFRA

thirdweb - известный проект, я думаю можно ничего не писать.
Blockscout - прикольный проект, но рядовому юзер тут делать нечего.
dynamic - можно потыкаться, но какого то конкретного нормально взаимодействия я не обнаружил.
Pimlico - инструкция по возможному взаимодействию тут, но не вижу смысла запариваться.
Hemera - cкип, нет возможности взаимодействия.
Redstone - железно стоит присмотреться, будущий оракл.
LayerZero - база, так сказать.
Goldsky - Бог знает что с этим делать, скип.
Blockdaemon - скип.
Figment - поставщики сервисов и инфраструктуры на блокчейне с огромным инвестом. Можно закинуть ETH в стейкинг.
Privy - Парадигм и Коинбейз на борту, но как взаимодействовать рядовому юзеру - хз.
A41 - скип.

Честно, один из самых тяжелых постов за последнее время. Прям очень сложно было писать, ибо что Story пока сырая хуйня, так и большая часть его экосистемы болотный мусор. Не вижу смысла сейчас делать упор на взаимодействия с экосистемой. Лучше потратить это время на гринд в Дискорде роли Programmable OG. Чем дольше тянете, тем сложнее будет получить.

Работайте, славяне 🗿
Please open Telegram to view this post
VIEW IN TELEGRAM
8🐳2
💎 Premint: Gomble Games

Думаю проект в представлении не нуждается, полная поддержка Бинанса, Анимоки и прочие радости жизни. Участие обязательно, шансов на победу совсем мало, но если не попробовать, то точно не победите.

➡️ РЕГИСТРАЦИЯ В РАФЛ

• Общий саплай: 5555
• Минт прайс: Free
• Дедлайн: TBA
• Дата минта: TBA

Ох уж этот вайб 2022 года: преминты и альфаботы. Расконсервируйте ферму и загоняйте, участников будет очень много, так как нет требований по балансу (к сожалению). Нужен Твиттер и Дискорд.

Штампуйте аккаунты, славяне 🗿
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥6
😂 Объем и ликвидность — два главных фильтра перед заходом в пул Meteora

Ты можешь смотреть на комиссии, на hype, на мемы — но без этих двух метрик ты просто играешь в рулетку.

💧 Ликвидность (TVL) = стабильность

Если в пуле меньше $1-2k ликвы — это красный флаг.
Такой пул можно “сломать” одним крупным свопом.
Ты зайдешь — и твоя же ликвидность изменит цену, а потом никто не захочет по ней торговать.

Минимум $3-5k ликвы — чтобы не быть последним в очереди.

📈 Объем (Volume) = движение

TVL — это хорошо, но если объем $0 — ты ничего не заработаешь.
Только активные свапы приносят тебе комиссию.

Смотри:
• 24h Volume > $5k — нормально
• $10k+ — отлично
• $50k+ — топ

📌 Оптимальное соотношение:

Чем выше объем к TVL — тем больше проторговок, тем выше fees.
Если в пуле $10k ликвы и $50k объема за сутки — это очень вкусно.

🔎 Пример

Пул с 7% комиссией и $900 TVL выглядит круто?
Нет. Ты сам поставишь цену, и никто больше туда не зайдет.

А вот пул с 0.5% комиссии, $10k TVL и $30k объема — даст тебе стабильные, частые fees.

🧠 Вывод

Объем = заработок
Ликвидность = безопасность

Хочешь фармить, а не играть в лотерею?
Сначала смотри на эти два показателя — а уже потом на все остальное.

Работайте, славяне 🗿
Please open Telegram to view this post
VIEW IN TELEGRAM
14👀4
💎 Musgard - новый проект, о котором вы еще не слышали

Musgard - приключенческая игра-кликер с сюжетными квестами и интеграцией DEX STON.fi, что позволяет игрокам зарабатывать с самого начала.

Большинство web3 тапалок страдают от монотонного, однообразного, унылого и скучного игрового процесса. Musgard в свою очередь предлагает проработанные квесты, которые перемещают игрока из локации в локацию. открывают кастомизацию кошачьего дома, игрок получает конкретную цель игры, которая заключается в поиске и освобождении котов из золотых статуй.

Огромным плюсом, является то, что токен не выбрасывается в рынок на тупоря, а после болтается как говно в проруби. Фаундеры будут поддерживать токен после листинга, так как проект зарабатывает на партнерских программах и рекламе внутри приложения и 30% от вырученных денег будут идти пул ликвидности MSGRD/TON в виде buy-back.

Непосредственно сам токен $MSGRD будет торговаться на DEX Ston.fi.

🗣️ Токеномика

• Общее кол-во токенов: 100.000.000 $MSGRD
• Начальная цена: $0.005

Благодаря системе buy-back команда Musgard будет следить за здоровым соотношением токенов в пуле ликвидности, чтобы избежать его опустошения и поддерживать стабильность цены. Эта продуманная модель позволяет поддерживать устойчивую экономику токенов, обеспечивая стабильный рост и вознаграждения для игроков и инвесторов.

➡️ ПРИСОЕДИНИТЬСЯ К MUSGARD

Мне проект симпатичен, выглядит свежо и гораздо интереснее его конкурентов, у которых в большинстве своем все сводится к монотонному, машинальному и скучному тапанию по экранчику 🤡.

Это мой первый опыт в амплуа амбассадора проекта, за этот пост я не получил ни цента. Искренне рекомендую хотя бы обратить на него внимание, зайти и посмотреть что он из себя представляет. Команда действительно горит своим делом и на дистанции может получиться довольно неплохой кейс. Мне будет очень приятно, если вы поддержите меня в моем первом опыте амбассадора и перейдетe в проект по моей реферальной ссылке.

Тапайте, славяне 🗿
Please open Telegram to view this post
VIEW IN TELEGRAM
3🔥8🐳3👍1
👀 Поздравляю всех с окончанием нудного, тягомотного лета на рынке

Пиздец, я последний раз был в школе 7 лет назад. Как давно же это было... 🗿

Завтра добью гайд по Base и надо срочно садиться за Hyperlane, а там и Monad с Linea подтянутся.
В целом лето получилось продуктивным, но не особо профитным, хоть и сделано было многое. В сентябре я не жду кардинальной смены настроения и ситуации на рынке, но я уверен что с каждым месяцем мы близимся к той самой заветной бычке.

Скажите, а бычка с нами в одной комнате?
Please open Telegram to view this post
VIEW IN TELEGRAM
9
🥶 Ультимативный гайд на Base - part 4

К сожалению в столь обширной экосистеме порой сложно не упустить ничего, поэтому в этой части гайда мы поговорим о том, что я забыл упомянуть в первых трех частях гайда.

🗣️ Based Developers
В этой категории помимо двух ролей связанных с деплоями контрактов в Base Mainnet, есть еще две секретные роли.

- Testnet Dev (Секретная роль): деплойнуть один контракт в Base Testnet
- Testnet Activity 10+ (Секретная роль) - десять транзакций в Base Testnet, деплой контрактов учитывается

По сути выполняя задания из 🗣️ Base Learn вы деплойните и контракт и совершите 10 транзакций, также можете просто отправлять тестовый ETH самому себе на кошелек.

🗣️ Based Onchain
Здесь апдейтов нет

🗣️ Retired Roles

- Day 1 Adopter: холдить Base, Introduced NFT (OpenSea)
Прошлый раз я писал о том, что не знаю какая NFT должна быть. Сейчас исправляюсь, рекомендую к получению, так как она стоит сущие копейки

- Based and Optimistic: холить "BASEd and Optimistic" NFT [OpenSea]
Вот ее уже точно не получить, торги на OpenSea не идут уже как 9 месяцев

- Shadowy Super Coder: даем звезду на этот или этот репозиторий Github

Для этого мы должны подключить наш Github аккаунт к Base Guild, а также получить роль Github в Дискорде Base:

• Переходим в Дискорд Base
• Левый верхний угол, где название сервера Base нажимаете на стрелочку вниз
• Четвертая по счету будет "Привязанные роли"
• Нажимаете и подключаете ваш Github

теперь у вас появится в Base Guild дополнительная ветка заданий, полностью секретная

🗣️ Developers

- Developer: секретные требования, у меня есть эта роль. Ее получило всего 1700 человек
- Has GitHub account: иметь Github аккаунт старше одного дня
- Commit activity in last 30d: иметь как минимум 1 commit за последний месяц

🗣️ Onchain Summer Buildathon
Без изменений

🗣️ Base Learn
Вновь без изменений, ответы будут публиковаться в следующих постах, в контексте гайда

🗣️ Onchain Summer II
Без изменений

🗣️ Based Advocacy
Без изменений

🗣️ Based Ambassador
Без изменений

Теперь возвращаемся к главной странице Base Guild

🗣️ Based Influencer: иметь роль Based (писал о ней во второй части гайда) и добавить .base.eth в ваш ник в Farcaster или X

Заключительные две роли, которые я не знал как получить и поэтому написал что сейчас они невозможны к получению, оказывается получить более чем реально

🗣️ Onchain Insider: холдить NFT [OpenSea]. Сейчас флор в районе 17$, я задуюсь о покупке

🗣️ Onchain Maxi: холдить NFT [OpenSea]. Покупать сразу с рук дорого, флор около 95$, попробую кинуть бид на 15$

🗣️ EU Citizen: я прошел верификацию на польские документы на Coinbase и получил эту роль

Вот теперь точно все с Base Guild и ролями в Дискорде Base, осталось только 🗣️ Base Learn
Please open Telegram to view this post
VIEW IN TELEGRAM
6🐳145🔥3
🥶 Ультимативный гайд на Base - part 5

Инструкция из третьей части Ультимативного гайда на Base общая и подходит для каждого задания

🗣️ Control Structures - 2

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.18;

contract ControlStructures {

function fizzBuzz(uint _number) public pure returns (string memory) {
if (_number % 3 == 0 && _number % 5 == 0) {
return "FizzBuzz";
} else if (_number % 3 == 0) {
return "Fizz";
} else if (_number % 5 == 0) {
return "Buzz";
} else {
return "Splat";
}
}

error AfterHours(uint time);

function doNotDisturb(uint _time) public pure returns (string memory) {
assert (_time < 2400);

if (_time > 2200 || _time < 800) {
revert AfterHours(_time);
}

if (_time >= 1200 && _time <= 1259) {
revert("At lunch!");
}

if (_time >= 800 && _time <= 1199) {
return "Morning!";
}

if (_time >= 1300 && _time <= 1799) {
return "Afternoon!";
}

if (_time >= 1800 && _time <= 2200) {
return "Evening!";
}

return "";
}
}


🗣️ Storage - 3

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.18;

contract EmployeeStorage {
uint16 private shares;
uint32 private salary;
uint192 public idNumber;
string public name;

error TooManyShares(uint16 newShareCount);

constructor() {
shares = 1000;
name = "Pat";
salary = 50000;
idNumber = 112358132134;
}

function viewSalary() public view returns (uint) {
return salary;
}

function viewShares() public view returns (uint) {
return shares;
}

function grantShares(uint16 _newShares) public {
uint16 newShareCount = shares + _newShares;

require(_newShares <= 5000, "Too many shares");

if (newShareCount > 5000) {
revert TooManyShares(newShareCount);
}

shares = newShareCount;
}

function checkForPacking(uint _slot) public view returns (uint r) {
assembly {
r := sload(_slot)
}
}

function debugResetShares() public {
shares = 1000;
}
}


Если вдруг у кого-то возникнут проблемы с выполнением этих и последующих заданий - буду рад помочь в комментариях
Please open Telegram to view this post
VIEW IN TELEGRAM
5🐳126🔥5
🥶 Ультимативный гайд на Base - part 6

🗣️ Arrays - 4

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.18;

contract ArraysExercise {
uint[] public numbers = [1,2,3,4,5,6,7,8,9,10];

address[] public senders;
uint[] public timestamps;

function getNumbers() public view returns (uint[] memory) {
return numbers;
}

function resetNumbers() public {
delete numbers;
numbers = [1,2,3,4,5,6,7,8,9,10];
}

function appendToNumbers(uint[] calldata _toAppend) public {
for (uint i = 0; i < _toAppend.length; i++) {
numbers.push(_toAppend[i]);
}
}

function saveTimestamp(uint _unixTimestamp) public {
senders.push(msg.sender);
timestamps.push(_unixTimestamp);
}

function afterY2K() public view returns (uint[] memory, address[] memory) {
uint count;

for (uint i = 0; i < timestamps.length; i++) {
if (timestamps[i] > 946702800) {
count++;
}
}

uint[] memory filteredTimestamps = new uint[](count);
address[] memory filteredSenders = new address[](count);

uint index;
for (uint i = 0; i < timestamps.length; i++) {
if (timestamps[i] > 946702800) {
filteredTimestamps[index] = timestamps[i];
filteredSenders[index] = senders[i];
index++;
}
}
return (filteredTimestamps, filteredSenders);
}

function resetSenders() public {
delete senders;
}

function resetTimestamps() public {
delete timestamps;
}
}


🗣️ Mappings - 5

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.17;

/**
* @noscript FavoriteRecords
* @dev Contract to manage a list of approved music records and allow users to add them to their favorites
*/
contract FavoriteRecords {

mapping(string => bool) private approvedRecords;
string[] private approvedRecordsIndex;

mapping(address => mapping(string => bool)) public userFavorites;
mapping(address => string[]) private userFavoritesIndex;

error NotApproved(string albumName);

/**
* @dev Constructor that initializes the approved records list
*/
constructor() {
approvedRecordsIndex = ["Thriller","Back in Black","The Bodyguard","The Dark Side of the Moon","Their Greatest Hits (1971-1975)","Hotel California","Come On Over","Rumours","Saturday Night Fever"];
for (uint i = 0; i < approvedRecordsIndex.length; i++)
{
approvedRecords[approvedRecordsIndex[i]] = true;
}
}

/**
* @dev Returns the list of approved records
* @return An array of approved record names
*/
function getApprovedRecords() public view returns (string[] memory) {
return approvedRecordsIndex;
}

/**
* @dev Adds an approved record to the user's favorites
* @param _albumName The name of the album to be added
*/
function addRecord(string memory _albumName) public {
if (!approvedRecords[_albumName]) {
revert NotApproved({albumName: _albumName});
}
if (!userFavorites[msg.sender][_albumName]) {
userFavorites[msg.sender][_albumName] = true;
userFavoritesIndex[msg.sender].push(_albumName);
}
}

/**
* @dev Returns the list of a user's favorite records
* @param _address The address of the user
* @return An array of user's favorite record names
*/
function getUserFavorites(address _address) public view returns (string[] memory) {
return userFavoritesIndex[_address];
}

/**
* @dev Resets the caller's list of favorite records
*/
function resetUserFavorites() public {
for (uint i = 0; i < userFavoritesIndex[msg.sender].length; i++) {
delete userFavorites[msg.sender][userFavoritesIndex[msg.sender][i]];
}
delete userFavoritesIndex[msg.sender];
}
}


Двигаем дальше, славяне 🗿
Please open Telegram to view this post
VIEW IN TELEGRAM
5🐳10🔥5👍3
🗿 GS Alpha: ValdeMURRR.eth - что дальше?

Я толком то и ни разу не делал праздничный пост с отметкой перехода порога в какое-то количество подписчиков. Этот пост тоже не будет таким, я скорее хотел бы посоветоваться и получить фидбек от каждого, кто читает этот пост, так как мне это очень важно.

Когда я решил активно вести канал, в марте 2024, у меня было ровно 50 подписчиков, и то это была старая аудитория, набранная еще в далеком 2022-м. Худо, бедно органически рост шел, я пробовал светиться в чатах, начал участвовать в папках и недавно купил свою первую рекламу.

Покупая папки и участвуя в них, я столкнулся с тем что это преимущественно не та аудитория, которую я хотел бы, так как при моем кол-ве подписчиков и охватах моя участь - участие в папке с помойками в виде тапалок, сигналов, трейдинга или просто рерайт канала. Я буквально узник долбоебских каналов, капитализация аудитории которых, дай Бог, переваливает за 1000$. Мне бы не хотелось такой аудитории, пусть меньше, но качественнее. Ибо эта аудитория подписывается, заходит на канал, не видит тут супер-мега нереально гемного тестнета, где он сможет словить ченжлайф с затратами 10 минут времени и трех копеек, отобранных у бомжа под падиком, за выполнение социалок и одного рефа - это тело уходит, оставаясь мертвым грузом в канале. Мне честно охота рыгать, когда меня просят запостить пост, который начинается так: "ЭТИ ПАРНИ ЗАРАБОТАЛИ 100500$ ЗА ПРОШЛУЮ НЕДЕЛЮ" и т.п., а в папке каналы, админы долбоебы которых постят хуйню про тапалки, сигналы и прочее, так еще и рерайт с другого такого же убогого канала просто более крупного.

И тут случается дилема, люди стадные существа и гораздо охотнее подписываются на канал где больше подписчиков, чем на маленький канал. Исходя из этого, нужно участвовать в папках, но этот рост меня огорчает, потому что эти трехзубые крестьяне, которые пришли ко мне из тапательного канала - здесь не задержатся, им не нужен такой контент, как у меня.

Изначально, при перезапуске канала, я хотел удовлетворить в первую очередь свой запрос на контент. Ибо нет канала в CIS сегменте Телеграма, который бы в полной мере удовлетворял мой запрос - поэтому я решил создать тот самый канал. Ведь если у меня есть такой неудовлетворенный запрос, значит у кого-то он тоже есть и это и будет моя аудитория.

Я рассматривал вариант ведения своего тик-тока, но мой контент не для тиктока. Там сидит такой же отсталый плебс, как и в сигнальных каналах. Им не нужны замороченные гайды, они хотят нажимать кнопку бабло и дюпать бабки. А если тикток стрельнет, то канал наводнят нищие бомжи, и самая ненавистная мне категория людей - те, которые не хотят самостоятельно в чем-то разобраться. По итогу мой канал скатится в пучину говна, с средним индексом платежеспособности на уровне индуского мальчика, а комментарии наводнят вопросы: "Что такое метамаск?" и "Как добавить сеть?".

Изначально я не планировал делать канал коммерческим, но если я хочу качественную аудиторию, то нужно ее покупать в тех каналах, где она водится. Таких каналов не так много на просторах CIS TG и узнавая за рекламу, я нарвался на неподъемные цены: 800$/пост. Приход будет вероятнее всего довольно скромным, и цена за подписчика будет доходить до 5-7$, что крайне дорого. Сейчас рынок не тот, чтобы я мог вынимать на постоянной основе по 800$ из кармана. Небольших каналов, где я мог бы взять рекламу по подходящей для себе цене, с нужной мне аудиторией можно пересчитать по пальцам.
Please open Telegram to view this post
VIEW IN TELEGRAM
8🐳5🔥2
🗿Резюмируя
Я решил пойти от обратного и таким образом прийти к какой-то здравой середине

• Однозначно скипать 90% папок с помойными каналами
Папки на самом деле не такой плохой способ продвижения, объясню почему я так считаю. Например я добавляю к себе все папки, которые вижу и сразу же их просеиваю, с большой долей вероятности я сразу же отпишусь от большинства каналов или кину в папку Trash, где им самое место, но порой получается найти неплохие каналы. К сожалею большинство людей идут по пути меньшего сопротивления, им впадлу расширять свое инфополе и они просто не подписываются, либо бездумно подписываются и даже не заходят на канал. Но я уверен, что есть такие дотошные как я, которые пересматриваю все каналы, и мой канал такому человек зайдет.

• Продавать рекламу на канале
Я вступил в рекламное DAO и вероятнее всего буду продавать рекламу, но не всю подряд, а выборочно - это исключает рекламу щитков, пирамид и пр., за что платят больше всего и что принесет мне угрызения совести. Каждый оффер с рекламой буду рассматривать индивидуально и скрупулёзно, чтобы потом мне не было стыдно за эту публикацию. Все полученные деньги пройдут мимо моего кармана, в него не упадет ни цента, зато таким образом я смогу сформировать небольшой капитал для закупа рекламы в крупных, интересных мне каналах.

Пока что это просто мысли, возможно правда стоит дождаться оживления на рынке и дать каналу рости органически? Не знаю, поэтому хотелось бы увидеть фидбек и почитать ваши мысли.

Всем work, славяне 🗿
Please open Telegram to view this post
VIEW IN TELEGRAM
19🔥8🕊4
🥶 Ультимативный гайд на Base - part 7

🗣️ Structs - 6

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.17;

/**
* @noscript GarageManager
* @dev Contract to manage a garage of cars for each user
*/
contract GarageManager {
mapping(address => Car[]) private garages;

struct Car {
string make;
string model;
string color;
uint numberOfDoors;
}

error BadCarIndex(uint256 index);

/**
* @dev Adds a new car to the caller's garage
* @param _make The make of the car
* @param _model The model of the car
* @param _color The color of the car
* @param _numberOfDoors The number of doors of the car
*/
function addCar(string memory _make, string memory _model, string memory _color, uint _numberOfDoors) external {
garages[msg.sender].push(Car(_make, _model, _color, _numberOfDoors));
}

/**
* @dev Retrieves the caller's array of cars
* @return An array of `Car` structs
*/
function getMyCars() external view returns (Car[] memory) {
return garages[msg.sender];
}

/**
* @dev Retrieves a specific user's array of cars
* @param _user The address of the user
* @return An array of `Car` structs
*/
function getUserCars(address _user) external view returns (Car[] memory) {
return garages[_user];
}

/**
* @dev Updates a specific car in the caller's garage
* @param _index The index of the car in the garage array
* @param _make The new make of the car
* @param _model The new model of the car
* @param _color The new color of the car
* @param _numberOfDoors The new number of doors of the car
*/
function updateCar(uint256 _index, string memory _make, string memory _model, string memory _color, uint _numberOfDoors) external {
if (_index >= garages[msg.sender].length) {
revert BadCarIndex({index: _index});
}
garages[msg.sender][_index] = Car(_make, _model, _color, _numberOfDoors);
}

/**
* @dev Deletes all cars in the caller's garage
*/
function resetMyGarage() external {
delete garages[msg.sender];
}
}
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍7🐳5🔥2
🥶 Ультимативный гайд на Base - part 8

🗣️ Inheritance - 7

Здесь у нас начинает танец с бубном, поэтому для этого задания отдельная инструкция:

• Создаете файл .sol
• Копируете контракт и вставляете в созданный файл
• В разделе Contract выбираете Salesperson и деплоите
• Вновь в разделе Contract выбираете выбираете EngineeringManager и деплоите
• Теперь в разделе Contract выбираете InheritanceSubmission
• Копируете снизу ваши контракты Salesperson и EngineeringManager
• Вставляете в появившиеся поля (см. скриншоты в комментариях)
• Деплоите и готово

// SPDX-License-Identifier: MIT

pragma solidity 0.8.17;


abstract contract Employee
{
uint public idNumber;
uint public managerId;

constructor(uint _idNumber, uint _managerId)
{
idNumber = _idNumber;
managerId = _managerId;
}

function getAnnualCost() public virtual returns (uint);
}

contract Salaried is Employee
{
uint public annualSalary;

constructor(uint _idNumber, uint _managerId, uint _annualSalary)
Employee(_idNumber, _managerId)
{
annualSalary = _annualSalary;
}

function getAnnualCost() public override view returns (uint)
{
return annualSalary;
}
}

contract Hourly is Employee
{
uint public hourlyRate;

constructor(uint _idNumber, uint _managerId, uint _hourlyRate) Employee(_idNumber, _managerId)
{
hourlyRate = _hourlyRate;
}

function getAnnualCost() public override view returns (uint)
{
return hourlyRate * 2080;
}
}

contract Manager
{
uint[] public employeeIds;

function addReport(uint _reportId) public
{
employeeIds.push(_reportId);
}

function resetReports() public
{
delete employeeIds;
}
}

contract Salesperson is Hourly
{
constructor(uint _idNumber, uint _managerId, uint _hourlyRate)
Hourly(_idNumber, _managerId, _hourlyRate) {}
}


contract EngineeringManager is Salaried, Manager
{
constructor(uint _idNumber, uint _managerId, uint _annualSalary)
Salaried(_idNumber, _managerId, _annualSalary) {}
}

contract InheritanceSubmission {
address public salesPerson;
address public engineeringManager;

constructor(address _salesPerson, address _engineeringManager) {
salesPerson = _salesPerson;
engineeringManager = _engineeringManager;
}
}
Please open Telegram to view this post
VIEW IN TELEGRAM
7🐳93👍3
🥶 Ультимативный гайд на Base - part 9

🗣️ Imports - 8

Здесь нам нужно создать два контракта, для выполнения этого задания

Создаем файл с названием SillyStringUtils.sol, оно должно быть именно таким. Вставляем код:

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.17;

library SillyStringUtils {

struct Haiku {
string line1;
string line2;
string line3;
}

function shruggie(string memory _input) internal pure returns (string memory) {
return string.concat(_input, unicode" 🤷");
}
}


Теперь создаем второй файл с названием Imports.sol и вставляем код:

// SPDX-License-Identifier: MIT

import "./SillyStringUtils.sol";

pragma solidity 0.8.17;

contract ImportsExercise {
using SillyStringUtils for string;

SillyStringUtils.Haiku public haiku;

function saveHaiku(string memory _line1, string memory _line2, string memory _line3) public {
haiku.line1 = _line1;
haiku.line2 = _line2;
haiku.line3 = _line3;
}

function getHaiku() public view returns (SillyStringUtils.Haiku memory) {
return haiku;
}

function shruggieHaiku() public view returns (SillyStringUtils.Haiku memory) {
SillyStringUtils.Haiku memory newHaiku = haiku;
newHaiku.line3 = newHaiku.line3.shruggie();
return newHaiku;
}
}


Все готово, можно деплоить
Please open Telegram to view this post
VIEW IN TELEGRAM
8🐳13🔥4🦄2
🥰 Ethena: Season 2

В целом подбиваем итог по Pendle

Сегодня был завершен второй сезон фарма дропа от Ethena. Капитализация USDe выросла до трех миллиардов и бла-бла-бла... Не интересно, давайте перейдем к сути.

• 5% от саплая пойдет на дроп за Sats во втором сезоне
• Проверить свою аллокацию можно будет 9 сентября здесь
• Клейм 30 сентября
• Сразу стартует 3-й сезон (я планирую скипать)

💵 Высчитаем сколько шейкелей нам полагается

Общий саплай ENA 15B, а на дроп выделено 5%, что составляет 750М $ENA. За второй сезон нафармлено 11.64T Sats, получается что количество приходящихся токенов $ENA на 1 Sats составляет 0,0000644. Теперь умножаете ваше кол-во Sats на 0,0000644 и получаете кол-во токенов, которые вы получите.

У меня 112.680.000 Sats, следовательно получу я 7256.5 $ENA

⚠️ Важный подъеб - не проебите ваш дроп

Любой пользователь, который уменьшит свой баланс USDe в своем кошельке до распределения токенов ниже своего среднего баланса за 30 дней по состоянию на момент снимка 1 сентября, получит пропорциональное сокращение распределения токенов (на процент нехватки) и перераспределение среди других пользователей в заблокированных пулах ENA или sENA (представленных ниже).


Тоже самое относится и к YT Pendle, снимки проходили в период с 1-го августа по 1-е сентября, 1 YT = 1 USDe. Я все выспросил в тикете саппорта:

• Как мне узнать сколько USDe необходимо холдить?
- В скором времени, в интерфейсе, вы получите точную цифру

• Как мне нужно холдить USDe: просто на кошельке или нужно лочить в пуле?
- Оба варианта будут засчитаны

Проще говоря, скоро, вероятнее всего до 9-го сентября у нас где-то на сайте Ethena появится цифра USDe, которую нам необходимо холдить для получения дропа. Максимально пидорский и гнусный мув со стороны фаундеров, но имеем что имеем

😲 Мой Pendle Dashboard
Фармил я через YT: Ethena, Zircuit, EtherFI, EigenLayer и совсем чуть чуть Karak

Затраты составили: -5350$, накинем комиссии и округлим до -5400$

Что по профиту?

🥰 7256.5 $ENA [по тек. котировке 0.2389$ это 1733.65$]
🤒 10264 $ZRC [по тек. предполагаемой котировке 0.14$ это 1436.96$]
💀 210 $ETHFI [по тек. котировке 1.33$ это 279$]
😽 110 $EIGEN [по тек. котировке премаркета 3.96$ это 435.6$]

Поинты
Я больше ничего целенаправленно не фармил, но какой-то минимальный дроп получу

🤒 Zircuit S2: 4263 поинтов
💀 EtherFI S3: 11 млн. поинтов
😽 EigenLayer: 11000 поинтов
🤖 Karak: 55000 XP

Очень грубо говоря там Zircuit накинет, когда-то там, 1000-1500 $ZRC, EtherFI надеюсь 100 $ETHFI навалит, от Karak'a вообще ничего не жду и только EigenLayer может быть как-то порадует.

По факту, на момент сейчас, общий доход составляет чуть меньше 3900$. Итоговый P&L -1500$. Разумеется можно понадеяться на восстановление рынка альтов, хотя бы до июльских значений и тогда эта история на бумаге будет пахнуть БУ, но на деле залоченые/сожженные деньги на довольно долгий промежуток времени, который не работали там, где они могли принести потенциальную прибыль все равно сводит к тому, что ситуация не радужная. В чем ошибка? В том что я нафантазировал себе то, что на дроп на второй сезон Ethena пойдет 10% токенов без подтверждений этого, и ожидал сумму $ENA ровно в два раза больше, тогда бы даже по нынешним ужасным котировкам история была бы на момент сейчас уже безубыточной и оставалось дело за принятием решения: Продажа и закрытие в БУ либо Холд и попытка закрыть в профит.

Разумеется Zircuit, EtherFI и Karak накинут какую-то копейку. Возьмем условно пусть это будет 200$ в сумме. Тогда P&L составит -1300$, но я жду что порадует мастодонт - EigenLayer и как-то спасет ситуацию. В общем, даже по текущим котировкам, при текущей ситуации допускаю выход в номинальный БУ, а также не игнорирую тот факт, что я все таки жду роста альткоинов.

Такие пироги, славяне 🗿
Please open Telegram to view this post
VIEW IN TELEGRAM
5🐳82🦄2
🥶 Ультимативный гайд на Base - part 10

🗣️ Errors - 9

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.17;

contract ErrorTriageExercise {
/**
* Finds the difference between each uint with it's neighbor (a to b, b to c, etc.)
* and returns a uint array with the absolute integer difference of each pairing.
*/
function diffWithNeighbor(
uint _a,
uint _b,
uint _c,
uint _d
) public pure returns (uint[] memory) {
uint[] memory results = new uint[](3);

results[0] = _a > _b ? _a - _b : _b - _a;
results[1] = _b > _c ? _b - _c : _c - _b;
results[2] = _c > _d ? _c - _d : _d - _c;

return results;
}

/**
* Changes the _base by the value of _modifier. Base is always >= 1000. Modifiers can be
* between positive and negative 100;
*/
function applyModifier(
uint _base,
int _modifier
) public pure returns (uint returnValue) {
if(_modifier > 0) {
return _base + uint(_modifier);
}
return _base - uint(-_modifier);
}

/**
* Pop the last element from the supplied array, and return the popped
* value (unlike the built-in function)
*/
uint[] arr;

function popWithReturn() public returns (uint returnNum) {
if(arr.length > 0) {
uint result = arr[arr.length - 1];
arr.pop();
return result;
}
}

// The utility functions below are working as expected
function addToArr(uint _num) public {
arr.push(_num);
}

function getArr() public view returns (uint[] memory) {
return arr;
}

function resetArr() public {
delete arr;
}
}


Заманал меня этот Base Learn, хочется уже перейти к экосистеме
Please open Telegram to view this post
VIEW IN TELEGRAM
5🐳5🔥3
🥶 Ультимативный гайд на Base - part 11

🗣️ The "new" keyword - 10

Здесь мы проведем несколько манипуляций

В обоих контрактах заменить value на любое число, которое вам по душе
string private salt = "value" -> string private salt = "777"

Сначала мы создаем файл с названием AddressBook.sol

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.8;

import "@openzeppelin/contracts/access/Ownable.sol";

contract AddressBook is Ownable(msg.sender) {
string private salt = "value";
struct Contact {
uint id;
string firstName;
string lastName;
uint[] phoneNumbers;
}

Contact[] private contacts;
mapping(uint => uint) private idToIndex;
uint private nextId = 1;

error ContactNotFound(uint id);

function addContact(string calldata firstName, string calldata lastName, uint[] calldata phoneNumbers) external onlyOwner {
contacts.push(Contact(nextId, firstName, lastName, phoneNumbers));
idToIndex[nextId] = contacts.length - 1;
nextId++;
}

function deleteContact(uint id) external onlyOwner {
uint index = idToIndex[id];
if (index >= contacts.length || contacts[index].id != id) revert ContactNotFound(id);

contacts[index] = contacts[contacts.length - 1];
idToIndex[contacts[index].id] = index;
contacts.pop();
delete idToIndex[id];
}

function getContact(uint id) external view returns (Contact memory) {
uint index = idToIndex[id];
if (index >= contacts.length || contacts[index].id != id) revert ContactNotFound(id);
return contacts[index];
}

function getAllContacts() external view returns (Contact[] memory) {
return contacts;
}
}


Теперь деплоим этот контракт и создаем новый файл, тут уже название произвольное

Второй контракт:

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.8;

import "./AddressBook.sol";

contract AddressBookFactory {
string private salt = "value";
function deploy() external returns (AddressBook) {
AddressBook newAddressBook = new AddressBook();
newAddressBook.transferOwnership(msg.sender);
return newAddressBook;
}
}


И уже этот контракт мы деплоим, копируем адрес и вставляем в чекер
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍6🔥3
Пиздец, конченные
Требуют 10к холдить, просто чтобы забрать свои 1.7к. Пидорасы, тип менять требования на похуй - это натуральное мошенничество

upd. У меня есть одна теория, которая может сработать, где не нужно депать 10.000
🔥5🗿3
🗿 GS Alpha Update

Отныне появится новая рубрика на канале, часто бывает такое, что какая-то короткая новость появляется и из нее ты и пост не слепишь, а тем не менее она важна. Будет выходить пост-дайджест, со сводкой апдейтов по проектам

🥰 Я был главным фанбоем Ethena, но как говорится от любви до ненависти один шаг. Конченые, ввели дополнительные условия-требования, при чем крайне радикальные от выполнения которых отказаться - значит отказаться от заслуженного дропа. Требование следующее холдить USDe на балансе, точная сумма для каждого уникальная - можете увидеть ее здесь, в разделе Portfolio. Изначально требования были для всех: тех, кто вносил ликвидность напрямую и тех, кто сжигал токены YT через Pendle. Выкатили анонс, что для YT бернеров это требование упраздняется. Обновится сумма необходимая к удержанию на следующий день (сейчас та сумма которая отображается - не актуальна). Сумма будет равна средней сумме внесенных активов за период 01.08-01.09. Насколько я понимаю, меня в саппорте игнорят, поэтому это лишь теория, но я почти уверен что она работает. 1 YT = 1 USDe, т.е. если у вас требуют например 10.000 USDe - вы можете купить позицию на Pendle и оно выйдет значительно дешевле. В пуле USDe, который до 24 октября, за 150$ вы купите как раз около 10.000 YT и тем самым перекроете требование для дропа от этих ебанатов.

🌿Grass выкатили чекер

🥶 Вышла новая активность на Base через Galxe. Подробный разбор будет сегодня.

😽 EigenLayer анонсировали детали дропа за второй сезон. Все, кто стейкал напрямую или через LRT протоколы в период с 15 марта по 15 августа - получат дроп. Чекера пока что нет, клейм вероятнее всего будет 17 сентября. Если вы стейкали напряму, то клейм пройдет здесь, а если через сторонние LRT (EtherFI, Renzл и т.д.) то клейм будет на этих площадках. Также дроп получат экосистемные партнеры, Твиттер инфлы, Гитхаб девы - подробнее можете прочитать сами.

😀 MagicEden раздали ретроспективно кристаллы для Polygon юзеров. Пост в Твиттере

Как вам новая рубрика, славяне? 🗿
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🙏1🐳1