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

⭐️ Чат: t.me/GSAlpha_chat

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

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

⭐️ Менеджер: @S0ni_k
Download Telegram
🥶 Ультимативный гайд на 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
🙂 Owlto - стоит сделать?

Сейчас ивент идет, через 8 часов кончается. Можно залутать легкие бонусные поинты, но лично я скипнул первую фазу и там у меня по нулям. Полностью пробриджить весь ивент стоит чуть больше 100$.

Делаете славяне? Что скажете?

Upd. Ага, не стоит это делать. Они перезапустили ивент и тупо моют поинты.
Please open Telegram to view this post
VIEW IN TELEGRAM
7
🥶 Ультимативный гайд на Base - part 12

🗣️ Minimal Tokens

Замените value на любое число, которое вам по душе
string private salt = "value"

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

contract UnburnableToken {
string private salt = "value";
mapping(address => uint256) public balances;
uint256 public totalSupply;
uint256 public totalClaimed;
mapping(address => bool) private claimed;

// Custom errors
error TokensClaimed();
error AllTokensClaimed();
error UnsafeTransfer(address _to);

constructor() {
totalSupply = 100000000; // Set the total supply of tokens
}

// Public function to claim tokens
function claim() public {
if (totalClaimed >= totalSupply) revert AllTokensClaimed(); // Check if all tokens have been claimed
if (claimed[msg.sender]) revert TokensClaimed(); // Check if the caller has already claimed tokens

// Update balances and claimed status
balances[msg.sender] += 1000;
totalClaimed += 1000;
claimed[msg.sender] = true;
}

// Public function for safe token transfer
function safeTransfer(address _to, uint256 _amount) public {
// Check for unsafe transfer conditions, including if the target address has a non-zero ether balance
if (_to == address(0) || _to.balance == 0) revert UnsafeTransfer(_to);

// Ensure the sender has enough balance to transfer
require(balances[msg.sender] >= _amount, "Insufficient balance");

// Perform the transfer
balances[msg.sender] -= _amount;
balances[_to] += _amount;
}
}


Контракты занимают много места, поэтому не получается к сожалению уместить 2 контракта в один пост
Please open Telegram to view this post
VIEW IN TELEGRAM
5🔥6🐳4
🥶 Ультимативный гайд на Base - part 13

🗣️ ERC-20 Tokens

Замените value на любое число, которое вам по душе
string private salt = "value"

// SPDX-License-Identifier: UNLICENSED

pragma solidity ^0.8.17;

import "@openzeppelin/contracts/token/ERC20/ERC20.sol";
import "@openzeppelin/contracts/utils/structs/EnumerableSet.sol";

contract WeightedVoting is ERC20 {
string private salt = "value";
using EnumerableSet for EnumerableSet.AddressSet;

error TokensClaimed();
error AllTokensClaimed();
error NoTokensHeld();
error QuorumTooHigh();
error AlreadyVoted();
error VotingClosed();

struct Issue {
EnumerableSet.AddressSet voters;
string issueDesc;
uint256 quorum;
uint256 totalVotes;
uint256 votesFor;
uint256 votesAgainst;
uint256 votesAbstain;
bool passed;
bool closed;
}
struct SerializedIssue {
address[] voters;
string issueDesc;
uint256 quorum;
uint256 totalVotes;
uint256 votesFor;
uint256 votesAgainst;
uint256 votesAbstain;
bool passed;
bool closed;
}

enum Vote {
AGAINST,
FOR,
ABSTAIN
}
Issue[] internal issues;
mapping(address => bool) public tokensClaimed;
uint256 public maxSupply = 1000000;
uint256 public claimAmount = 100;
string saltt = "any";

constructor(string memory _name, string memory _symbol)
ERC20(_name, _symbol)
{
issues.push();
}


function claim() public {
if (totalSupply() + claimAmount > maxSupply) {
revert AllTokensClaimed();
}
if (tokensClaimed[msg.sender]) {
revert TokensClaimed();
}
_mint(msg.sender, claimAmount);
tokensClaimed[msg.sender] = true;
}


function createIssue(string calldata _issueDesc, uint256 _quorum)
external
returns (uint256)
{
if (balanceOf(msg.sender) == 0) {
revert NoTokensHeld();
}
if (_quorum > totalSupply()) {
revert QuorumTooHigh();
}
Issue storage _issue = issues.push();
_issue.issueDesc = _issueDesc;
_issue.quorum = _quorum;
return issues.length - 1;
}


function getIssue(uint256 _issueId)
external
view
returns (SerializedIssue memory)
{
Issue storage _issue = issues[_issueId];
return
SerializedIssue({
voters: _issue.voters.values(),
issueDesc: _issue.issueDesc,
quorum: _issue.quorum,
totalVotes: _issue.totalVotes,
votesFor: _issue.votesFor,
votesAgainst: _issue.votesAgainst,
votesAbstain: _issue.votesAbstain,
passed: _issue.passed,
closed: _issue.closed
});
}


function vote(uint256 _issueId, Vote _vote) public {
Issue storage _issue = issues[_issueId];

if (_issue.closed) {
revert VotingClosed();
}
if (_issue.voters.contains(msg.sender)) {
revert AlreadyVoted();
}

uint256 nTokens = balanceOf(msg.sender);
if (nTokens == 0) {
revert NoTokensHeld();
}

if (_vote == Vote.AGAINST) {
_issue.votesAgainst += nTokens;
} else if (_vote == Vote.FOR) {
_issue.votesFor += nTokens;
} else {
_issue.votesAbstain += nTokens;
}

_issue.voters.add(msg.sender);
_issue.totalVotes += nTokens;

if (_issue.totalVotes >= _issue.quorum) {
_issue.closed = true;
if (_issue.votesFor > _issue.votesAgainst) {
_issue.passed = true;
}
}
}
}
Please open Telegram to view this post
VIEW IN TELEGRAM
5🔥6🐳32
🥶 Ультимативный гайд на Base - part 14

