<?xml version="1.0" encoding="utf-8" ?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:tt="http://teletype.in/" xmlns:opensearch="http://a9.com/-/spec/opensearch/1.1/"><title>⃣Итачи (шиза)</title><author><name>⃣Итачи (шиза)</name></author><id>https://teletype.in/atom/itachi_neuchixa</id><link rel="self" type="application/atom+xml" href="https://teletype.in/atom/itachi_neuchixa?offset=0"></link><link rel="alternate" type="text/html" href="https://teletype.in/@itachi_neuchixa?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=itachi_neuchixa"></link><link rel="next" type="application/rss+xml" href="https://teletype.in/atom/itachi_neuchixa?offset=10"></link><link rel="search" type="application/opensearchdescription+xml" title="Teletype" href="https://teletype.in/opensearch.xml"></link><updated>2026-04-09T09:02:35.537Z</updated><entry><id>itachi_neuchixa:AXN76ceH0Xu</id><link rel="alternate" type="text/html" href="https://teletype.in/@itachi_neuchixa/AXN76ceH0Xu?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=itachi_neuchixa"></link><title>💥 Linera Testnet Babbage Is Live — Here’s Why You Should Pay Attention</title><published>2025-04-21T13:29:16.573Z</published><updated>2025-04-21T13:29:16.573Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img3.teletype.in/files/21/8b/218ba73f-a865-4797-b998-45536d490aeb.png"></media:thumbnail><summary type="html">&lt;img src=&quot;https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F033a23d4-893a-4d67-b1f6-16988d9d28e7_700x362.jpeg&quot;&gt;Recently, we shared some insights about Linera’s Galxe campaign — a Layer 1 blockchain aiming to bring Web2 scalability into the Web3 world, all while maintaining full control over performance, security, and decentralization.</summary><content type="html">
  &lt;p id=&quot;FopM&quot;&gt;Recently, we shared some insights about Linera’s Galxe campaign — a Layer 1 blockchain aiming to bring Web2 scalability into the Web3 world, all while maintaining full control over performance, security, and decentralization.&lt;/p&gt;
  &lt;p id=&quot;jHt4&quot;&gt;Today, we’re revisiting Linera with some exciting updates you don’t want to miss.&lt;/p&gt;
  &lt;p id=&quot;59cz&quot;&gt;Thanks for reading! Subscribe for free to receive new posts and support my work.&lt;/p&gt;
  &lt;figure id=&quot;Z0wf&quot; class=&quot;m_custom&quot;&gt;
    &lt;img src=&quot;https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F033a23d4-893a-4d67-b1f6-16988d9d28e7_700x362.jpeg&quot; width=&quot;700&quot; /&gt;
  &lt;/figure&gt;
  &lt;h1 id=&quot;8O4I&quot;&gt;&lt;strong&gt;🚀 Linera Raises $12M from Top-Tier Funds&lt;/strong&gt;&lt;/h1&gt;
  &lt;p id=&quot;dPsQ&quot;&gt;Linera is gaining serious momentum. The project has successfully raised &lt;strong&gt;$12 million&lt;/strong&gt; from leading venture capital firms such as:&lt;/p&gt;
  &lt;ul id=&quot;AAwG&quot;&gt;
    &lt;li id=&quot;euO9&quot;&gt;&lt;strong&gt;Andreessen Horowitz (a16z)&lt;/strong&gt;&lt;/li&gt;
    &lt;li id=&quot;eKDi&quot;&gt;&lt;strong&gt;Tribe Capital&lt;/strong&gt;&lt;/li&gt;
    &lt;li id=&quot;q3qL&quot;&gt;&lt;strong&gt;Borderless Capital&lt;/strong&gt;&lt;/li&gt;
    &lt;li id=&quot;Fe2s&quot;&gt;&lt;strong&gt;Flow Traders&lt;/strong&gt;&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p id=&quot;mAcp&quot;&gt;📊 You can find more details on their funding rounds &lt;a href=&quot;https://cryptorank.io/ico/linera#funding-rounds&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;
  &lt;h1 id=&quot;AE3g&quot;&gt;&lt;strong&gt;🧪 Introducing the Babbage Testnet&lt;/strong&gt;&lt;/h1&gt;
  &lt;p id=&quot;LAPF&quot;&gt;Linera has officially launched its &lt;strong&gt;Babbage testnet&lt;/strong&gt; — a major milestone in its roadmap. &lt;a href=&quot;https://x.com/linera_io/status/1912868732764135505&quot; target=&quot;_blank&quot;&gt;The announcement&lt;/a&gt; marks the beginning of a powerful new development environment designed to empower builders and accelerate protocol innovation.&lt;/p&gt;
  &lt;p id=&quot;o93N&quot;&gt;Babbage is the &lt;strong&gt;first of three testnets&lt;/strong&gt; planned before the official mainnet launch. So yes — you’re still early.&lt;/p&gt;
  &lt;h1 id=&quot;E3nW&quot;&gt;&lt;strong&gt;📝 How to Join the Testnet Campaign&lt;/strong&gt;&lt;/h1&gt;
  &lt;p id=&quot;Trzj&quot;&gt;Participating is quick, free, and beginner-friendly. Here’s what you need to do:&lt;/p&gt;
  &lt;ol id=&quot;GhFD&quot;&gt;
    &lt;li id=&quot;9tMf&quot;&gt;&lt;strong&gt;Sign up&lt;/strong&gt; at &lt;a href=&quot;https://drops.linera.io/invite?code=CTYMAAPJJA&amp;ext_id=5oqo4TUSG&quot; target=&quot;_blank&quot;&gt;Linera Drops&lt;/a&gt; using your Google account or email.&lt;/li&gt;
    &lt;li id=&quot;RlMy&quot;&gt;&lt;strong&gt;Go to your profile settings&lt;/strong&gt; and connect your social accounts — Twitter, Discord, TikTok, and others.&lt;/li&gt;
    &lt;li id=&quot;VMoM&quot;&gt;&lt;strong&gt;Complete the available social quests&lt;/strong&gt; to earn points.&lt;/li&gt;
    &lt;li id=&quot;IQuX&quot;&gt;As of now, &lt;strong&gt;there are less than 150,000 participants&lt;/strong&gt; — so your chances to stand out are still solid.&lt;/li&gt;
  &lt;/ol&gt;
  &lt;blockquote id=&quot;4KFu&quot;&gt;&lt;em&gt;💡 Already participated in the Galxe campaign? You’re highly encouraged to take part in this testnet too — it’s a perfect low-effort, high-upside opportunity.&lt;/em&gt;&lt;/blockquote&gt;
  &lt;h1 id=&quot;oACt&quot;&gt;&lt;strong&gt;⏳ Time Investment: ~5 Minutes&lt;/strong&gt;&lt;/h1&gt;
  &lt;p id=&quot;AapL&quot;&gt;No financial commitment. No deep tech knowledge needed. Just 5 minutes of effort to get involved with a promising early-stage Layer 1.&lt;/p&gt;
  &lt;p id=&quot;OJo5&quot;&gt;Subscribe to my resources to stay up to date with news and find alpha content before anyone else:&lt;br /&gt;&lt;a href=&quot;https://x.com/itachi_neuchixa&quot; target=&quot;_blank&quot;&gt;https://x.com/itachi_neuchixa&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;https://medium.com/@itachineuchixa&quot; target=&quot;_blank&quot;&gt;https://medium.com/@itachineuchixa&lt;/a&gt;&lt;/p&gt;
  &lt;p id=&quot;YUk2&quot;&gt;&lt;a href=&quot;https://medium.com/@itachi_neuchixa&quot; target=&quot;_blank&quot;&gt;https://teletype.in/@itachi_neuchixa&lt;/a&gt;&lt;/p&gt;
  &lt;p id=&quot;H5GR&quot;&gt;&lt;a href=&quot;https://mirror.xyz/0x93243cD2D8DB0Abae1cE1096B2739712232Df8f5&quot; target=&quot;_blank&quot;&gt;mirror.xyz/0x93243cD2D8DB0Abae1cE1096B2739712232Df8f5&lt;/a&gt;&lt;/p&gt;
  &lt;p id=&quot;GjAm&quot;&gt;&lt;a href=&quot;https://t.me/cryptoiducat&quot; target=&quot;_blank&quot;&gt;https://t.me/cryptoiducat&lt;/a&gt;&lt;/p&gt;
  &lt;p id=&quot;5bLU&quot;&gt;&lt;a href=&quot;https://t.me/cryptoiducaten&quot; target=&quot;_blank&quot;&gt;https://t.me/cryptoiducaten&lt;/a&gt;&lt;/p&gt;

