• XSS.stack #1 – первый литературный журнал от юзеров форума

Статья [#3] Скам крипты для начинающих и не только [Игра по крупному / NFT-Проект]

WebCrypt

Веб-разработчик
КИДАЛА
Регистрация
20.12.2021
Сообщения
115
Реакции
111
Гарант сделки
4
Пожалуйста, обратите внимание, что пользователь заблокирован
И так, снова всех приветствую.
Долго я думал над тем, что бы мне написать в третьей статье, пришлось даже отложить всю работу и поездить потаксовать для размышления:D
И вот оно, только я подъезжаю к дому, абсолютно ни с чем в голове, закуриваю сигарету и приходит в голову одна история, которая будет очень занимательной и увлекательной.
В этой теме мы получим новые знания, разберем реальную историю, задействуем СИ, ну и куда же без капельки программирования:)


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

А куда двигаться дальше?

Конечно же запускать проекты большого масштаба, пора играть по крупному.
И сейчас мы разберем создание Скам НФТ-Проекта.
Профиты: До шести, а то и семи-значных сумм в $.
Конечно же в идеале для этого иметь команду как минимум в 2-3 человека, которые будут шарить и понимать, что делать.

Цель проекта:
Раскрутиться, собрать как можно большую аудиторию, и в идеальном случае - коллаб с какой-либо другой НФТ-коллекцией, у которых в планах нету заскамить своих последователей/реселлеров/холдеров:)
После чего запустить продажи, но а после - закрыться.

Затраты:
-Бюджет - чем больше, тем лучше.
-Ресурсы для повышенного доверия: в идеале иметь аккаунты твиттер с галочкой потвержденного профиля и опенси с галлочкой(Способы получить расскажу)

Грамотная стратегия развития
Какой бы у вас не был красивый и внушающий доверие проект - он ничто без грамотного подхода к набору ажиотажа.
Также обязательно нужно продумывать все события наперед.
В общем, это не просто залил на гугл адс и жди профита:) Но и суммы могут стать намного интереснее, если все получится так, как вы пожелаете.

Легенда
У большинства популярных NFT-Коллекций есть своя дорожная карта, есть своя история, а также она обязательно чем-то подкреплена.
Держатель обязательно должен получить что-то, покупая вашу НФТ.
Поэтому нужна легенда, где вы обещаете золотые горы/привилегии и т.п.

Команда
В команде обязательно нужны: художник / тот кто будет продвигать продукт и общаться с людьми / тот кто поставит всё наше дело в рабочее состояние. Если вы тот человек, что 3 в 1, то это прекрасно! Но будет трудно)


Вот мы уже немного разобрались и начали понимать, к чему ведет разговор.
Хорошо, создаем нфт коллекцию>раскручиваем>продаем>сливаемся.
Давайте теперь разберем на примере и более подробно: что к чему и почему.


Сегодня мы запускаем будущую топ-1 NFT-Коллекцию XSS-Metaverse.

Для начала нам нужна легенда, что будет представлять из себя эта коллекция и составленная дорожная карта(Roadmap/Цели проекта).

Анонс! На свет выходит NFT-Проект, обещающий дать будущее криптомиру!

XSS-Metaverse — это NFT Коллекция, направленная на создание масштабного сообщества последователей нашего проекта. Мы создадим плотное сотрудничество с коллекциями, которые имеют хороший и надежный статус в сообществе NFT.
У каждой NFT из коллекции XSS-Metaverse есть своя ДНК, которая будет складывается из его характеристик.
Наш художник подготовил более 300 характеристик для создания самых уникальных персонажей.
Ангелы будут расположены в сети Ethereum и будут написаны, используя контракт ERC721 с оптимизацией стоимости газа. Маркетинг коллекций NFT с каждым днем становится все сложнее, и наша команда придумала совершенно новый подход к созданию мощного комьюнити.

Наша дорожная карта:

1. Создание сообщества
Создание масштабного сообщества, которое поддерживает наши интересы и развивается вместе с нами и помогает нам развиваться.

2. Партнерство
Создание партнерских отношений с большими коллекциями, которые разделяют наши интересы.
Укрепление нашего сообщества.

3. Старт продаж
Старт продаж коллекции NFT.
Все NFT будут раскрыты, и вы сможете поделиться своими NFT в социальных сетях.

4. Подарки
Раздача подарков среди владельцев NFT.

5. Инвестирование
Инвестирование вырученных средств в развитие. Начало работы над продуктом.

6. Стартовый токен
Выпуск токена ERC20 $XSS. Каждый из первых владельцев NFT попадает в список аирдропов. На ваших кошельках появятся токены, которые вы сможете обменять на uniswap и других обменниках, где мы создадим пул ликвидности.

7. XSS метавселенная
Токены должны где-то использоваться. Поэтому мы создаем XSS метавселенную, где владельцы NFT могут фармить токены. Вырученных средств хватит на выпуск качественного и крутого продукта.

Конечно же легенда должна закрепиться красивым и качественным сайтом.
Создаём сайт для представления и демонстрации наших планов.