🗣️ ERC-721 Tokens

Замените value на любое число, которое вам по душе
string private salt = "value"

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

import "https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/token/ERC721/ERC721.sol";

interface ISubmission {
struct Haiku {
address author;
string line1;
string line2;
string line3;
}

function mintHaiku(
string memory _line1,
string memory _line2,
string memory _line3
) external;

// function ownerOf(uint256 _id) external view returns (address);

function counter() external view returns (uint256);

function shareHaiku(uint256 _id, address _to) external;

function getMySharedHaikus() external view returns (Haiku[] memory);
}

contract HaikuNFT is ERC721, ISubmission {
Haiku[] public haikus;
mapping(address => mapping(uint256 => bool)) public sharedHaikus;
uint256 public haikuCounter;

constructor() ERC721("HaikuNFT", "HAIKU") {
haikuCounter = 1;
}

string salt = "value";

function counter() external view override returns (uint256) {
return haikuCounter;
}

function mintHaiku(
string memory _line1,
string memory _line2,
string memory _line3
) external override {
// Check if the haiku is unique
string[3] memory haikusStrings = [_line1, _line2, _line3];
for (uint256 li = 0; li < haikusStrings.length; li++) {
string memory newLine = haikusStrings[li];
// string memory newHaikuString = string(
// abi.encodePacked(haikusStrings[li])
// );
for (uint256 i = 0; i < haikus.length; i++) {
Haiku memory existingHaiku = haikus[i];
string[3] memory existingHaikuStrings = [
existingHaiku.line1,
existingHaiku.line2,
existingHaiku.line3
];

for (uint256 eHsi = 0; eHsi < 3; eHsi++) {
string memory existingHaikuString = existingHaikuStrings[
eHsi
];
if (
keccak256(abi.encodePacked(existingHaikuString)) ==
keccak256(abi.encodePacked(newLine))
) {
revert HaikuNotUnique();
}
}
}
}

// Mint the haiku NFT
_safeMint(msg.sender, haikuCounter);
haikus.push(Haiku(msg.sender, _line1, _line2, _line3));
haikuCounter++;
}

function shareHaiku(uint256 _id, address _to) external override {
require(_id > 0 && _id <= haikuCounter, "Invalid haiku ID");

Haiku memory haikuToShare = haikus[_id - 1];
require(haikuToShare.author == msg.sender, "NotYourHaiku");

sharedHaikus[_to][_id] = true;
}

function getMySharedHaikus()
external
view
override
returns (Haiku[] memory)
{
uint256 sharedHaikuCount;
for (uint256 i = 0; i < haikus.length; i++) {
if (sharedHaikus[msg.sender][i + 1]) {
sharedHaikuCount++;
}
}

Haiku[] memory result = new Haiku[](sharedHaikuCount);
uint256 currentIndex;
for (uint256 i = 0; i < haikus.length; i++) {
if (sharedHaikus[msg.sender][i + 1]) {
result[currentIndex] = haikus[i];
currentIndex++;
}
}

if (sharedHaikuCount == 0) {
revert NoHaikusShared();
}

return result;
}

error HaikuNotUnique();
error NotYourHaiku();
error NoHaikusShared();
}


Вот и все, теперь у нас есть полный комплект из 13-ти бейджей за 🗣️ Base Learn. У фаундеров Base плотная эрекция на девелоперов, так что уверен - это было не зря.
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍7❤‍🔥4🔥3
🥶 Ультимативный гайд на Base - part 15

Я надеялся, что уже на этом моменте мы перейдем к экосистеме Base, но как бы ни так

💎 OnchainScore - многие уверены в том, что это спойлер условий для получения дропа. Я же в свою очередь не хочу гадать на кофейной гуще, просто поддерживаю Onchain Score выше 90, а Builder Score выше 60.

Исходя из перечисленных требований можно сделать следующие выводы:
• Активность должна быть как в сети Base, так и в Ethereum
• Акцент они ставят на кол-во дней и стрик дней, что и не мудрено, ведь за такой долгий промежуток времени набить больше кол-во недель и месяцев активности - не сложно. Количество активных дней, хоть как-то выделяет тру беливеров.
• Не вижу к сожалению требований по кол-ву транзакций, а скорее идет упор на качество транз и взаимодействие с ликвидностью внутри сети: бриджи, свапы и лендинговые протоколы.
• Ну и очевидно, ведь у Base эрекция на девелоперов, - есть графа с количество деплойнутых смарт контрактов. Учитываются контракты как в Mainnet, так и в Testnet. Можно деплоить через Owlto или Merkly, но это гораздо дороже, чем если делать это самому через Remix, а контракты можно использовать те, которые мы юзали для Base Learn.

👑 Новая активность - Base Bonanza

- Минтим NFT и заполняем форму
- Переходим на Galxe и выполняем простые квесты
- Теперь переходим на страницу активности на Galxe и выполняем каждую копанию Base Bonanza

🗣️ Create a Doodles Avatar

- Переходите сюда, подключаете кош и создаете аватар (минтить ничего не нужно). Если покупали боксы Adiddas x Doodles, то у вас вероятнее всего будут какие то шмотки - можете их применить.

🗣️ BSX Joining the Base Takeover

- Подписаться на BSX в Twitter
- Переходим на BSX1000
- Подключаем кошелек и пополняем баланс на 11 USDC. Это лудилка, с огромными плечами, занижаете плечо до минимального - х100 и открываете позицию на 10 USDC. Очень важно ее продержать более 30 секунд и можете закрывать. Ставите ваши USDC на вывод, fee 1$.
- Вступаете в General chat в Телеге
- Вступаете в Discord и верифаетесь

🗣️ Midnight Diner Fall Pass

- Заминтить эту NFT

🗣️ Follow and subscribe to claim your Hypersub x Galxe Genesis NFT!

- На Galxe подписываете на HyperSub
- Подписываетесь на них в Твиттере
- Оплачиваете подписку за 0.002ETH

🗣️ WOOFi Base Takeover NFT

- Переходите на DEX и совершаете свап
- Подписаться на их Твиттер
- Подписаться на еще один Твиттер

🗣️ Mint: "Public Parks and DAOs" by the Mint Podcast

- Заминтить эту NFT
- Посетить страницу

🗣️ Mint the episode "Why AI & Crypto Go Together and Why You Should Care" on Pods

- Подписаться на Твиттер
- Заминтить NFT

🗣️ Base Bonanza x Moshicam

- Подписаться на Твиттер
- Заминтить NFT

🗣️ MINT A LIMITED EDITION: The Neverending Chase by Fordenad
❗️ Минт прайс 0.015 ETH, лично я скипнул

- Заминтить NFT
- Подписаться на Twitter

🗣️ Mister Miggles X Galxe

- Подписаться на Твиттер
- Посетить сайт
- Холдить 1000 $MIGGLES [CA: 0xB1a03EdA10342529bBF8EB700a06C60441fEf25d]
Свапнуть можно на Uniswap

🗣️ Base Bonanza - Explore Morpho and earn rewards!

- Подписаться на Твиттер
- Подписаться на них на Galxe
- Внести коллатеральный депозит на 20 USDC
- Взять займ в эквиваленте 20$ в пуле weETH/WETH. Депозитим weETH и берем borrow WETH

🗣️ $35,000 Prize Pool Base Trading Frenzy on Orbiter

- Подписаться на Твиттер
- Вступить в Дискорд
- Забриджить ETH из любой сети в Base
- Посетить страницу ивента

🗣️ Bringing Permissionless Perps to Base - SynFutures

- Twitter подписка
- Вступить в Дискорд
- Подписаться на Телегу
- Переходите на SynFutures и открываете фьюч
- Не закрываете, пока не засчитает задание

🗣️ Base DCA Pioneer Quest

- Подписаться на Твиттер
- Ретвитнуть пост
- Перейти на страницу
- Разместить DCA ордер

Скорее всего добавят новых заданий, но мы наконец-то можем перейти к экосистеме Base 🥶
Please open Telegram to view this post
VIEW IN TELEGRAM
58🔥3🐳2
🙂 Owlto - бесплатные он-чейн свапы

Сейчас Owlto не взымает комсу, поэтому можно фришно набить он-чейн вольюм в 🥶 Base.
Посты по экосистеме Base soon
Please open Telegram to view this post
VIEW IN TELEGRAM
👀 Время поджимает, надо поднапрячься

♦️ В марте я полностью скипнул мету с Битком и пожалел об этом. Base подождет, торопиться некуда, тем более самые главные части гайда уже вышли.

В скором времени закроется 🫣 Fractal Testnet и запустится Mainnet, надо успеть проявить активности в проекте на этой стадии, разумеется затронем фарм поинтов 😐 Unisat.

Успейте проявить активности, не дожидаясь основного гайда:
- Скачиваете Unisat
- Переходите в кран Fractal и клеймите токены.
Гайд soon, скорее всего выйдет днем

Также последняя возможность нафармить LXP в 🤐 Linea до 16 сентября.
Этот гайд подойдет не для всех, а лишь для тех, кто ранее взаимодействовал с Linea и имеет активные дни/недели/месяца. Гайд вам поможет довести отработку Linea до ума.

😋 Hyperlane хрен знает когда анонсировал токен, нужно срочно выпускать гайд

После 20 сентября вернемся к экосистеме 🥶 Base и ультимативным гайдами 😇Monad и 😢 Farcaster, а там еще, как минимум, три проекта которые хочу взять в отработку и выпустить по ним посты.

Пиздец, дайте 30 часов в сутках

P.S. если есть те, кто классно шарит в Биткоин экосистеме - напишите в личку, буду признателен за небольшую консультацию

🫣 Update

Сейчас активно тыкаюсь в Fractal Testnet, конец через ‼️45 минут. Минчу разные инскрибции, депозичу их в PizzaSwap и в целом тыкаю все подряд, чтобы успеть проявить активность в Тестнете. Нахуя оно надо? Не знаю, но главное правило в крипте, да и в жизни. Если выбор стоит между тем, чтобы сделать или не сделать, то надо делать. А там разберемся.
Please open Telegram to view this post
VIEW IN TELEGRAM
5🔥11🐳3👍2
🗿 GS Alpha Update

😅 Jupiter - новое голосование

🥰 Ethena - перенесли чекер на след. понедельник

😱 Scroll PUMP - аналог пампфана на Scroll раздает дроп $PUMP за холд Origins NFT

🥶 $ENERGY на Base - чекнуть свой кош тут

😊 Fantasy - запустили фри турнир Tactics

Сегодня должен был выйти гайд на Bitcoin экосистему, но не сложилось. Много головняка навалилось, в любом случае буду стараться выпустить оба гайда: Bitcoin и Linea до 16-го числа. Если не буду успевать, то гайды будут выходить паралельно.
Please open Telegram to view this post
VIEW IN TELEGRAM
5🐳7🔥52
🗿 GS Alpha Update

🤯 DeBank. Добавили новые бейджи, рекомендую заклеймить как минимум те, которые автоматически выполнены.

🥶 Base. Запустили минт NFT в честь окончания Base Summer. Лично я продолжаю минтить NFT на странице активности Base Onchain Summer

😑 Superform. Закончился 4-й турнир Safari, начался 5-й, можно клеймить NFT

❣️ Arbitrum. Анонсировал первый минт NFT на базе Stylus, максимум 5 на кошелек
Please open Telegram to view this post
VIEW IN TELEGRAM
10🐳6🔥2
😂 Что выгоднее: просто держать ликвидность или фармить комиссии?

Meteora начисляет очки двумя путями:
— за TVL: 1 доллар = 1 point в день
— за комиссии: 1 доллар fees = 1000 points

А теперь вопрос: что выгоднее? Держать ликвидность… или реально участвовать в торговле?

📉 Простой пример

Ты положил $1000 в пул и просто стоишь в “мертвом” диапазоне без свапов.
Итог — 1000 points в день.

Но если ты сгенерировал всего $1 комиссии за день — это уже 1000 points.
А сгенерируешь $10 — получишь столько же, как за 10 дней “простоя”.

📊 Стратегия

Цель — выбирать активные пулы, а не просто “безопасные”.
Даже с меньшей суммой в правильном диапазоне ты заработаешь в 5-10 раз больше, чем с большой суммой, которая не участвует в торговле.

💡 Подсказка

Используй @meteora_pools_selector_bot или ручной анализ на edge.meteora.ag
Фильтруй пулы по volume, base fee, bin step и fees за последние 24ч.

📌 Итог

Метеора награждает не пассивных, а умных.
Ты можешь:
A) просто держать $1000 и ждать
B) поработать 30 минут, найти пул с хорошей активностью и сделать $5 комиссии — и заработать те же поинты.

Выбор очевиден. 🗿
Please open Telegram to view this post
VIEW IN TELEGRAM
🐳6
🤐 Ультимативный гайд на Linea - part 1

Добрался я наконец-то до своего самого нелюбимого проекта из всей четверки Scroll, Base и Zora. Кстати посмотреть ультимативные гайды на каждый из этих проектов, вы можете нажав на гиперссылку. Почему нелюбимого? Потому что бесконечные, утомительные компании, которые не структурированы нормально и непонятны для человека, который хочет легко и просто взаимодействовать с проектом.

‼️Дисклеймер
Если в случае Base, Scroll и Zora еще не поздно взаимодействовать с проектом, то в случае с Linea многие активности уже недоступны. Поэтому этот гайд для тех, кто раннее выполнял активности от Linea и хочет догреть свой аккаунт, чтобы гарантированно претендовать на дроп.

Мои принципы по отработке такого рода проектов остаются неизменными - один строг аккаунт, который железно получит дроп.

🛡PoH верификация

Сейчас верификацию уже пройти нельзя, а лишь удостовериться что вы ее прошли. 8-го сентября был дедлайн, для успешного прохождения верификации необходимо было пройти одну верификацию из группы А, и две верификации из группы В.

⭐️Early Adopter

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

🖥 Linea ENS

Переходите на сайт и создаете себе доменное имя, тут все сделано по аналогии с Base

💬 Linea Mirror

Это что-то вроде личного Медиума проекта, можно почитать статьи и поминтить их. На сколько это целесообразно? Я не знаю, но заминчу.

🔗 Также у Linea есть Guild, можете зайти и отметиться там, но получить роли для их Дискорда можно принимая участие в их ивентах, которые также анонсируются в Дискорде, в зачастую суть инвента заключатся в том, чтобы играть в какую-то конченую игру. Лично я скипаю, мне хватает Гильдии Бейза.
Please open Telegram to view this post
VIEW IN TELEGRAM
10🔥5👍3🐳2
🗿 GS Alpha Update

💎 Забираем памятную NFT от Guild

👻 Mitosis анонсировали программу голосований Mitosis Initiation Vote. Владельцы miweETH, miweETHs, miuniETH, miezETH получают возможность голосований за продвижение протоколов на Mitosis. Голосовать тут.

😽 Появился чекер EigenLayer, но только для тех, кто стейкал через официальную платформу. Также, если вдруг вы элиджибл через Twitter/Discord перейдите сюда и верифицируйте свои соц. сети.

💀 3-й сезон EtherFI закончится 14-го сентября, До 15-го сентября вы можете проголосовать за сеть, в которой будете клеймить токены. Если вы не проголосуете, то автоматически будет выбран Ethereum. Лично я проголосовал за ETH сеть.

🥶 На Galxe добавили новые квесты Base Bonanza. Они легкие, можете сделать, либо я их упомяну в следующих частях гайда.

🙂 У Zora появилось мобильное приложение

✌️ AlphaBot раздали ретроспективно поинты, которые скорее всего потом конвертируются в токен. Переходите сюда и клеймите.
Please open Telegram to view this post
VIEW IN TELEGRAM
4🔥4🐳2
👏 Whitelist чекер от Cambria

➡️ Проверить свой кошелек

Supply, etc. info coming soon.

Сюда лут, кайф имеется
Please open Telegram to view this post
VIEW IN TELEGRAM
5🐳6🔥3
Пока я пишу вторую часть гайда по Linea и накидываю черновик по экосистеме BTC - дам затравочку на пост, который ни разу не анонсировался 👀😅
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8