</content></entry><entry><id>itachi_neuchixa:igh4KUWBO8i</id><link rel="alternate" type="text/html" href="https://teletype.in/@itachi_neuchixa/igh4KUWBO8i?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=itachi_neuchixa"></link><title>Exploring the Monad Testnet: A Step-by-Step Guide to Engaging with the Ecosystem</title><published>2025-04-16T20:05:11.716Z</published><updated>2025-04-16T20:05:20.521Z</updated><summary type="html">The Monad blockchain testnet offers a unique opportunity for enthusiasts to engage with a burgeoning ecosystem. This guide will walk you through the initial setup and highlight various decentralized applications (dApps) you can interact with to maximize your experience.</summary><content type="html">
  &lt;p id=&quot;Sf8M&quot;&gt;The Monad blockchain testnet offers a unique opportunity for enthusiasts to engage with a burgeoning ecosystem. This guide will walk you through the initial setup and highlight various decentralized applications (dApps) you can interact with to maximize your experience.&lt;/p&gt;
  &lt;h3 id=&quot;4DAb&quot;&gt;Getting Started&lt;/h3&gt;
  &lt;ol id=&quot;O20o&quot;&gt;
    &lt;li id=&quot;tOUc&quot;&gt;&lt;strong&gt;Acquire Sepolia ETH&lt;/strong&gt;: Obtain Sepolia ETH from &lt;a href=&quot;https://testnetbridge.com/sepolia&quot; target=&quot;_blank&quot;&gt;Testnet Bridge&lt;/a&gt;.&lt;/li&gt;
    &lt;li id=&quot;X67S&quot;&gt;&lt;strong&gt;Bridge to Monad&lt;/strong&gt;: Use &lt;a href=&quot;https://testnet.orbiter.finance/en?src_chain=11155111&amp;tgt_chain=10143&amp;src_token=ETH&quot; target=&quot;_blank&quot;&gt;Orbiter Finance&lt;/a&gt; to bridge your ETH to the Monad network.&lt;/li&gt;
    &lt;li id=&quot;C8DA&quot;&gt;&lt;strong&gt;Fund Your Wallet&lt;/strong&gt;: Add a small amount of gas (approximately $0.25) using &lt;a href=&quot;https://gas.zip&quot; target=&quot;_blank&quot;&gt;gas.zip&lt;/a&gt;.&lt;/li&gt;
    &lt;li id=&quot;oFz3&quot;&gt;&lt;strong&gt;Swap ETH for MON&lt;/strong&gt;: Exchange your ETH for MON tokens on platforms like &lt;a href=&quot;https://ambient.finance/&quot; target=&quot;_blank&quot;&gt;Ambient Finance&lt;/a&gt; or &lt;a href=&quot;https://www.clober.io/&quot; target=&quot;_blank&quot;&gt;Clober&lt;/a&gt;.&lt;/li&gt;
  &lt;/ol&gt;
  &lt;p id=&quot;RdXN&quot;&gt;&lt;em&gt;Note: On average, $3 can yield around 30 MON tokens, considering the current testnet rates.&lt;/em&gt;&lt;/p&gt;
  &lt;h3 id=&quot;1XVg&quot;&gt;Engaging with Monad dApps&lt;/h3&gt;
  &lt;p id=&quot;wlXK&quot;&gt;Once your wallet is set up, explore these dApps to immerse yourself in the Monad ecosystem:&lt;/p&gt;
  &lt;ul id=&quot;zwFK&quot;&gt;
    &lt;li id=&quot;BD8V&quot;&gt;&lt;strong&gt;Nad.Fun&lt;/strong&gt;: Create a shield, engage in trading, complete social tasks, and refer friends to climb the leaderboard. &lt;a href=&quot;https://testnet.nad.fun/rewards&quot; target=&quot;_blank&quot;&gt;Explore Nad.Fun&lt;/a&gt;&lt;/li&gt;
    &lt;li id=&quot;C0gq&quot;&gt;&lt;strong&gt;Monad.Talentum&lt;/strong&gt;: Mint POAPs from various ecosystem projects and earn diamonds. Daily tasks and social verifications offer additional points. &lt;a href=&quot;https://monad.talentum.id/tasks&quot; target=&quot;_blank&quot;&gt;Visit Monad.Talentum&lt;/a&gt;&lt;/li&gt;
    &lt;li id=&quot;2bZO&quot;&gt;&lt;strong&gt;Curvance&lt;/strong&gt;: Level up by participating in activities like faucet claims, lending, borrowing, and more. &lt;a href=&quot;https://monad.curvance.com/&quot; target=&quot;_blank&quot;&gt;Check out Curvance&lt;/a&gt;&lt;/li&gt;
    &lt;li id=&quot;na02&quot;&gt;&lt;strong&gt;Dusted&lt;/strong&gt;: Connect your Twitter account, send lassos, and earn points by tipping other users. &lt;a href=&quot;https://www.dusted.app/rewards&quot; target=&quot;_blank&quot;&gt;Join Dusted&lt;/a&gt;&lt;/li&gt;
    &lt;li id=&quot;LZ6q&quot;&gt;&lt;strong&gt;Kuru&lt;/strong&gt;: Create and break shields to collect character items of varying rarities. &lt;a href=&quot;https://www.kuru.io/launch/create&quot; target=&quot;_blank&quot;&gt;Start with Kuru&lt;/a&gt;&lt;/li&gt;
    &lt;li id=&quot;kNfy&quot;&gt;&lt;strong&gt;Rugrumble&lt;/strong&gt;: Build your deck and prepare for upcoming card battles. &lt;a href=&quot;https://www.rugrumble.xyz/home&quot; target=&quot;_blank&quot;&gt;Enter Rugrumble&lt;/a&gt;&lt;/li&gt;
    &lt;li id=&quot;lsx5&quot;&gt;&lt;strong&gt;Fuku (Kuro)&lt;/strong&gt;: Engage in a luck-based game by placing bets and spinning the wheel. &lt;a href=&quot;https://testnet.fukunad.xyz/kuro&quot; target=&quot;_blank&quot;&gt;Play Fuku&lt;/a&gt;&lt;/li&gt;
    &lt;li id=&quot;owz2&quot;&gt;&lt;strong&gt;Mozi&lt;/strong&gt;: Link your Telegram, claim faucet rewards, and stake tokens. &lt;a href=&quot;https://app.mozi.finance/wallet&quot; target=&quot;_blank&quot;&gt;Access Mozi&lt;/a&gt;&lt;/li&gt;
    &lt;li id=&quot;scOx&quot;&gt;&lt;strong&gt;Magic Eden&lt;/strong&gt;: Participate in free mints and explore NFT collections. &lt;a href=&quot;https://magiceden.io/ru/monad-testnet&quot; target=&quot;_blank&quot;&gt;Visit Magic Eden&lt;/a&gt;&lt;/li&gt;
  &lt;/ul&gt;
  &lt;h3 id=&quot;uugk&quot;&gt;Additional Platforms&lt;/h3&gt;
  &lt;p id=&quot;JHmk&quot;&gt;Enhance your experience with these platforms:&lt;/p&gt;
  &lt;ul id=&quot;Xevz&quot;&gt;
    &lt;li id=&quot;EYrM&quot;&gt;&lt;strong&gt;Swaps and Lending&lt;/strong&gt;: &lt;a href=&quot;https://0x.org/&quot; target=&quot;_blank&quot;&gt;0x&lt;/a&gt;, &lt;a href=&quot;https://pandaria.lfj.gg/monad-testnet&quot; target=&quot;_blank&quot;&gt;Pandaria&lt;/a&gt;, &lt;a href=&quot;https://octo.exchange/profile&quot; target=&quot;_blank&quot;&gt;Octo&lt;/a&gt;, &lt;a href=&quot;https://bebop.xyz/?network=monad&amp;sell=WMON&quot; target=&quot;_blank&quot;&gt;Bebop&lt;/a&gt;, &lt;a href=&quot;https://alpha.clober.io/point&quot; target=&quot;_blank&quot;&gt;Clober&lt;/a&gt;&lt;/li&gt;
    &lt;li id=&quot;E9Qs&quot;&gt;&lt;strong&gt;Staking and Points&lt;/strong&gt;: &lt;a href=&quot;https://monad.flap.sh/me&quot; target=&quot;_blank&quot;&gt;Flap&lt;/a&gt;, &lt;a href=&quot;https://www.magmastaking.xyz/points&quot; target=&quot;_blank&quot;&gt;Magma&lt;/a&gt;&lt;/li&gt;
    &lt;li id=&quot;u8k6&quot;&gt;&lt;strong&gt;Domain Services&lt;/strong&gt;: &lt;a href=&quot;https://nad.domains/&quot; target=&quot;_blank&quot;&gt;Nad.domains&lt;/a&gt;, &lt;a href=&quot;https://monad.alldomains.id/&quot; target=&quot;_blank&quot;&gt;Alldomains&lt;/a&gt;&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p id=&quot;JBIj&quot;&gt;Engaging with these dApps not only enriches your understanding of the Monad ecosystem but also positions you advantageously for potential future developments.&lt;/p&gt;
  &lt;p id=&quot;zPBz&quot;&gt;Subscribe to my resources to stay up to date with news and find alpha content before anyone else:&lt;br /&gt;&lt;a href=&quot;https://x.com/itachi_neuchixa&quot; target=&quot;_blank&quot;&gt;https://x.com/itachi_neuchixa&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;https://medium.com/@itachineuchixa&quot; target=&quot;_blank&quot;&gt;https://medium.com/@itachineuchixa&lt;/a&gt;&lt;/p&gt;
  &lt;p id=&quot;qqKF&quot;&gt;&lt;a href=&quot;https://teletype.in/@itachi_neuchixa&quot; target=&quot;_blank&quot;&gt;https://teletype.in/@itachi_neuchixa&lt;/a&gt;&lt;/p&gt;
  &lt;p id=&quot;j0uL&quot;&gt;&lt;a href=&quot;https://mirror.xyz/0x93243cD2D8DB0Abae1cE1096B2739712232Df8f5&quot; target=&quot;_blank&quot;&gt;mirror.xyz/0x93243cD2D8DB0Abae1cE1096B2739712232Df8f5&lt;/a&gt;&lt;/p&gt;
  &lt;p id=&quot;M4kh&quot;&gt;&lt;a href=&quot;https://t.me/cryptoiducat&quot; target=&quot;_blank&quot;&gt;https://t.me/cryptoiducat&lt;/a&gt;&lt;/p&gt;
  &lt;p id=&quot;fiwA&quot;&gt;&lt;a href=&quot;https://t.me/cryptoiducaten&quot; target=&quot;_blank&quot;&gt;https://t.me/cryptoiducaten&lt;/a&gt;&lt;/p&gt;

</content></entry><entry><id>itachi_neuchixa:tQ4y-WvSruB</id><link rel="alternate" type="text/html" href="https://teletype.in/@itachi_neuchixa/tQ4y-WvSruB?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=itachi_neuchixa"></link><title>Инструменты для работы с веб2 и веб3 - Tea</title><published>2022-11-04T19:33:14.105Z</published><updated>2022-11-04T19:33:14.105Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img3.teletype.in/files/67/11/67118a52-1106-4271-a8f5-2762fc129960.png"></media:thumbnail><summary type="html">&lt;img src=&quot;https://media.discordapp.net/attachments/969740705587150868/1037049706934698016/tea_173.png?width=656&amp;height=656&quot;&gt;Tea - это сеть инструментов, которая взаимосвязывает Web 2.0 и Web 3.0</summary><content type="html">
  &lt;figure id=&quot;mNOv&quot; class=&quot;m_custom&quot;&gt;
    &lt;img src=&quot;https://media.discordapp.net/attachments/969740705587150868/1037049706934698016/tea_173.png?width=656&amp;height=656&quot; width=&quot;656&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;RQTZ&quot;&gt;Tea - это сеть инструментов, которая взаимосвязывает Web 2.0 и Web 3.0&lt;/p&gt;
  &lt;p id=&quot;l2uR&quot;&gt;Tea специализируется на распределении возмездия на основе алгоритма, который устанавливает вклад любой записи в полезность системы и ее работоспособность.&lt;/p&gt;
  &lt;p id=&quot;OWZw&quot;&gt;Менеджер пакетов управляет устройствами и платформами, достаточными для того, чтобы создатель мог создать свой продукт.&lt;/p&gt;
  &lt;p id=&quot;qwI6&quot;&gt;Вся необходимая информация актуальна и доступна через диспетчера воздушного движения пакета, так что создатели могут оценить, могут ли они доверять пакету и его автору. Эта информация может основываться на репутации, репутации сообщества, предоставленных системах распределенной идентификации других поставщиках пакетов или механизмах стимулирования, которые могут зависеть от членов сети, которые подвергают риску национальную экономическую ценность.&lt;/p&gt;
  &lt;p id=&quot;S3XE&quot;&gt;Но как содружество участвует в замечательной жизни проекта? Я бы сказал, что самым прямым образом в белой книге указано, что будет 4 роли, и каждая, если захочет, может записать свой вклад.&lt;/p&gt;
  &lt;p id=&quot;5RTs&quot;&gt;Давайте проанализируем несколько, в конце концов, что это за роли:&lt;/p&gt;
  &lt;p id=&quot;sHBD&quot;&gt;Сопровождающие пакетов. Это показалось мне самой интересной вещью, которой следует уделить много внимания. Сопровождающим пакета может быть компоновщик, который поцарапал свой код, а также разработчики, которые разветвляли текущий пакет и предоставляли недавно изобретенный, некоторые из которых он сохранит в будущем. В целом это люди, которые вносят свой вклад в развитие всей экосистемы проекта.&lt;/p&gt;
  &lt;p id=&quot;56cp&quot;&gt;Юзеры пакетиков. Каждый человек, разработчик, кто угодно - распоряжается пакетами для своих собственных проектов.&lt;/p&gt;
  &lt;p id=&quot;DB8j&quot;&gt;Спонсоры пакета. Это венчурные организации или фонды, которые инвестируют в пакетики.&lt;/p&gt;
  &lt;p id=&quot;Vvki&quot;&gt;Дегустаторы чая. Разработчики, которые контролируют программы с точки зрения производительности и безопасности. Я понимаю, что эти валидаторы блокируют свои токены, как будто в POS-проектах, в которых они зарабатывают зарплату или штраф, есть бесконечно отличная мотивация для того, чтобы внимательно изучить, а не пытаться после номера и вознаграждения.&lt;/p&gt;