После того, как мы запустили сайт с нашей легендой, можно приступать к старту раскрутки комьюнити.
Большая часть аудитории НФТ мира сидит на твиттере, поэтому начнём с твиттера.
Для самой лучшей эффективности нам нужно приобрести твиттер аккаунт с галочкой
Способы получить:
Купить/Украсть/Верифнуть


-Купить такой аккаунт возможно на тематических форумах/шопах, если есть в наличии, но чаще всего их быстро скупают.
-Украсть можно как заслав стиллер, так и с помощью фишинга.
-Верифнуть самому будет довольно трудно, нам нужно будет найти значимую персону/организацию, которой нету на твиттере и потвердить, что вы представитель. Находим > отрисовываем документы > верифицируем.

Далее после того, как мы получили такой аккаунт - меняем оформление под свой проект.
Наполняем контентом, проводим различные евенты, заказываем накрутку фоловеров, лайков, ретвитов и комментариев по вашему тексту(ОБЯЗАТЕЛЬНО!), отмечаем в комментариях с других аккаунтов НФТ-холдеров(которых нам необходимо собрать в списочек/спарсить)
И вот у нас аккаунт твиттера имеющий потверждение с якобы существующим коммьюнити! Главное - держать всегда на плыву, чтобы актив был постоянный. Не забываем отвечать в личных сообщениях!
Далее спокойно верифаем опенси аккаунт с помощью полученных ресурсов)

После пройденного процесса нам необходимо отрисовать и сгенерировать саму NFT-Коллекцию


Отрисовка:
Разберем на примере. Заходим в топовую коллекцию CryptoPanks(тык)
И обратим внимание на картинки, все они имеют разную атрибутики, цвет кожи, прически, бороды, волосы, шапки.
Все это рисуется отдельно для генерации большого колличества NFT рандомным образом.
Нам нужно создать отдельные папки с отдельными рисунок. Расширение по высоте и ширине, местоположение отрисовок обязательно учитывается.
После того, как отрисовали - продолжаем.
Генерация:
Для работы нам потребуется установленные на компьютере:
Visual Studio Code
Node.js
Соурс скрипт (клик)
Также в линке на соурс код снизу будет прописан мануал по использованию)
Полностью рассказывать уж не стану что к чему, если вы дошли до этого, то думаю у вас есть возможности разобраться с предоставленными ресурсами)

После того как мы подготовили скрипт - нужно его запустить, прописываем в терминале Visual Studio Code:
node index.js
И у нас стартует генерация картинок:)
Далее сгенерированные картинки(саму папку) загружаем на Pinata(клик) для получения метаданных.
Получаем метаданные, копируем их и идём обратно в наш скрипт,в config.js
И в строчке const BaseUrl вставляем и вписываем в терминал и пишем update info.js
Переходим обратно в пинату и загружаем туда теперь не картинки, а json файлы(всю папку) и оставляем пока как есть, работаем дальше

Смарт контракт ERC721

Код:
import "@openzeppelin/contracts/token/ERC721/ERC721.sol";
import "@openzeppelin/contracts/utils/Counters.sol";
import "@openzeppelin/contracts/access/Ownable.sol";

contract SimpleNftLowerGas is ERC721, Ownable {
  using Strings for uint256;
  using Counters for Counters.Counter;

  Counters.Counter private supply;

  string public uriPrefix = "";
  string public uriSuffix = ".json";
  string public hiddenMetadataUri;
 
  uint256 public cost = 0.01 ether;
  uint256 public maxSupply = 10000;
  uint256 public maxMintAmountPerTx = 5;

  bool public paused = true;
  bool public revealed = false;

  constructor() ERC721("NAME", "SYMBOL") {
    setHiddenMetadataUri("ipfs://__CID__/hidden.json");
  }

  modifier mintCompliance(uint256 _mintAmount) {
    require(_mintAmount > 0 && _mintAmount <= maxMintAmountPerTx, "Invalid mint amount!");
    require(supply.current() + _mintAmount <= maxSupply, "Max supply exceeded!");
    _;
  }

  function totalSupply() public view returns (uint256) {
    return supply.current();
  }

  function mint(uint256 _mintAmount) public payable mintCompliance(_mintAmount) {
    require(!paused, "The contract is paused!");
    require(msg.value >= cost * _mintAmount, "Insufficient funds!");

    _mintLoop(msg.sender, _mintAmount);
  }
 
  function mintForAddress(uint256 _mintAmount, address _receiver) public mintCompliance(_mintAmount) onlyOwner {
    _mintLoop(_receiver, _mintAmount);
  }

  function walletOfOwner(address _owner)
    public
    view
    returns (uint256[] memory)
  {
    uint256 ownerTokenCount = balanceOf(_owner);
    uint256[] memory ownedTokenIds = new uint256[](ownerTokenCount);
    uint256 currentTokenId = 1;
    uint256 ownedTokenIndex = 0;

    while (ownedTokenIndex < ownerTokenCount && currentTokenId <= maxSupply) {
      address currentTokenOwner = ownerOf(currentTokenId);

      if (currentTokenOwner == _owner) {
        ownedTokenIds[ownedTokenIndex] = currentTokenId;

        ownedTokenIndex++;
      }

      currentTokenId++;
    }

    return ownedTokenIds;
  }

  function tokenURI(uint256 _tokenId)
    public
    view
    virtual
    override
    returns (string memory)
  {
    require(
      _exists(_tokenId),
      "ERC721Metadata: URI query for nonexistent token"
    );

    if (revealed == false) {
      return hiddenMetadataUri;
    }

    string memory currentBaseURI = _baseURI();
    return bytes(currentBaseURI).length > 0
        ? string(abi.encodePacked(currentBaseURI, _tokenId.toString(), uriSuffix))
        : "";
  }

  function setRevealed(bool _state) public onlyOwner {
    revealed = _state;
  }

  function setCost(uint256 _cost) public onlyOwner {
    cost = _cost;
  }

  function setMaxMintAmountPerTx(uint256 _maxMintAmountPerTx) public onlyOwner {
    maxMintAmountPerTx = _maxMintAmountPerTx;
  }

  function setHiddenMetadataUri(string memory _hiddenMetadataUri) public onlyOwner {
    hiddenMetadataUri = _hiddenMetadataUri;
  }

  function setUriPrefix(string memory _uriPrefix) public onlyOwner {
    uriPrefix = _uriPrefix;
  }

  function setUriSuffix(string memory _uriSuffix) public onlyOwner {
    uriSuffix = _uriSuffix;
  }

  function setPaused(bool _state) public onlyOwner {
    paused = _state;
  }

  function withdraw() public onlyOwner {
  

    (bool os, ) = payable(owner()).call{value: address(this).balance}("");
    require(os);
  
  }

  function _mintLoop(address _receiver, uint256 _mintAmount) internal {
    for (uint256 i = 0; i < _mintAmount; i++) {
      supply.increment();
      _safeMint(_receiver, supply.current());
    }
  }

  function _baseURI() internal view virtual override returns (string memory) {
    return uriPrefix;
  }
}