</content></entry><entry><id>itachi_neuchixa:dl1B3Kxk34N</id><link rel="alternate" type="text/html" href="https://teletype.in/@itachi_neuchixa/dl1B3Kxk34N?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=itachi_neuchixa"></link><title>Руководство для начинающих по созданию бота MEV: Создание арбитражного бота в основной сети Ethereum</title><published>2022-07-19T21:19:21.993Z</published><updated>2022-07-19T21:19:21.993Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img3.teletype.in/files/2f/6d/2f6dd1ae-efbc-4539-b937-9c6a38b7b7b5.png"></media:thumbnail><summary type="html">&lt;img src=&quot;https://img2.teletype.in/files/d9/65/d965905b-4c58-4238-9c64-845b6cd6c059.png&quot;&gt;Арбитраж - возможность получать прибыль от разницы цен между одним и тем же активом на разных платформах ( как один из видов).</summary><content type="html">
  &lt;figure id=&quot;DEgl&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/d9/65/d965905b-4c58-4238-9c64-845b6cd6c059.png&quot; width=&quot;1280&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;lNMB&quot;&gt;&lt;strong&gt;Арбитраж&lt;/strong&gt; - возможность получать прибыль от разницы цен между одним и тем же активом на разных платформах ( как один из видов).&lt;/p&gt;
  &lt;p id=&quot;q9Nb&quot;&gt;В MEV все немного сложнее. В блокчейнах транзакции передаются в mempool, который, по большей части, является общедоступным, для включения в следующий блок. Это означает, что трейдеры могут видеть незавершенные транзакции в mempool и знать, каковы будут последствия, как только они будут завершены.&lt;/p&gt;
  &lt;p id=&quot;aZDD&quot;&gt;Эта наглядность приводит к тому, что MEV арбитраж  работает несколько иначе, чем традиционный арбитраж, потому что не нужно ждать, пока транзакции будут запущены в цепочку, чтобы найти возможный спред. В результате для MEV арбитража требуется постоянная проверка mempool’а в режиме реального времени для анализа каждой транзакции по мере ее поступления.&lt;/p&gt;
  &lt;p id=&quot;o36u&quot;&gt;Как только вы обнаружите транзакцию, которая может вызвать возможность арбитража, когда она попадет в цепочку, вы можете отправить две свои транзакции, которые завершат возможность арбитража, непосредственно в mempool или в частный ретранслятор flashbots в виде пакета. Если все сделано правильно, это означает, что все 3 транзакции будут добыты в одном блоке. В результате, в тот момент, когда создается возможность арбитража, она также завершается следующими двумя вашими  транзакциями.&lt;/p&gt;
  &lt;p id=&quot;Sv9F&quot;&gt;Давайте разберем это на совершенно нереалистичном, но, надеюсь, наглядном примере.&lt;/p&gt;
  &lt;p id=&quot;EMmY&quot;&gt;&lt;br /&gt;Предположим, вы отслеживаете mempool и обнаруживаете транзакцию, которая повлияет на пул ликвидности в Uniswap V2 для токенов A и B. Поскольку вы знаете, что пулы ликвидности управляются уравнением &lt;a href=&quot;https://docs.uniswap.org/protocol/V2/concepts/protocol-overview/how-uniswap-works&quot; target=&quot;_blank&quot;&gt;x * y = k&lt;/a&gt; (в этом примере я игнорирую сборы), тогда вы знаете, когда видите, что кто-то отправляет обмен 2 токена A на как можно больше токена B, вы можете рассчитать (на основе резервов этих токенов в пуле ликвидности, которые в данном случае равны 10 и 10), что они получат взамен 1,7 токена B.&lt;/p&gt;
  &lt;p id=&quot;Fev4&quot;&gt;Ключевым моментом является то, что вы знаете, что эта транзакция повлияет на цену между токенами A и B на Uniswap V2, но не на другой DEX, такой как Sushiswap… по крайней мере, до тех пор, пока кто-нибудь не воспользуется возможностью арбитража. В тот момент, когда эта транзакция будет добыта, токен A будет дешевле на Uniswap, чем на Sushiswap, поэтому тот, кто может продать токен A на Sushiswap за токен B, а затем продать эти токены B на Uniswap за токен A, должен в конечном итоге получить больше токена A, чем они начали. &lt;/p&gt;
  &lt;p id=&quot;8M3E&quot;&gt;&lt;strong&gt;Поиск возможностей для арбитража&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;xOjo&quot;&gt;Проводя некоторые исследования различных возможностей в MEV, я наткнулся на готовый смарт-контракт в этом потрясающем &lt;a href=&quot;https://github.com/paco0x/amm-arbitrageur/blob/master/contracts/FlashBot.sol&quot; target=&quot;_blank&quot;&gt;репозитории github&lt;/a&gt;, который расскажет вам, как оптимально рассчитать правильную сумму, необходимую для арбитража между двумя DEXS Uniswap V2 — например, Uniswap V2 и Sushiswap.&lt;/p&gt;
  &lt;p id=&quot;dgNP&quot;&gt;Поскольку этот проект на самом деле не был посвящен глубокому погружению в solidity, это репо идеально подходило для проверки концепции. Ключевым моментом этого смарт—контракта является то, что вы можете предоставить ему два пула — один пул Uniswap и один пул Sushiswap - и сообщить, есть ли какая-либо прибыль от арбитража между двумя пулами. Однако расчет производится путем анализа запасов этих двух пулов в их текущем состоянии (т.е. последнее состояние блока).&lt;/p&gt;
  &lt;p id=&quot;hTjW&quot;&gt;Но что, если бы вы знали, как изменятся эти пулы до следующего блока? Тогда вы будете знать о возможностях арбитража до того, как они появятся в цепочке, и сможете отправить свою арбитражную транзакцию в правильном положении, чтобы воспользоваться этими возможностями. Теперь моя цель в этом проекте состояла в том, чтобы написать базовый скрипт, который модифицирует этот смарт-контракт для успешного обнаружения возможностей арбитража с использованием расчета изменения чистого баланса платформы &lt;a href=&quot;https://www.blocknative.com/simulation-platform&quot; target=&quot;_blank&quot;&gt;Blocknative Simulation.&lt;/a&gt;&lt;/p&gt;
  &lt;p id=&quot;p3Kx&quot;&gt;&lt;strong&gt;Написание базового арбитражного скрипта&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;rrOM&quot;&gt;Здесь учитывается влияние транзакции в mempool’е при расчете потенциальной прибыли с арбитража. Чтобы включить эту корректировку, я создал новую структуру под названием ‘Adjustments’ , в которой будет размещен пул, который необходимо скорректировать, направление, в котором его необходимо скорректировать, и количество корректировок для каждого токена в паре токенов. Затем вы заметите, что getProfit полагается на getOrderedReserves для расчета резервов каждого пула и правильного направления сделок. Поэтому я добавил некоторую логику в getOrderedReserves, которая будет принимать данные mempool обмена токенами на Uniswap или Sushiswap, а затем корректировать резервы токенов этой пары, чтобы при вызове getProfit он включал данные mempool, а не только последнее состояние цепочки.&lt;/p&gt;
  &lt;figure id=&quot;leHj&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://miro.medium.com/max/1400/0*7gdFCH3Os3tSl6Uu.png&quot; width=&quot;847&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;n2OK&quot;&gt;Теперь, когда я настроил смарт-контракт так, чтобы он мог включать данные mempool в реальном времени, я могу завершить свой сценарий, используя &lt;a href=&quot;https://www.blocknative.com/api&quot; target=&quot;_blank&quot;&gt;mempool API от Blocknative&lt;/a&gt; и &lt;a href=&quot;https://docs.flashbots.net/flashbots-auction/searchers/quick-start/&quot; target=&quot;_blank&quot;&gt;частную ретрансляцию flashbots&lt;/a&gt;.&lt;/p&gt;
  &lt;p id=&quot;MPGA&quot;&gt;Используя платформу моделирования, каждое моделирование выполняется изолированно от текущего состояния блока, что означает, что существует некоторая степень вероятности, связанная с полезными нагрузками ‘ожидающего моделирования’. Однако, если транзакция находится в верхней части блока, то это фактически означает, что она выполняется против текущего состояния блока, поскольку между текущим состоянием блока и этим состоянием не будет никаких транзакций. Лучший способ гарантировать, что он попадет в начало блока (или, по крайней мере, близко к нему), - это использовать частную ретрансляцию flashbots.&lt;/p&gt;
  &lt;p id=&quot;wP0T&quot;&gt;Для этого проекта я просмотрел ожидающие события моделирования на маршрутизаторах Uniswap V2 и Sushiswap, используя &lt;a href=&quot;https://www.blocknative.com/api&quot; target=&quot;_blank&quot;&gt;Javascript SDK &lt;/a&gt;от Blocknative. Ожидающие загрузки моделирования включают изменения чистого баланса по всем задействованным адресам (например, пул ликвидности), что позволяет мне сделать две вещи:&lt;/p&gt;
  &lt;p id=&quot;Wn1K&quot;&gt;1. Проверьте, существует ли эта пара на другой бирже.&lt;/p&gt;
  &lt;p id=&quot;prbZ&quot;&gt;&lt;br /&gt;2. Используйте изменения баланса в качестве входных данных в качестве &amp;quot;корректировок&amp;quot; в моей функции getProfit в моем смарт-контракте.&lt;/p&gt;
  &lt;p id=&quot;pFma&quot;&gt;&lt;br /&gt;Когда я получаю эти события, я перебираю список netBalanceChange в нашей полезной нагрузке &lt;a href=&quot;https://www.blocknative.com/simulation-platform&quot; target=&quot;_blank&quot;&gt;платформы моделирования&lt;/a&gt; и пропускаю, когда адрес равен фактическому маршрутизатору (потому что я ищу только адреса пула ликвидности) или если netBalanceChange[index].address не содержит 2 элементов (если у него есть только 1 элемент, то это не может быть пул, потому что пул будет иметь 2 или более резервов токенов с изменениями чистого баланса).&lt;/p&gt;
  &lt;figure id=&quot;cDCI&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://miro.medium.com/max/1400/0*U35FafOrjT6YSMWh.png&quot; width=&quot;789&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;e8EC&quot;&gt;Если один из адресов в поле netBalanceChange не является одним из адресов маршрутизатора и имеет 2 разных адреса токенов, которые имеют изменения чистого баланса, то это должен быть адрес пула. Теперь у меня есть адрес пула, задействованные адреса токенов и изменения чистого баланса каждого токена. Теперь я могу проверить, каков адрес пула ликвидности другого DEX, чтобы я мог указать его в своем смарт-контракте. Если у другого DEX нет пула ликвидности с той же парой токенов, то я не могу проводить арбитраж между ними, поэтому я двигаюсь дальше.&lt;/p&gt;
  &lt;figure id=&quot;CK6a&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://miro.medium.com/max/1400/0*nVPd9JjR0MiBwY0q.png&quot; width=&quot;729&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;u2zB&quot;&gt;Аналогично, если у другого DEX есть пул ликвидности с той же парой токенов, то я могу провести арбитраж между ними. Используя мой скрипт, это означает, что я обнаружил отложенный своп либо на Uniswap, либо на Sushiswap в mempool, и я обнаружил тот же пул ликвидности на другом DEX. Теперь у меня есть вся информация, необходимая для предоставления моего смарт-контракта, чтобы увидеть, есть ли возможность получения прибыли.&lt;/p&gt;
  &lt;p id=&quot;Oya2&quot;&gt;Результат, который я получаю от своего смарт-контракта, не включает газ, поэтому я делаю наивный расчет, чтобы узнать, какова будет общая стоимость газа (включая мои дополнительные оплаты  майнерам на ретрансляции flashbots). Я знал, что две мои транзакции обойдутся примерно в 240 тысяч долларов за газ, поэтому я жестко запрограммировал это для расчета чистой прибыли. Что касается моей цены на газ, я предполагал, что мне придется отказаться от 95% своей валовой прибыли, чтобы участвовать в частной эстафете. 95% были жестко запрограммированы и произвольны (есть возможности для улучшения!).&lt;/p&gt;
  &lt;p id=&quot;usVl&quot;&gt;Если чистый расчет больше 0, я успешно нашел возможность арбитража, где я получу 5% чистой прибыли и отдам майнеру 95%!&lt;/p&gt;
  &lt;figure id=&quot;Xdgb&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://miro.medium.com/max/1400/0*LV-96dOjhZ2ADEHu.png&quot; width=&quot;925&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;UJu4&quot;&gt;&lt;strong&gt;Создание flash-ботов для арбитража&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;x8uJ&quot;&gt;Затем мне нужно было создать свой пакет flashbots для отправки на ретранслятор. Поскольку обнаруженная транзакция mempool может быть транзакцией типа 0 или типа 2, у меня должны быть сценарии для обоих. Для получения дополнительной информации об использовании транзакций mempool в ваших пакетах вы можете обратиться к нашему предыдущему сообщению об использовании &lt;a href=&quot;https://www.blocknative.com/blog/flashbots&quot; target=&quot;_blank&quot;&gt;Block native с Flashbots&lt;/a&gt;.&lt;/p&gt;
  &lt;figure id=&quot;vw6c&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://miro.medium.com/max/1400/0*GjG3tyxC2xN0xlTv.png&quot; width=&quot;825&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;DZcW&quot;&gt;Я использовал свой модифицированный смарт-контракт для построения своей транзакции, которая включала бы либо две внутренние транзакции, либо два свопа между двумя DEX.&lt;/p&gt;
  &lt;figure id=&quot;CVmJ&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://miro.medium.com/max/1400/0*3rsIJu8Dc6jd3CdV.png&quot; width=&quot;753&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;dNqb&quot;&gt;Построив транзакцию, я затем создал пакет flashbots и смоделировал его, чтобы гарантировать, что транзакция не завершится неудачей по какой-либо причине. Я также создал окончательный расчет чистой прибыли, чтобы убедиться, что я все еще получаю прибыль. Если моя транзакция прошла симуляцию, и я все еще получал прибыль, то я отправлял ее на ретрансляцию flash bots для включения.&lt;/p&gt;
  &lt;figure id=&quot;6deE&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://miro.medium.com/max/1400/0*tQawo3822htxzdI0.png&quot; width=&quot;965&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;H83N&quot;&gt;&lt;strong&gt;Результаты&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;lQ8w&quot;&gt;Я запускал свой скрипт в течение нескольких дней, и он работал точно так, как задумано — он обнаруживал выгодные возможности с помощью &lt;a href=&quot;https://www.blocknative.com/api&quot; target=&quot;_blank&quot;&gt;mempool API Blocknative&lt;/a&gt; и отправлял их флешботам, чтобы побороться за включение майнером. Однако превзойти других ботов ему удавалось с трудом.&lt;/p&gt;
  &lt;p id=&quot;JVLO&quot;&gt;Главной причиной этого было то, что большинство смарт-контрактов других ботов были гораздо более экономичны по расходу газа, чем мо, что позволяло им платить майнеру больше за включение. Кроме того, использование flashswaps довольно неэффективно по сравнению с простым обменом токенами, которыми вы уже владеете. Существует целый ряд других оптимизаций газа, но это очень конкурентная, жесткая игра.&lt;/p&gt;
  &lt;p id=&quot;kVfd&quot;&gt;Другие области, которые я не оптимизировал:&lt;/p&gt;
  &lt;p id=&quot;ZpsQ&quot;&gt;1. Выбор правильного газа для отправки майнеру.&lt;br /&gt;2. Использование только двух дексов.&lt;br /&gt;3. Рассмотрение арбитража только между двумя токенами. Алгоритм поиска пути для многих пар может привести к увеличению потенциальной прибыли.&lt;br /&gt;4. Тестирование бота в других EVM сетях.&lt;/p&gt;

</content></entry><entry><id>itachi_neuchixa:gqvWywo6z9m</id><link rel="alternate" type="text/html" href="https://teletype.in/@itachi_neuchixa/gqvWywo6z9m?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=itachi_neuchixa"></link><title>Lazy minting</title><published>2022-07-07T21:21:10.532Z</published><updated>2022-07-08T21:42:51.679Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img1.teletype.in/files/44/9a/449a938d-1447-4172-beab-ed57fa9d98c5.png"></media:thumbnail><summary type="html">&lt;img src=&quot;https://github.com/cat-milk/Anime-Girls-Holding-Programming-Books/blob/master/Compilers/Tohru_Reading_Principles_of_Compiler_Design.png?raw=true&quot;&gt;Минт NFT в большинстве блокчейнов обычно требует трат на газ. Многим до сих пор снятся эфир минты с комсой по пару k$.</summary><content type="html">
  &lt;p id=&quot;9WzS&quot;&gt;Минт NFT в большинстве блокчейнов обычно требует трат на газ. Многим до сих пор снятся эфир минты с комсой по пару k$.&lt;/p&gt;
  &lt;p id=&quot;i7uA&quot;&gt;Однако используя несколько методов, можно платить газ за минт в момент первой продажи. Плата происходит только в тот момент, когда нфт присваивается юзером, создателю же платить не придется, просто из цены продажи вычитается часть для оплаты газа&lt;/p&gt;
  &lt;p id=&quot;NW0C&quot;&gt;Минт &amp;quot;точно в срок&amp;quot; в момент покупки называют &lt;strong&gt;lazy mint&lt;/strong&gt;, и данный метод был принят такими торговыми площадками, как OpenSea , чтобы снизить барьер для входа создателям NFT, позволяя создавать NFT без каких-либо предварительных затрат.(Многие уже создавали свои коллекции на ОС, не платив комиссии. Если вы этого не делали то попробуйте &lt;a href=&quot;https://opensea.io/asset/create&quot; target=&quot;_blank&quot;&gt;здесь&lt;/a&gt; )&lt;/p&gt;
  &lt;p id=&quot;63QC&quot;&gt;В этой статье будет показан пример  на Ethereum с использованием некоторых вспомогательных библиотек и базовых контрактов от &lt;a href=&quot;https://openzeppelin.com/contracts/&quot; target=&quot;_blank&quot;&gt;OpenZeppelin&lt;/a&gt; . &lt;/p&gt;
  &lt;p id=&quot;9iGL&quot;&gt;&lt;strong&gt;Как это работает&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;jYw7&quot;&gt;Основная предпосылка ленивого минта заключается в том, что вместо непосредственного создания NFT путем вызова контрактной функции создатель NFT готовит подпись некоторых данных, используя приват кей.&lt;/p&gt;
  &lt;p id=&quot;kEf0&quot;&gt;Подписанные данные действуют как &amp;quot;ваучер&amp;quot; или билет, который можно обменять на NFT. Ваучер содержит всю информацию, которая войдет в фактический NFT, и он может дополнительно содержать дополнительные данные, которые не записаны в блокчейне, как мы увидим чуть позже, когда будем говорить о ценах. Подпись подтверждает, что создатель NFT санкционировал создание конкретного NFT, описанного в ваучере.&lt;/p&gt;
  &lt;p id=&quot;3Zde&quot;&gt;Когда покупатель хочет приобрести NFT, он вызывает функцию выкупа, чтобы выкупить подписанный ваучер. Если подпись действительна и принадлежит учетной записи, авторизованной для минта, на основе ваучера создается новый токен и передается покупателю.&lt;/p&gt;
  &lt;p id=&quot;gfzA&quot;&gt;В нашем примере мы используем структуру &lt;a href=&quot;https://docs.soliditylang.org/en/v0.4.24/types.html#structs&quot; target=&quot;_blank&quot;&gt;Solidity&lt;/a&gt; для представления нашего ваучера:&lt;/p&gt;
  &lt;pre id=&quot;9P0E&quot; data-lang=&quot;arduino&quot;&gt;struct NFTVoucher {
  uint256 tokenId;
  uint256 minPrice;
  string uri;
  bytes signature;
}&lt;/pre&gt;
  &lt;p id=&quot;92vO&quot;&gt;&lt;strong&gt;Создание подписанного ваучера&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;PL2T&quot;&gt;Использование подписей для авторизации может быть сложным, поскольку третья сторона потенциально может взять данные, которые были подписаны в одном контексте, и представить их где-то в другом месте. Как пример, они могут взять подпись, разрешающую создание NFT в тестовой сети Ropsten, и представить ее контракту, развернутому в mainnet. Если подписываемые данные не содержат какой-либо контекстной информации, этот вид &amp;quot;повторной атаки&amp;quot; довольно тривиален для выполнения и от него трудно защититься.&lt;/p&gt;
  &lt;p id=&quot;McYC&quot;&gt;Чтобы устранить эти проблемы, а также обеспечить лучший пользовательский опыт при подписании сообщений, сообщество Ethereum разработало EIP-712, стандарт для подписи типизированных структурированных данных. Подписи, созданные с помощью EIP-712, &amp;quot;привязаны&amp;quot; к определенному экземпляру смарт-контракта, работающего в определенной сети. Они также содержат информацию о типе, так что такие инструменты, как MetaMask, могут предоставлять пользователю более подробную информацию о подписываемых данных вместо непрозрачной строки шестнадцатеричных символов. Однако стандарт является отличной защитой лишь он-чейн, возможность перехвата данных во время их поступления в дапп все так же остается. (Пример, когда использовали кошельки находящиеся в вайтлисте, передавали его на бек проекта и в ответ получали данные для подписи транкзации).&lt;/p&gt;
  &lt;p id=&quot;9ANz&quot;&gt;Мы используем класс JavaScript под названием LazyMinter для подготовки подписанных ваучеров с использованием EIP-712. Поскольку подписи привязаны к конкретному контракту, вам необходимо указать адрес развернутого контракта и ethers.js:&lt;/p&gt;
  &lt;pre id=&quot;2O4O&quot; data-lang=&quot;arduino&quot;&gt;const lazyminter = new LazyMinter({ myDeployedContract.address, signerForMinterAccount })
 async createVoucher(tokenId, uri, minPrice = 0) {
    const voucher = { tokenId, uri, minPrice }
    const domain = await this._signingDomain()
    const types = {
      NFTVoucher: [
        {name: &amp;quot;tokenId&amp;quot;, type: &amp;quot;uint256&amp;quot;},
        {name: &amp;quot;minPrice&amp;quot;, type: &amp;quot;uint256&amp;quot;},
        {name: &amp;quot;uri&amp;quot;, type: &amp;quot;string&amp;quot;},  
      ]
    }
    const signature = await this.signer._signTypedData(domain, types, voucher)
    return {
      ...voucher,
      signature,
    }
  }&lt;/pre&gt;
  &lt;p id=&quot;lwAm&quot;&gt;Сначала мы готовим наш неподписанный объект ваучера и получаем домен подписи. Объект types содержит информацию о типе для полей нашего NFTVoucher (исключая саму подпись).&lt;/p&gt;
  &lt;p id=&quot;R6sz&quot;&gt;Чтобы создать подпись, мы вызываем метод _signTypedData для нашего объекта Signer, передавая домен, определение типа и неподписанный объект ваучера.&lt;/p&gt;
  &lt;p id=&quot;MT4J&quot;&gt;Наконец, мы возвращаем полный объект ваучера с включенной подписью, который можно использовать в нашем смарт-контракте.&lt;/p&gt;
  &lt;p id=&quot;qgRT&quot;&gt;&lt;strong&gt;Оплата газа при покупке&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;zcTK&quot;&gt;Чтобы метод работал, нам нужна функция смарт-контракта, которую может вызвать покупатель NFT, чтобы заминтить за одну транзакцию:&lt;/p&gt;
  &lt;pre id=&quot;psmq&quot; data-lang=&quot;arduino&quot;&gt; function redeem(address redeemer, NFTVoucher calldata voucher) public payable returns (uint256) {
    // make sure signature is valid and get the address of the signer
    address signer = _verify(voucher);

    // make sure that the signer is authorized to mint NFTs
    require(hasRole(MINTER_ROLE, signer), &amp;quot;Signature invalid or unauthorized&amp;quot;);

    // make sure that the redeemer is paying enough to cover the buyer&amp;#x27;s cost
    require(msg.value &amp;gt;= voucher.minPrice, &amp;quot;Insufficient funds to redeem&amp;quot;);

    // first assign the token to the signer, to establish provenance on-chain
    _mint(signer, voucher.tokenId);
    _setTokenURI(voucher.tokenId, voucher.uri);
    
    // transfer the token to the redeemer
    _transfer(signer, redeemer, voucher.tokenId);

    // record payment to signer&amp;#x27;s withdrawal balance
    pendingWithdrawals[signer] += msg.value;

    return voucher.tokenId;
  }&lt;/pre&gt;
  &lt;p id=&quot;kVYS&quot;&gt;Сначала мы вызываем вспомогательную функцию _verify, которая либо возвращает адрес учетной записи, подготовившей подпись, либо отменяет транзакцию, если подпись недействительна.&lt;/p&gt;
  &lt;p id=&quot;K8fI&quot;&gt;Как только у нас есть адрес подписавшего, мы проверяем, что он авторизован для минта с помощью функции hasRole из контракта AccessControl на основе ролей &lt;a href=&quot;https://docs.openzeppelin.com/contracts/4.x/access-control&quot; target=&quot;_blank&quot;&gt;OpenZeppelin&lt;/a&gt;.&lt;/p&gt;
  &lt;p id=&quot;fNpo&quot;&gt;Мы также следим за тем, чтобы покупатель отправил достаточно ETH, чтобы покрыть минимальную цену. Если это так, мы можем создать новый токен на основе информации в ваучере и перевести его на учетную запись получателя.&lt;/p&gt;
  &lt;p id=&quot;pKjd&quot;&gt;Наконец, мы помещаем платеж в сопоставление под названием pendingWithdrawals, чтобы создатель NFT мог позже вывести свой ETH.&lt;/p&gt;
  &lt;p id=&quot;wYOR&quot;&gt;&lt;strong&gt;Заключение&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;80Ec&quot;&gt;Данный способ позволяет экономить на газе, однако еще мало используем среди коллеций на евм блокчейне. Минусом данного метода является возможность для злоумышленников создавать фейк или фишинг коллекции, которые многие замечали на своих аккаунтах Opensea в разделе hidden(крайне НЕ РЕКОМЕНДУЮ взаимодействовать с данными объектами).&lt;/p&gt;
  &lt;figure id=&quot;kImO&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://github.com/cat-milk/Anime-Girls-Holding-Programming-Books/blob/master/Compilers/Tohru_Reading_Principles_of_Compiler_Design.png?raw=true&quot; width=&quot;971&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;MzMm&quot;&gt;Первоисточник: &lt;a href=&quot;https://nftschool.dev/tutorial/lazy-minting/#redeeming-a-voucher-on-chain&quot; target=&quot;_blank&quot;&gt;тык&lt;/a&gt;&lt;/p&gt;

</content></entry><entry><id>itachi_neuchixa:K5zd3x4VCDk</id><link rel="alternate" type="text/html" href="https://teletype.in/@itachi_neuchixa/K5zd3x4VCDk?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=itachi_neuchixa"></link><title>Как запускать python скрипты полный гайд</title><published>2022-06-01T13:58:49.711Z</published><updated>2022-06-01T13:58:49.711Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img1.teletype.in/files/4a/13/4a134fff-bff1-4a52-9e92-6d6e35024e36.png"></media:thumbnail><summary type="html">&lt;img src=&quot;https://img2.teletype.in/files/54/ce/54ceb9d6-8851-435f-9cab-b07abd40e232.png&quot;&gt;Сегодня у нас статья для ребят, которые не понимают как запускать софты на питоне. (гайд для юзеров винды)</summary><content type="html">
  &lt;figure id=&quot;fWRm&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/54/ce/54ceb9d6-8851-435f-9cab-b07abd40e232.png&quot; width=&quot;1280&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;IaPv&quot;&gt;Сегодня у нас статья для ребят, которые не понимают как запускать софты на питоне. (гайд для юзеров винды)&lt;/p&gt;
  &lt;p id=&quot;Wg49&quot;&gt;&lt;strong&gt;1. Установка python.&lt;/strong&gt;&lt;br /&gt;Залетаем &lt;a href=&quot;https://www.python.org/downloads/&quot; target=&quot;_blank&quot;&gt;&lt;strong&gt;сюда&lt;/strong&gt;&lt;/a&gt; и выбираем нужную нам версию(лично я юзаю 3.8, никаких траблов с ней пока что не было), жмем download&lt;/p&gt;
  &lt;figure id=&quot;PgIR&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/6b/41/6b41ea75-d37b-4c58-9671-7cac148cc109.png&quot; width=&quot;664&quot; /&gt;
    &lt;figcaption&gt;Вот тут справа download&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;xJZk&quot;&gt;       Далее выбираем установщик под конкретно ваш пк:&lt;/p&gt;
  &lt;figure id=&quot;UcHr&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/1a/11/1a112bba-55e5-4e7c-9699-b1e60b8802a9.png&quot; width=&quot;1175&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;hZRX&quot;&gt;(картинку сжимать не стал, качество откисает) и нажимаете на нужню вам версию.&lt;br /&gt;Теперь когда установщик скачался запускаем его. &lt;/p&gt;
  &lt;figure id=&quot;vndU&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://avatars.mds.yandex.net/get-zen_doc/3323992/pub_5f11530368575054cd86fcd6_5f1156a568575054cd86fd1f/scale_2400&quot; width=&quot;2138&quot; /&gt;
    &lt;figcaption&gt;блят хуле тебя жмыхнуло&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;m8wv&quot;&gt;У вас появится такое окно. Здесь важно поставить обе галочки снизу, чтобы можно было спокойно вызывать пайтон из консоли. Жмете install Now (кастомка вам наврядли понадобится).&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(170, 33%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;ft4a&quot;&gt;Если кто текстом не понял то вот вам ролик по &lt;strong&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=swZA4EJnsG0&quot; target=&quot;_blank&quot;&gt;установке&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;HegV&quot;&gt;&lt;strong&gt;2. Запуск заветного скрипта.&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;WbP0&quot;&gt;Вы уже установили питон и готовы запускать свой скрипт.&lt;br /&gt;Тут есть два пути:&lt;br /&gt;1)Через cmd перейти к софту&lt;br /&gt;2)Открыть cmd в папке софта&lt;/p&gt;
  &lt;p id=&quot;fPob&quot;&gt;1. Через cmd.&lt;br /&gt;Нажимаем win+R и вводим cmd, жмем ок:&lt;br /&gt;&lt;/p&gt;
  &lt;figure id=&quot;pSom&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/0e/08/0e08ac47-01c2-4d7f-8dd6-dd38d4dfb301.png&quot; width=&quot;429&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;bT5l&quot;&gt;в открывшейся консоли пишем cd /d ПУТЬ к софту&lt;/p&gt;
  &lt;p id=&quot;rVHB&quot;&gt;Т.к многим не понятно что это значит, постараюсь обьяснить на примере.&lt;br /&gt;Вот я скачал софт и мне нужно его запустить:&lt;/p&gt;
  &lt;figure id=&quot;i1xP&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/c6/b6/c6b69917-e178-442a-9042-c092c0627d6a.png&quot; width=&quot;609&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;Nq9W&quot;&gt;Для этого я нажимаю на него правой кнопкой мыши, выбираю свойства&lt;/p&gt;
  &lt;figure id=&quot;moQ0&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/31/51/31515199-f64b-4fa2-b60e-5c1833136590.png&quot; width=&quot;479&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;0INg&quot;&gt;В свойствах копирую расположение:&lt;/p&gt;
  &lt;figure id=&quot;zLh7&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/14/d8/14d8ef92-a325-4f6e-be72-290d107611e6.png&quot; width=&quot;339&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;uyCI&quot;&gt;и вставляю в консоль:&lt;/p&gt;
  &lt;figure id=&quot;Qwud&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/33/cc/33ccf527-17d1-4e93-b3e1-a12f8b1c200e.png&quot; width=&quot;601&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;trK3&quot;&gt;Нажимаю enter:&lt;/p&gt;
  &lt;figure id=&quot;TsTt&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/b1/28/b12893e2-7270-402e-bc70-302b3c75c30e.png&quot; width=&quot;370&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;ZfkM&quot;&gt;После данных действий я ввожу python &amp;quot;скрипт.ру&amp;quot;, в моем случае python testbinance.py&lt;/p&gt;
  &lt;p id=&quot;xUyO&quot;&gt;&lt;/p&gt;
  &lt;figure id=&quot;Rik6&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/63/fe/63fe1f87-6224-4bce-8d8c-8ef20bcf034e.png&quot; width=&quot;520&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;ls9s&quot;&gt;Вуаля:&lt;/p&gt;
  &lt;figure id=&quot;h2x1&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/c8/68/c8682947-75f0-4424-b132-ab125ed91fd7.png&quot; width=&quot;605&quot; /&gt;
  &lt;/figure&gt;
  &lt;section style=&quot;background-color:hsl(hsl(236, 74%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;4fvG&quot;&gt;Вот старенький видео гайд тем кто не понял - &lt;a href=&quot;https://www.youtube.com/watch?v=q9eyNU0LSu0&quot; target=&quot;_blank&quot;&gt;&lt;strong&gt;клик.&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;7GZh&quot;&gt;2. Открыть cmd в папке софта.&lt;/p&gt;
  &lt;p id=&quot;ieti&quot;&gt;Для начала откроем папку с софтом.&lt;br /&gt;В папке необходимо нажать на ПУСТОЕ ПРОСТРАНСТВО ПРАВОЙ КНОПКОЙ МЫШИ С ЗАЖАТЫМ ШИФТОМ, чтобы вылезло следующее контекстное меню:&lt;/p&gt;
  &lt;figure id=&quot;qwPh&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/d2/44/d24464b8-6d7f-435d-b194-3e625cb7f67c.png&quot; width=&quot;305&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;lSt5&quot;&gt;В нем выбираете Открыть окно PowerShell/cmd здесь.&lt;br /&gt;Далее все как в первом случае с cmd, вводите python &amp;quot;скрипт.ру&amp;quot; (надеюсь понятно что в кавычках вводить НЕНАДО, на скриншоте видно что они не используются)&lt;br /&gt;&lt;/p&gt;
  &lt;figure id=&quot;Eoug&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/e0/f0/e0f01ce7-38ad-46e0-a0ab-63405dfce467.png&quot; width=&quot;723&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;zzkF&quot;&gt;и все работает:&lt;/p&gt;
  &lt;figure id=&quot;0xSx&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/33/ba/33ba4d8c-b96c-43c9-9b02-0532d312c486.png&quot; width=&quot;574&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;DVzg&quot;&gt;&lt;strong&gt;3. Решение базовых ошибок.&lt;/strong&gt;&lt;br /&gt;Ошибка No module named &amp;#x27;имя модуля&amp;#x27;&lt;/p&gt;
  &lt;figure id=&quot;FfVB&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/12/46/1246cb2b-ce0d-4cf1-9108-832f0ac28f64.png&quot; width=&quot;455&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;82uo&quot;&gt;Чаще всего фиксится командой pip install &amp;#x27;имя модуля&amp;#x27;, в моем случае pip install web2&lt;/p&gt;
  &lt;p id=&quot;t3f7&quot;&gt;Ошибка [Errno 2] No such file or directory: &amp;#x27;файл&amp;#x27;&lt;/p&gt;
  &lt;figure id=&quot;o5VA&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/e2/76/e276fc38-d5f9-4215-b9b9-6f72bbc589f3.png&quot; width=&quot;684&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;jp9o&quot;&gt;Данная ошибка возникает т.к файл отсутствует в папке софтом/ не указан путь к нему.&lt;br /&gt;Решение:&lt;br /&gt;Создайте файл в папке/укажите путь (тут зависит от того как реализов кодер).&lt;/p&gt;
  &lt;p id=&quot;9xUX&quot;&gt;Для решения остальных ошибок я крайне НАСТОЯТЕЛЬНО советую сначала их гуглить ( проблема всегда выводится в консоли) и в случае если ответ вы не нашли или он слишком мудреный спрашивайте у ребят в соответствующих чатах.&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(236, 74%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;Zhl6&quot;&gt;Надеюсь данная статья хоть кому то поможет, я постарался обьяснить как можно понятнее. (по моим меркам конечно же)&lt;/p&gt;
  &lt;/section&gt;

</content></entry><entry><id>itachi_neuchixa:_jy7Ft_xfn6</id><link rel="alternate" type="text/html" href="https://teletype.in/@itachi_neuchixa/_jy7Ft_xfn6?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=itachi_neuchixa"></link><title>Асинхронность это кто?</title><published>2022-05-23T16:32:41.946Z</published><updated>2022-05-23T17:03:38.069Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img4.teletype.in/files/bc/1f/bc1f3704-72ff-4b12-a34f-1e97084fa898.png"></media:thumbnail><summary type="html">&lt;img src=&quot;https://newtechaudit.ru/wp-content/uploads/2020/02/hema_1-1024x477.jpg&quot;&gt;Всем привет. Недавно изучал асинхронный код и решил попробовать донести до вас полученные информацию в более понятном формате. </summary><content type="html">
  &lt;p id=&quot;oYb7&quot;&gt;Всем привет. Недавно изучал асинхронный код и решил попробовать донести до вас полученные информацию в более понятном формате. &lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(170, 33%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;vdhh&quot;&gt;&lt;strong&gt;Асинхронность&lt;/strong&gt; -  не совпадение с чем-либо во времени; неодномоментность, неодновременность, несинхронность — характеризует процессы, не совпадающие во времени. Термин используемый в специальной литературе, предназначенный для особого применения, в общем смысле, это состояние не являющееся синхронизированным.&lt;/p&gt;
  &lt;/section&gt;
  &lt;section style=&quot;background-color:hsl(hsl(323, 50%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;EJnr&quot;&gt;Асинхронность в программировании — выполнение процесса в неблокирующем режиме системного вызова, что позволяет потоку программы продолжить обработку. Под столь мудреном выражением подразумевается, что произойдет некоторая операция, об окончании которой главный поток узнает лишь спустя какое-то время.&lt;/p&gt;
  &lt;/section&gt;
  &lt;section style=&quot;background-color:hsl(hsl(199, 50%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;4XXQ&quot;&gt; Попробую привести пример: вы проснулись утром, поставили чайник (задача 1) пока он кипит вы умываетесь (задача 2) умывшись вы услышали  свист и выключили чайник (ответ задачи 1). Т. е поставив чайник вы не ждали пока он закипит, как бы ожидая ответа , а сразу пошли умываться , получив ответ (свист чайника) позже.&lt;/p&gt;
  &lt;/section&gt;
  &lt;figure id=&quot;E1vQ&quot; class=&quot;m_column&quot; data-caption-align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://newtechaudit.ru/wp-content/uploads/2020/02/hema_1-1024x477.jpg&quot; width=&quot;1024&quot; /&gt;
    &lt;figcaption&gt;Визуальное представление асинхронности&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;DumU&quot;&gt;Вот какое определение дается в &lt;a href=&quot;https://docs.python.org/3/library/asyncio.html&quot; target=&quot;_blank&quot;&gt;доках&lt;/a&gt; asyncio:&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(323, 50%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;cS7R&quot;&gt;asyncio — это библиотека для написания &lt;strong&gt;параллельного&lt;/strong&gt; кода с использованием синтаксиса &lt;strong&gt;async/await&lt;/strong&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;m1rj&quot;&gt;&lt;strong&gt;Какая польза от асинхронного кода?&lt;/strong&gt;&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(199, 50%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;tbRP&quot;&gt;С помощью него пишут многозадачный код. Это позволяет выполнять больше тасков за меньший промежуток времени, что делает наш продукт эффективнее.&lt;br /&gt;Пример? Напишите свой простенький синхронный регер и посмотрите сколько акков он будет делать в те же условные 10 минут. После возьмите регер в эту же тему у допустим &lt;a href=&quot;https://t.me/dolbaebskicode&quot; target=&quot;_blank&quot;&gt;Параноика &lt;/a&gt;и посмотрите сколько акков сделает его софт за тот же промежуток времени.&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;vxD9&quot;&gt;&lt;strong&gt;Заключение&lt;/strong&gt;&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(199, 50%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;hfIC&quot;&gt;Данной статьей я хотел дать вам понимания асинка, более подробно вы можете изучить его сами, исходя из яп на котором работаете и ваших целей. Лично я не пожалел что потратил время на прочтение ряда статей и докапывание мужчин в чатах, т.к с асинком жить стало интереснее.&lt;/p&gt;
  &lt;/section&gt;

</content></entry><entry><id>itachi_neuchixa:759bs0kO2ek</id><link rel="alternate" type="text/html" href="https://teletype.in/@itachi_neuchixa/759bs0kO2ek?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=itachi_neuchixa"></link><title>Текущие активности</title><published>2022-05-14T14:33:13.681Z</published><updated>2022-05-14T14:33:13.681Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img3.teletype.in/files/ae/9e/ae9ebb1d-c341-417f-989f-388801281b9a.png"></media:thumbnail><summary type="html">&lt;img src=&quot;https://img1.teletype.in/files/82/41/82416f26-d2fb-4584-89a7-1e6b0a285ea7.png&quot;&gt;Всем привет! решил накидать такую статью, чисто показать чем занимаюсь в ласт время.</summary><content type="html">
  &lt;section style=&quot;background-color:hsl(hsl(34,  84%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;oNSl&quot;&gt;Всем привет! решил накидать такую статью, чисто показать чем занимаюсь в ласт время.&lt;/p&gt;
  &lt;/section&gt;
  &lt;section style=&quot;background-color:hsl(hsl(199, 50%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;Uo5Y&quot;&gt;Ну про Луну рассказывать не буду, там заработать мог НЕ КАЖДЫЙ и вообще если уж дегенить в подобных ивентах то ток на шекели которые не жалко потерять (задумайся, сколько пачек чипсов ты бы мог купить!!!!!!)&lt;/p&gt;
  &lt;/section&gt;
  &lt;section style=&quot;background-color:hsl(hsl(199, 50%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;Rq0l&quot;&gt;Nexo - биржа дропающая 25$ за регу и за рефа. Шиллили 1 миллион раз, но это подборочка ивентов где я сам участвовал так что все пучком.&lt;/p&gt;
    &lt;p id=&quot;B6UG&quot;&gt;&lt;a href=&quot;https://platform.nexo.io/&quot; target=&quot;_blank&quot;&gt;&lt;strong&gt;нерефка&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;
    &lt;p id=&quot;K6Pq&quot;&gt;&lt;a href=&quot;https://nexo.io/ref/xayupxvuv5?src=web-link&quot; target=&quot;_blank&quot;&gt;&lt;strong&gt;рефка&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;section style=&quot;background-color:hsl(hsl(199, 50%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;KKtD&quot;&gt;&lt;a href=&quot;https://t.me/cryptoitachik/183&quot; target=&quot;_blank&quot;&gt;&lt;strong&gt;Sweatcoin&lt;/strong&gt;&lt;/a&gt; — продолжаю шагать и фармить токены, работает в фоне и ладно.&lt;/p&gt;
    &lt;figure id=&quot;aSk2&quot; class=&quot;m_retina&quot;&gt;
      &lt;img src=&quot;https://img1.teletype.in/files/82/41/82416f26-d2fb-4584-89a7-1e6b0a285ea7.png&quot; width=&quot;288&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;section style=&quot;background-color:hsl(hsl(199, 50%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;58gV&quot;&gt;&lt;a href=&quot;https://play.google.com/store/apps/details?id=app.aglet.mobile&amp;hl=en_US&amp;gl=US&quot; target=&quot;_blank&quot;&gt;&lt;strong&gt;Aglet &lt;/strong&gt;&lt;/a&gt;- еще одна ходилка, где можно фармить токены и кроссы (дедлайн мне не известен) &lt;/p&gt;
    &lt;p id=&quot;YuKZ&quot;&gt;За ввод кода дадут башмак - WXUGF2&lt;/p&gt;
    &lt;p id=&quot;ULDa&quot;&gt;без кода башмак не дадут&lt;/p&gt;
    &lt;figure id=&quot;7Zdk&quot; class=&quot;m_retina&quot;&gt;
      &lt;img src=&quot;https://img3.teletype.in/files/64/86/648643a2-996a-4a8a-a8da-83ae61595c5f.png&quot; width=&quot;540&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;section style=&quot;background-color:hsl(hsl(199, 50%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;WtYt&quot;&gt;&lt;strong&gt;&lt;a href=&quot;https://yobit.net/ru/&quot; target=&quot;_blank&quot;&gt;Yobit&lt;/a&gt; &lt;/strong&gt;- эирдропчик, также фармлю (времена тяжелые, что поделать)&lt;/p&gt;
  &lt;/section&gt;
  &lt;section style=&quot;background-color:hsl(hsl(199, 50%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;8uJv&quot;&gt;&lt;strong&gt;Ultix&lt;/strong&gt; - регаемся залетаем в раздел airdrop жмем квесты и возвращемся обратно(у меня работало), забираем приколдесы и закидываем их в стейк.&lt;/p&gt;
    &lt;p id=&quot;LQv5&quot;&gt;&lt;a href=&quot;https://ultix.io/?ref=9SXHF6U09G&quot; target=&quot;_blank&quot;&gt;&lt;strong&gt;рефка&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;
    &lt;p id=&quot;L8MF&quot;&gt;&lt;a href=&quot;https://ultix.io/&quot; target=&quot;_blank&quot;&gt;&lt;strong&gt;тут не рефка&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;section style=&quot;background-color:hsl(hsl(34,  84%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;HEZY&quot;&gt;Вроде все упомянул, больше пока что проектов на &amp;quot;перспективу&amp;quot; у меня нет (или есть?). Спасибо за прочтение, удачи тебе друг!&lt;/p&gt;
  &lt;/section&gt;

</content></entry><entry><id>itachi_neuchixa:iM6Tp_unvH_</id><link rel="alternate" type="text/html" href="https://teletype.in/@itachi_neuchixa/iM6Tp_unvH_?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=itachi_neuchixa"></link><title>Алгоритмические стейблкоины</title><published>2022-05-10T14:44:04.466Z</published><updated>2022-05-10T14:48:50.557Z</updated><summary type="html">Цель алг. стейблокоина -достижения ценовой стабильности, путем привязки к соответствующему резервному активу.</summary><content type="html">
  &lt;p id=&quot;ruxy&quot;&gt;Цель алг. стейблокоина -достижения ценовой стабильности, путем привязки к соответствующему резервному активу.&lt;/p&gt;
  &lt;p id=&quot;1M5T&quot;&gt;Первоначальные варианты стабильных монет на основе алгоритмов включали монеты &amp;quot;перебазирования&amp;quot;(разбавление предложения с целью стимуляции продаж), такие как токен Ampleforth или &lt;a href=&quot;https://coinmarketcap.com/currencies/ampleforth/&quot; target=&quot;_blank&quot;&gt;AMPL&lt;/a&gt;.Перебазирование монет помогло скорректировать предложение в соответствии с существующим рыночным курсом AMPL.&lt;/p&gt;
  &lt;p id=&quot;CK0H&quot;&gt;Когда AMPL торгуется выше $ 1,05 и менее $ 0,95, протокол выдает новые токены держателям или соответственно уничтожает их у держателей. В результате это может помочь с большей эффективностью перенести волатильность с цены на рыночную капитализацию. Таким образом, рыночная капитализация меняется в соответствии с изменением спроса на токены перебазирования, без изменения цены. Однако модель исходного алгоритма основана на стабильных монетах.&lt;br /&gt;&lt;/p&gt;
  &lt;p id=&quot;lham&quot;&gt;&lt;strong&gt;Известные примеры стабильных монет на основе алгоритмо&lt;/strong&gt;в&lt;/p&gt;
  &lt;p id=&quot;eEtn&quot;&gt;&lt;strong&gt;RAI&lt;/strong&gt;&lt;br /&gt;&lt;a href=&quot;https://coinmarketcap.com/currencies/rai/&quot; target=&quot;_blank&quot;&gt;RAI &lt;/a&gt;предоставляет протокол стейбла с возможностями для отказа от привязки к фиату. Он имеет значительное сходство с устаревшим однокомпонентным DAI от MakerDAO. Юзеры могли бы хранить эфир в ‘сейфе&amp;quot;, точно так же, как хранилища DAI. Минимальная ставка обеспечения в случае этого примера в списке алгоритмических стейблкоинов составляет чуть менее 150%. Взамен пользователи получат токены RAI. Алгоритм RAI оснащен выделенным ПИД-регулятором, который получает входные данные о существующей цене RAI. Затем он вносит коррективы в предложение в соответствии с ценой, следуя непрерывному циклу обратной связи.&lt;/p&gt;
  &lt;p id=&quot;JzH2&quot;&gt;Самое главное, что все параметры жестко запрограммированы в алгоритме, а также обеспечивают быструю автоматическую реакцию на рыночные данные без прямого ручного вмешательства. Помимо ценностного преимущества ‘саморегулирования’, RAI представляет значительные отличия от DAI с точки зрения управления. Он направлен на то, чтобы исключить различные параметры управления из процесса в 2022 году, тем самым сократив необходимость в зависимости от управления.&lt;/p&gt;
  &lt;p id=&quot;jZJp&quot;&gt;&lt;strong&gt;FEI&lt;/strong&gt;&lt;br /&gt;&lt;a href=&quot;https://coinmarketcap.com/currencies/fei-usd/&quot; target=&quot;_blank&quot;&gt;FEI &lt;/a&gt;также является еще одним протоколом, который вы можете найти в списке алгоритмических стейблов. Он фокусируется на устранении неэффективности капитала, выявленной в случае стабильных монет, таких как DAI. FEI представляет собой разительные различия по сравнению с другими стабильными монетами, основанными на алгоритмах. Одно из главных отличий заключается в том, что в нем нет механизма обмена залога на стабильную монету. Напротив, цифровое богатство поступает в систему за счет использования кривой привязки, которая продает FEI в обмен на ETH. Затем цифровое богатство остается заблокированным в &lt;strong&gt;Контролируемом протоколе стоимости&lt;/strong&gt; или PCV, который по сути является пулом обеспечения для стабильной монеты.&lt;/p&gt;
  &lt;p id=&quot;SDN4&quot;&gt;PCV помогает поддерживать привязку, управляя ликвидностью на биржах, таких как Uniswap. Учитывая ограничения на ликвидность на стороне продажи, FEI является одной из лучших алгоритмических стабильных монет, позволяющих избежать сценария ‘смертельной спирали’. Протокол FEI использует свой токен TRIBE для того, чтобы позволить держателям определять следующие аспекты управления.&lt;/p&gt;
  &lt;p id=&quot;vmYl&quot;&gt;&lt;strong&gt;Риски алгоритмических стейблкоинов&lt;/strong&gt;.&lt;/p&gt;
  &lt;p id=&quot;hO7r&quot;&gt;&lt;strong&gt;Увеличение предложения(supply)&lt;/strong&gt;&lt;br /&gt;Разве лучшие алгоритмические стейблкоины не были созданы специально для балансирования предложения стейблкоинов? Как это создает риски для владельцев токенов? Когда цена токена увеличивается выше предопределенного стабильного значения, алгоритм выпускает новые токены для увеличения предложения. В случае с Basis вы можете найти токены акций, в соответствии с которыми владельцы акций получают новоиспеченные стейблкоины в случае увеличения предложения.&lt;/p&gt;
  &lt;p id=&quot;V4pg&quot;&gt;С другой стороны, акции могли получить новые токены только после выплат держателям облигаций. Оплата новоиспеченных токенов повышает стоимость акций, хотя и в значительной степени зависит от растущего спроса. В случае замедления роста спроса необходимо чеканить новые стейблкоины, что приведет к потере стоимости акций.&lt;/p&gt;
  &lt;p id=&quot;PTxw&quot;&gt;&lt;strong&gt;Оракулы&lt;/strong&gt;&lt;br /&gt;Еще одно важное дополнение к рискам алгоритмических стейблкоинов относится к оракулам. Контракты Oracle отвечают за предоставление ценовых данных, относящихся к соответствующей стабильной монете. Впоследствии алгоритм обеспечивает корректировку предложения со знанием цены. Однако выбор и внедрение оракулов может представлять собой серьезные проблемы, особенно учитывая аспекты доверия, честности и точности.&lt;/p&gt;
  &lt;p id=&quot;6ff1&quot;&gt;&lt;strong&gt;Депеги (сломанные привязки к резервному активу)&lt;/strong&gt;&lt;br /&gt;Последняя запись среди проблем, связанных с необеспеченными стабильными монетами, относится к сломанным привязкам. Депег - значительно худший сценарий для любого типа стабильной монеты, а необеспеченные стабильные монеты подвергаются максимальному уровню риска. Почему? Они в значительной степени зависят от доверия рынка. Без доверия рынка токен или монета могут постепенно кануть в лету. Если какая-либо стабильная монета столкнется с двумя депегами, то они столкнутся с заметными трудностями при эффективном восстановлении.&lt;/p&gt;

</content></entry><entry><id>itachi_neuchixa:ZzoNWvHzLhg</id><link rel="alternate" type="text/html" href="https://teletype.in/@itachi_neuchixa/ZzoNWvHzLhg?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=itachi_neuchixa"></link><title>Легкий сбор яиц на пасху в Sunflower</title><published>2022-04-20T04:44:19.878Z</published><updated>2022-04-20T04:44:19.878Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img2.teletype.in/files/94/b7/94b75090-f8a5-49ab-8824-2655ac045a0b.png"></media:thumbnail><summary type="html">&lt;img src=&quot;https://img2.teletype.in/files/18/3a/183ac821-a1e7-48e4-954e-3a4cbeefca6b.png&quot;&gt;Ребята которые фармят в санфловере уже слышали, что там завезли пасхальный ивент. Ниже хочу показать вам способ как его упростить.</summary><content type="html">
  &lt;figure id=&quot;IjeH&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/18/3a/183ac821-a1e7-48e4-954e-3a4cbeefca6b.png&quot; width=&quot;181&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;oTs6&quot;&gt;Ребята которые фармят в санфловере уже слышали, что там завезли пасхальный ивент. Ниже хочу показать вам способ как его упростить.&lt;/p&gt;
  &lt;p id=&quot;2iw9&quot;&gt;Для начала советую держать консоль открытой. Там часто появляются полезные логи. К примеру вот лог, говорящий о том что яйцо заспавнилось:&lt;/p&gt;
  &lt;figure id=&quot;jtPm&quot; class=&quot;m_custom&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/cc/e1/cce11b26-b920-48ba-a4f9-579def5e3ae3.png&quot; width=&quot;260&quot; /&gt;
    &lt;figcaption&gt;засЛ&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;Gj61&quot;&gt;Логи идут после любого вашего взаимодействия с игрой (сбор, посадка, продажа покупка, рестарт странички)&lt;/p&gt;
  &lt;p id=&quot;Vukw&quot;&gt;Как только вы увидели заветный лог, то можете либо попытаться найти яичко на карте, либо вставить в консоли следующий скрипт:&lt;br /&gt;&lt;em&gt;&lt;strong&gt;for (let i = 0; i &amp;lt; 50;i++){ document.getElementsByClassName(&amp;#x27;hover:img-highlight cursor-pointer&amp;#x27;)[i].click()}&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
  &lt;p id=&quot;tnPw&quot;&gt;Не пугайтесь данного окна:&lt;/p&gt;
  &lt;figure id=&quot;ps5n&quot; class=&quot;m_custom&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/67/06/6706719c-894f-4571-a8c5-518067d48c88.png&quot; width=&quot;397.5&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;qjsm&quot;&gt;Скрипт просто прожимает все возможные элементы с которыми игрок может взаимодействовать, один из таких элементов и есть яйцо (умные кодеры если вы знаете как скипнуть проклик всех элементов отпишите). Закрыть их можно просто прокликивая по пустоте.&lt;/p&gt;
  &lt;p id=&quot;n2ax&quot;&gt;В целом это все!&lt;/p&gt;
  &lt;figure id=&quot;N7HS&quot; class=&quot;m_custom&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/f5/2c/f52cb509-63d2-4ade-bd25-efaf1f4528e8.png&quot; width=&quot;137&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;mjme&quot;&gt;&lt;strong&gt;WARNING!!! ИСПОЛЬЗУЙТЕ СКРИПТ НА СВОЙ СТРАХ И РИСК!!!!!&lt;/strong&gt;&lt;/p&gt;

</content></entry></feed>