Берём данный смарт контракт и тащим его в Remix(клик)
В папке Contracts создаем файл Name.sol (*name - на ваше название)
И вставляем наш контракт в этот файл.
Далее переходим в Plugin Manager и находим там плагин Flattener, после чего устанавливаем его.
Снимок.PNG


После переходим в компилятор и компилируем наш солидити код.
После компиляции возвращаемся во Flattener и верифицируем наш контракт
После верификации сохраняем)
Переходим обратно в наш смарт контракт и находим там строчку:
Код:
constructor() ERC721
Вписываем имя нашей коллекции и краткое название
MaxSupply - максимальное колличество ваших NFT
cost - Цена за 1 НФТ
MaxMinAmountPerTX - Колличество возможных покупок за 1 транзакцию
Public Paused - Если хотите выбрать определенное время запуска минта, то пишем True, если нет то False

После настроек снова компилируем смарт контракт
Переходим в Деплой смарт контракта, внизу выбираем наш контракт, сверху выбираем Injected Web3 и жмём Deploy, платим комиссию за деплой.(Важный момент! С какого кошелька вы развернули контракт - он становится овнером)
Дожидаемся транзакции и после чего переходим на Etherscan в свой кошелек и видим, что развернулся смарт контракт
Переходим к нему и верифицируем его на том же Etherscan.
После успешно пройденной верификации мы возвращаемся к контракту(на том же Etherscan) и переходим в работу с функциями(Вкладка Contract > Write Contract)
Во второй вкладке возвращаемся в пинату и копируем значение Json файлов и вставляем в 13 строку редакции контракта(setUriPrefix) после написанного нами ipfs://
И жмём кнопочку write

На этом создание нашей коллекции заканчивается, но это не всё и пора приступать к созданию сайта для минта))
С минтом сделаю как и с генерацией, не знаю зачем обьяснять то, что есть в общем доступе

Вот соурс код с манаулом(клик)




Как бы, вот основа для создания фейк нфт-коллекции, а как развивать ход событий - все в ваших руках. Как я и говорил ранее, вы можете попробовать добиться коллаба с какой-либо НФТ коллекцией, что даст вам большой рывок вперед. Можете открыть дискорд-канал, телеграм группу, закупать рекламу на разных маркетплейсах и чем больше вы себя зарекомендуете - тем больше профита:)
Конкретно в чём участвовал - сказать не могу, но скажу так, эти ребятки, кому я все разрабатывал - сделали сотни тысяч $.

Удачи в начинаниях!
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Линк на первую статью(тык)
Линк на вторую статью(тык)
 
Последнее редактирование:
Пожалуйста, обратите внимание, что пользователь заблокирован
Линк на первую статью(тык)
Линк на вторую статью(тык)

линк на первую поменяй на эту https://xss.pro/threads/69315/#post-470380
 
Пожалуйста, обратите внимание, что пользователь заблокирован
линк на первую поменяй на эту https://xss.pro/threads/69315/#post-470380
Cпасибо)
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Таксование - это отдельный вид медитации для обдумывания проектов. Люблю, умею, практикую 😄

Круто.
Да, точно))
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх