Ethereum. Смарт-контракты 2: Работают ли смарт-контракты на Solidity — Ксения Житомирская


всем привет сейчас работает да я на
самом деле очень люблю быть девочкой программистом и блондинкой потому что
можно прийти к своим мальчиком студентам и сказать ребята но я даже это могу
сделать как же как же вы это не сделаете вот но вам я надеюсь понравится эта
лекция как минимум я постараюсь ее сделать интересной и я не буду
рассказывать то что вы можете прочитать в интернете потому что в интернете много
всего я буду рассказывать то что вам нужно знать о том что вообще есть
чтобы уже знать что конкретно гуглить что искать и в каком направлении копать
то есть у меня первая лекция по эфиру я могу вообще рассказать про весь эфир за 1 час по-моему это здорово вот я попробую вы
готовьтесь как бы задавать вопросы после каждого блока будет несколько блоков простите пожалуйста видите я уже
нервничаю и году из потому что будет несколько блоков по внутреннее
устройство блокчейна эфира посмотрел как там то есть что просто что легко и
и что на самом деле обманчиво то есть это самое интересное части и потом будет
собственно примеры приложений как ребята просили
что интересно я уже можно посмотреть что даже из этого готовая рабочая
его что можно по-contribute-ить если у вас там зачешутся руки что-то попробовать
всегда есть на самом деле открытые задачи во всех открытых проектах и так вот этот
вот замечательный человек на слайде он попытался сделать живое существо из
разных кусочков так на самом деле все блокчейны и попытались и начиная от
биткоина на bitcoin он как бы заработал а потом посмотрели что это не очень
удобно вы когда игрались с биткоином в школе вы
наверное видели что чтобы узнать баланс какого-то например кошелька
вам надо ну все его транзакции найти хоть как-то
для этого вам его надо бы добавить в кошелек адреса конкретный я сейчас
говорю в замечали как долго после этого индексируются но да это очень-очень
долго даже как бы в последнем обновлении кода а если у вас например много-много
всяких кошельков и вам надо за каждым следить и это не ваши кошельки и вы
заранее не знаете какие они будут взрывает мозг после этого там еще что
то даже пытаешься делать уже думаешь как с этим работать вот потом сделали usdt
и попытались сделать реальную систему для того чтобы любой человек мог
свободно работать с криптой вот в том направлении в котором она нужна просто
принимать например платежи просто какой-то маленький код
использовать и эта система получилась она развивалась из маленькой тоже первое
ICO на самом деле было до самого эфира удавшаяся скажем так самое большое x и
до сих пор люди пытаются восстановить кошельки с которыми участвовали в нем
вот поэтому сейчас мы если посмотрим это в начала года это требование которые там
самые быстрорастущие по upwork отрасли вот сейчас мы тут не видим ничего
связанного с блокчейном но при этом в самых быстрорастущих проектов на гитхабе
до сих пор есть GO он вот в этом году хотя курс не рос больше всего было
активность в этом факте go Ethereum почему почему так вышло потому что вот видите
курс этериум а он падает а смарт-контракты они стабильны внизу
конечно не так как нам бы хотелось нам бы хотел смарт-контракты наверху а
как бы Ethereum ну просто как крипто где-то там 1 и скрипт но на самом деле нет вот вот это вот вообще все системы smart
контрактов где как бы ей смарт-контракты но она на самом деле если я специально
циферки ведь я готовилась к вам не просто так у эфира в два раза всего
меньше форков чем у биткоина если брать по нодам да у всех остальных
ну вот 22000 форков у биткоина и эфира в сумме 10000 а у самого ближнего HyperLedger Fabric 4 400 это при том что это я смотрела а вот все остальные вместе
ну и вас например 3000 там стеллар 502 596 вот чтобы вы понимали и все
остальное вопросики непонятки там где понятки там солидити который в
принципе та же EVM-машина эфира вот поэтому эфир так его принято называть
в русскоязычной среде вместо этого сложного слова этериум он растущей
как бы такой проект и он очень-очень интересный это его
главное отличие от Биткоина то что вместо UTXO у нас есть аккаунты
то есть вместо unspent transaction outputs которые мы в Биткоине запоминаем тут мы
делаем такую логическую систему в которой один аккаунт это его баланс и
все нам мы можем с ним работать не знаю как он этот баланс получил нам не нужно
туда что-либо записывать это на самом деле вот просто снимает головную боль
снимает головную боль со сканированием всего блокчейна вам достаточно знать
текущее состояние и не надо по всем блокам собирать эти кусочки
где то искать опять-таки другой алгоритм майнинга пытались сделать чтобы
децентрализовать эфир чтобы как бы не было майнинг пусть таких совсем уж
большие асиков чтобы для памяти были больше требования
но это не совсем вышло видео карты тоже можно собрать вот если вы видели вот эти
много-много видеокарт это именно майнинг так вы и эфира а можно их в пулы объединять
тоже как-то ребята пытаются но чуть чуть лучше вот это просто была попытка сейчас
перейдут на POS мы там не знаем что будет поэтому я не буду о майнинге вот
так подробно рассказывать самое интересное в майнинге эфира скорость
который изначально было больше она обеспечивается чем что блоки эфиры они
более простые в них только есть сами смена состояний и потом куча куча
маленьких дополнительных данных она идет как бы в чеках receipt господи
читаю на английском лучше чем говорю так бывает у программистов они не пользуются
языком в общем на чеках транзакции там будут приходить еще кучу кучу
дополнительных данных но на самом деле мы можем только header’ы блока снимать и
нам будет этого достаточно мы не должны все данные блока вынимать для того чтобы
следующий блок сверить и в этом прямо очень очень удобная вещь для
разработчика ты можешь отфильтровать данные и не храните все все данные
разложены по разным системам из этого вот есть разные тесноты мы можем на них
даже достигнуть разные алгоритмы под его там внизу есть сокол это пуфов авто реки
уже который такой известный разработчик как баринов
сделал по моему он именно сокол запустил и
или подобную сеть в общем они работают над Proof-of-Authotiry в эфире POA network
вот и в ней майнеры это те люди не было обладающими мощностями обладающие
правами доступа просто коты ты вот конкретно в авторизируешь каждого майнера
там выдаешь государственным учреждением например и мне надо покупать
оборудование они вот нотариус это конкретные нотариус то но другое дело
что насколько это все валидно в рамках
закрытой системы приватные блокчейн и публичные мы не будем дискутировать
особо потому что это бесконечная дискуссия является ли это блокчейн и мы
либо нет но нам как разработчикам надо знать что есть разные алгоритмы есть
разные генезис блоки мы можем сами запускать мы можем тестировать
мы можем проверять о биткоине только один тестнет и он работает тоже как один
тестнет то есть ты не можешь поверить разные вещи ты либо свои ноды должен
запустить на не будут с такими же алгоритмами вот вот так выглядит
опять-таки стандартный запрос похож на bitcoin-овский
запрос к RPC вы его все делали это просто как пример что вы можете работать
с эфирные но и да и в сети и и сами поставить сами к ней запросы управлять
она вам будет давать блоки будут давай транзакции в блоке много много всякого
интересного обратите внимание вот то что важно знать тут несколько root есть
параметров есть рут по транзакциям есть рут логам logs блум это для поиска по логам то есть чуть чуть данные разнесены и и
несколько структур об и обновляется каждый из них отдельно и каждое отдельно
из них как бы цельное вот Parity например сюда еще несколько параметров
вписал клиент я вам рекомендую для своих экспериментов ставить Parity именно
реализацию Ethereum потому что у Parity чуть чуть больше скорость и у них
чуть чуть интереснее есть вызовы которых нет в нативном клиенте
на go написаном вот посмотрите тут есть еще uncles
тоже интересно а вот вот собственно разделение по хранилищам когда у нас
transaction state и логи они выходят в 3 разных как будет дерева
мы каждый из них можем отдельно работать можем вообще не собирать то есть если
нам не надо что-то другое мы не будем это делать ведь это это уже следующий
шаг от биткоина где только только у нас вообще одна структура и все мы ее как-то
все время апдейте вот ничего не видно это был uncle
это должен был быть слайд на котором видны блоки
это тоже такая фишечка майнинга Ethereum которую вы должны знать вам приходит
что транзакция заманила и блок как бы попал в сеть но блок может как быть
записан поверх другим блокам в это время блок не теряется при этом его
может включить следующий майнер после вот этого блока вот там следующий я вам
три запроса вот вот эти запросы погоняйте прям посмотрите первый это
запрос по которому вам выглядит блок в блока будет номер я не помню какой то ну
допустим и 72201 честно не помню вот потом
если мы возьмем по этому номеру да это явно не он потому что это в HEX’e чуть
больше мы возьмем по этому номеру там будет другой блок как бы интересно и
поэтому если мы будем полагаться на цепочку блоков которые например
сканировать онлайн прям получать последние блоки от майнера но от своего
клиента который приходит от майнинга мы получили блок мы забыли о том что блок
может прийти другой следующее мы не проверили мы что там отобразили а на
самом деле нет мы пропустили анкл block uncle блок остается в сети для того
чтобы люди которые намайнили блоков 10 там 20 секунд проходят люди манят
понятно очень большая вероятность дублирующих блоков дублирующие высоты и
как бы ты теряешь часть награды до 3 ст и майнил майнил тут опа кто-то прилетел
там за минуту намайнил что-то больше вот поэтому вот этим анклом дается
маленький тоже как бы бонус за включении их в сеть
вам да он так распределяется и анкл и остаются вот это в самой транзакция
много-много то же в разных слов и не знаю вам видно видно хорошо вот в
концепции в отличие от биткоина то есть
мы сейчас на отличиях так сосредоточены чтобы вы увидели разницу в отличие от
биткоина у вас будет только один адрес от от и 1 пересадка
и этот адрес он может быть контрактом может быть обычным адресом но он только
один поэтому вы в одном блоке от одного адреса если начинаете пересылать вы не
знаете какой конкретно вот если например у вас на балансе там сто эфиров вы
каждому начинайте накидывать там по 50 и пяти адресатам вы не будете знать какая
транзакция замайнится где вас отклонит т.е. не отклонит сразу от у
ты нас будешь там уж на разные ноды посылать там в мемпулы потом тебе
обновиться с разными нонсами да будьте осторожны всегда следите что у вас
происходит к кому вы что отправляете там разные хотя бы нонсы ставьте
можно переписать там просто с другим нонсом чуть дороже сделать
вот что еще тут из интересного есть газ газ прайс это топливо для транзакции в
сети эфир если в биткоине выплатили комиссию в биткойне то тут как бы вы
платите в эфире как бы мы сейчас посмотрим почему это не совсем так газ
он понятно связан с эфиром но вы изначально не знаешь полную стоимость
ты наш только ее предполагать на контракте почему потому что контракт и
выполнения до его выполнения не может быть прочитано и тьюринг-полнота и
эфира и поэтому всегда в транзакции несмайненной и мы просто ставим сколько мы
хотим потратить максимум то есть мы выделяем наше топливо мы говорим сколько
мы готовы потратить за один такт а выход там ход нашей машины тьюринга
но есть и некоторые путают вот тут недавно кем в чатике
одна проскочила я я другую транзакцию нашла более ранее если не сегодня я
сканировал а вот это собственно чек под концепции только тут мы узнаем сколько
мы на 100 самом деле потратили вот этот газа использовано есть ведь что у нас на самом
деле попытка я потрачу насколько мы узнали
только после того как транзакция закончилось это это тоже одно из
великолепных свойства финна всегда будьте осторожны вы можете так все
потратить вот и в концепции есть логе это специальные такие объекты которые мы
можем записывать в отдельную табличку складывает давайте по ней даже делать
поиск кстати поиск по блокчейну тоже который даже быстро работает в парити
реализации в го может быть тоже мы иногда он не совсем надежно иногда кладет ноду
так и вот у нас собственно самая интересная транзакция это которая
работает со smart контактам смотрите тут нет самой
value и она 0 до вот внизу a input это какое то действие
которое мы еще хотим чтобы сделал то есть мы можем подавать на адрес не
просто деньги а что-то там на тебе информацию и на тебе деньги то есть мы
можем его заставить что-то сделать и это дает нам рекурсию как бы
выполнение мы не должны создавать какой-то unspent там output и потом его
пьес соединяйте терять мы можем на контракте держать какой-то алгоритм
запускать ему что-то давать и он будет выполняться вот но при этом мы платим за
любую такую транзакцию даже если она будет красненькой мы провели на контракт
что-то произошло мы за это заплатили как вы думаете зачем это сделано не
подсказывай да да да да именно для этого потому что ты должен быть наказан за
свою ошибку если бы тебе возвращались деньги то есть как собственно у нас
bitcoin вообще не примет плохую транзакции он вас скажут я не знаю что
такое от меня хотите да а и филон как бы он не знает хорошая она
была либо плохая почему потому что из нее заплатил ты как бы у тебя есть эти
деньги ты ее в майнинг пул отправил там все а дальше что то есть он начинает
выполнять и все как бы ну а то что то не то делаешь не буду тебя там сильно много
вот поэтому всегда знаете что если у вас can зация ушла в сеть не означает что
оно хорошее обычно это вообще ничего не означает вот это у нас все о самом
именно построения все решил это сказать поэтому это все о эфирной
блокчейне как системе блокчейн вот это очень хорошая книжечка есть по биткоина
такое давали вот есть такая в интернете по и фигу надо стендинг этот парень тоже
от этих же palm of the но полосы всего потом есть о построении вот вторая
ссылка тоже очень классная если вы любите но джесс например и
любите там покопаться как устроен именно база данных на нижнем уровне там с
примером я даже его запускал он даже работу еще там пару месяцев назад
вот light клиенты то есть о том как писать на эфире
мне вытачивая весь блокчейн и фидо а просто выкачивая верхние
хедера и соединяю только свои данные кроме и фидо ну вот бы лаффера никто
вообще такого не делал кроме фига такое делают эффект подобные уже дальше там
форки в основном так вопрос и я же обещала позиция по этой части а может
ещё разок транзакцию совсем вот уже было до можете показать этому хранится сам
смарт-контрактах какой части а тут не хранится на это не создание смотрите в
создании наин пути будет байт-код смарт-контракты мы к этому придем
адресатом мы будет создатель получателем будет нулевое так называемый
адрес 0x это специальная без в блокчейне эфира
который системный в него посылают контракты для создания и он скажу тогда
говорит что это у нас будет новый адрес адрес от самого контракта он
генерируется от твоего адреса где он хранится в нем пути будет храниться для
нет он не будет храниться он будет стоить сейчас покажу вот тут есть
несколько деревьев есть на самом деле еще 3 дерева
вот вот сама стоишь и там каждому аккаунту когда у тебя обычный кошелек
там ничего не хранится там твой баланс и он был в штатах а в стол и джек
контрактов хранится именно связанная с ними байт код который виртуальная машина
эфира может достать и выполнить то есть он ты платишь за вот эту память
выделенную тебе и все байт коды всех smart контрактов хранятся на их адрес
окно вот например ты как обычный пользователь
если ты не пойдешь там в блокчейн и фидо ты не узнаешь на ком-то контракт ну вот
адрес я тебе говорю там например адрес 0x и там 52
ты не скажешь скажу контрактом либо обычный человек это отдельная прелесть
эфира он будет выглядеть как адрес просто скажите а я чуть опоздал а можно нам вам
задавать технические вопросы а я именно для этого мы и я не сама
начала присутствует поэтому я уточню скажите пожалуйста а вы вот по поводу
старриджа хранения каким в базе данных то есть деревьях хранятся вы храните их
в вирте kdb какие вы используете для этого инструменты
смотрите это не конкретно я использую это и этериум
реализация используют да есть их несколько реализаций
есть парики реализация есть этериум гул самой команды thorium в парики по моему
рок гибели используются токи от гибели rock baby
а vertica вы ничего не можете сказать ну я лично люблю под граде be not a то есть
конкретная реализация смотрите базы данных вы можете даже свою вы будете
получать блоки из сети правильно dayco х1 дерево сохранять базе данных да и вы
должны будете сверять следующий блок stick предыду дорна вы можете хоть
файловую систему использовать файл она дольше будет работать ну даёшь говорил
это протокол открыт сила блокчейна в чем вы берете протокол вы можете реализовать
клиент с использованием в принципе любой систему язда ну вот серьезно я знаю
проекты где я в электронную базу данных кладут транзакции потому что так удобнее
удобнее работать с индексируем ими транзакциями ну быстрее когда ты
например работаешь биткоинам даты если тебе надо по конкретным кошелькам
все время следить за транзакциями тебе не всегда удобно использовать волод
биткоина правда вот поэтому но вот то что вы называете я не знаю ту базу
данных я к сожалению вам скажу а они сталкивались и реализации
блокчейна роста то есть вы варите баре парики господина раз ты пишет на
говорите есть даже для биткоина клиент на расти там единственное не все функции
реализованы вот мне он не подошел у меня не было канон быстрее работает чем
многом дадут но мне на все они не дописали то что мне было нужно поэтому
нет я понял скажете по поводу фильтром в вы уже это рассказывали чтобы я просто
филькину что они отдельно хранятся в логе для для и блум дерево чтобы там
искать что-то я упомянула я покажу это на примере конкретного см от контакта
контрактов по кашки фильтра конечно же говорил и я у меня первая лекция по и
фигу поэтому я расскажу все но по чуть-чуть да и сделаю разные маленькие
перерывы чтобы все могли каждый кем уточнить а есть еще вопрос именно по вот
блокчейну потому как потом майнится что-то только внимания программист
а можно еще раз пожалуйста по поводу ангел блага в вот он тут есть танк лбу
анкл блок это блок который есть блокчейне
но он не настоящий то есть вот так бывает вот понимаешь быстрый блокчейн
когда проблема что у нас мы цепочку слишком быстро генерируем вот представь
если я начну быстро быстро быстро говорите кто-то еще начнет мы говорить
мы друг друга не слышим и и мы теряем половину информации тогда 2 мы начинаем
делать паузы но если мы делаем паузы то мы как бы у
замедляемся мы меньше информации можем передать для того чтобы стимулировать
майнеров майнить при том что они с какой-то долей вероятности достаточно
частой кстати там если у тебя будет сканер блокчейна эфира ты да ну вот
которые работают в режиме реального времени у тебя где-то там газ сутки ты
точно on клаус не успеешь получить блок который потом станет невалидным то есть
представь насколько в принципе майнеры часто получают эти блоки ну я думаю все
чаще чем я вот поэтому ты должен быть хоть как-то
заинтересован в том чтобы хоть что-то получить даже если ты чуть-чуть поманил
то есть концепция была в том чтобы стимулировать майнеров майнить даже если
их блоки не совсем хорошей но мы как программисты должны просто знать что
наша транзакция может быть в блоке блок блок может нам прийти а потом он
может как бы быть не валидный но он не убирается с блокчейна мы его можем потом
посмотреть и сфере правильно ли мы сделали вот погоняй вот этой команды это
вообще интересно то есть это блок ханкалы в последующей блог и там ты
увидишь плюс-минус одни и те же транзакции то есть вообще по идее это
отличная штука дата вы можете отказаться может в два блока
записаться если ты будешь неправильно работать с блокчейном эфир но билл биткойне мы я я ее не получаю
внутри самого блокчейн и даже не социальные блоки orphan блоки ну а не
они сохраняются они ну а не боковые они не валидны вот да но не сказать да
просто в эфире это ну настолько часто что об этом надо прям
знать вот-вот в биткойне ты это можешь 5 блоков и кем вообще стопроцентным быть
уверен а вы это 5 10 а скорость политизации как бы между клиентами еще
даже не успевает догоняться номер даже сейчас big в биткоинах транзакции плывут
они лотами идут они как бы по одной и в
эфире аналогичным поэтому есть анкл и я думаю мы можем продолжать до так когда а
в биткойне вам не рассказывали до того я поняла вот это мы пришли все вам будут
говорить curding полные ну вот это собственно алан тьюринг
хотя бы запомнить и потому что когда говорят это слово но не все знают даже
кто это там что он сделал и что это значит это да это англичане на котором
фильм есть и которую машину сломал которым правительство награду сделала
большой вот да ну он быть для майнинга я думаю сломал сначала придумал потом
сломал вот виталика своего времени но сам факт что он ввёл вообще концепцию
разрешимости и какие должны быть алгоритмы что такое
написание алгоритма формальное он вел машину тьюринга кто из вас получал
техническое образование в университете вот кто помнит что такое машина тьюринга
да кто может сказать есть ли компьютеры не по сводящиеся к машине тьюринга квантовые компьютеры когда-нибудь будут
такими мы надеемся да вот ну вот вы немножко знаете смотреть на самом деле
вот тот блок у биткоина тоже там стоит машина но она не такая полным и поэтому
говорят что именно и и терем стал полным как бы языком для
smart контрактов тьюринг полным машина тьюринга тут великолепно что значит
машина тьюринга у нас есть какое-то состояние
система может быть в начальном состоянии первым в таком к этим
это наши параметры например нашей программы нашего любого алгоритма с чего
мы начинаем вот мы сейчас начали мы сидим в зале определенные наши места
есть я курсор я могу каждому из вас задать вопрос кабель на мое состояние в
принципе будет зависеть от того кому я задала
я конечно в принципе могу перепрыгивать но это все равно будет в какое-то мое
действие то есть изначально заложены вот и мое состояние кому я задаю этот вопрос
это машины тьюринга если состояние машин тьюринга если я захочу опросить весь наш
зал то есть мой алгоритм будет как выглядеть я буду просто идти и всех
считать правильно в данной системе вы не будете двигаться ней перемещаться не
как-то меня сбивать но если вы начинаете сбивать меня значит мне надо вас делить
на кита сектора camino то есть в результате мне каждого из вас надо будет
помечать но решить эту задачу то есть посчитать
могу ли я решить эту задачу до того как я начну ее решать я не смогу знаете
почему то что вы можете начать выходить вы слишком сложная система
мне надо будет делить эту задачу на маленькие секции решать каждый из них
поэтому в эфире то что он может вот переходите состоянии состояния но при
этом внутри может быть следующая маленький алгоритм и внутри еще один
алгоритм и еще то есть смарт-карт как может вызывать следующий smart контакт и
он будет работать внутрь внутрь внутрь мы в принципе
говорим о том что мы наверное можем решить любую задачу
вот поэтому этот юрин полная система либо она абсолютно не решаемые но там
есть такая теория вычислимости дома численности кажутся правильно
произносить постите я больше пишу чем разговариваю вот поэтому когда в
принципе придумали чтобы все это делалось пришлось водить газ почему
потому что мы не знаем что у нас будет выполняться внутри смарт-контракты мы не
можем знать заранее сколько это займет тактов то есть каких
действий при том что каждое действие есть более дорогие есть более дешевые
действия записи в память рога и действия там сложения она будет
дешевле намного действия перебора массива будет бесполезно и если внутри
smart контакта мы будем говорить о том чтобы человек проходил массив
то есть на самом деле потом все паттерны smart контрактов сводится к тому что мы
что-то делаем снаружи и либо переносим нагрузку на более заинтересованное лицо
например если мы в тут внутри мы хотим кому-то что-то передать мы сами за это
платим но если мы хотим создать выигрыше победителем нашей лотереи том кто больше
в этом заинтересован сами победители вот пусть они выполняют этот смарт контакт и
надеяться на то что у них хватит газа забрать этот выигрыш не хватит это как
бы они пусть идут и покупают это вот да ну а что делать по и почему потому что
смотри ты можешь быть плохим человеком ты можешь вставить вместо своего
настоящего адрес и адрес тоже смарт-контракты и я буду выдавать всем
как бы выигрыше от этакой ты ты сидишь и от тебя выигрыш бросаю вместо тебя там
какая-то чёрная дыра аватар да я бросаю там голограмма давайте назовем и просто
деньги улетают я бросаю бросаю ему меня газ закончился у меня деньги закончились
а потом такой приходишь кореш какой я молодец а что я придумал поэтому да вот
и так было было несколько таких взломов вы о них тоже будете читать это все
очень и очень интересно вот поэтому полностью от практики выполнения за счет
именно не заинтересованного человека отказались
вот поэтому такой то есть обычная стоит машина просто переводит деньги то есть
верхний аккаунт платит нижней одну слева направо платьев на контакт и там чуть
чуть больше денег стало так вот собственно даст лимиты я поняла это мне
просто мелко поэтому я думаю что это вам мелко тут я хотела показать вот это создание
контрактор видите как много кода создание контракта самая дорогая потому
что эта запись память но выглядит как обычная транзакции на 0 адрес и мы тут
видим что у нас есть прайс газ газа это сколько мы назначили за одну как бы
деление этого тактового хода машины и сколько у нас этих делений произошло это
будет наша цена мы можем ограничить количество ходов
тогда мы точно знаем что либо выполнится но либо у нас не хватило простите то
есть либо что-то пошло не так обычно если контракт вы сами написали у вас все
плюс-минус должно идти так если вы начнете писать контракты у вас out of
gas значит вы ошиблись с алгоритмом скажу это первый признак бага когда
спрашивает у нас что то не так сломалась там но до эфира нету у вас просто баг см
от контакте баги бывают такие неуловимые то есть они именно в ходе выполнения где
то вы ушли туда где то у вас бесконечный цикл внутри получился где-то вы
попытались залезть в ячейку памяти которой нет все у вас будет именно out
of без в основном ошибка такая и угадайте в чем поэтому потом
статистически статические господи анализаторы будете использовать они
будут более-менее подсказывать где то может быть вот но самое интересное вот
иногда люди путают обратите внимание это транзакция тоже не очень ставим это два
года назад тут очень интересный перепутан газ прайс газ лимит с человек
одно и то же вписал два параметра которые можно задать он
зато лову вот и заплатил но тут две тысячи семьсот пять долларов но сегодня
был рекорд сегодня 300000 1 давайте вот обед и обед и
это четко понятно что просто человек не знал зачем это поле то есть он думал что
магаз прайс это тоже самое сделаю вот а когда люди не совсем знают не пробуйте
повторять коста сначала попробуйте на тест на эти я не знаю разберитесь вот
так бывает а сегодняшние которое человек отправил с заведомо очень большой
господа и сам я думаю это ошибка алгоритма либо просто люди сделали
гадость вот как бы такое у вас будет эта
презентация я думаю я ребят попрошу ее выложить потому что тут много ссылок я
не хотела qr-коды там делать чтобы все сканировал ась вот и внутри вот вот этот
вот код который странный байт-код это на самом деле то же обходы как и в
блокчейне биткоина это можно прочитать и можно с этим
работать но это же конечно не совсем интересно мы вот следующему же разделом
будем говорить о соли дите но вы можете тут обходы почитать и самый важный тут и
обход именно создание адреса с macd контактам чтобы вы могли
создать контакт следующий использовать его и вызывать рекурсия она в принципе
обеспечивает полноту этой всей системы вот но вот вы сейчас про полноту что мы
платим газ потому все они бесконечно все равно даже при том что мы платим мы
будем ограничено размером блока там есть максимальный газ которым можно вообще в
блоке потратить почему потому что иначе были бы слишком большие требования к
монетам а все-таки эффект пытался быть где централизованным но не сосредоточены
в одних руках и они не хотели чтобы там требования компьютером были слишком
большие требует памяти слишком большие поэтому возможно вы когда начнете
экспериментировать вам придется делить смарт-контракты на части чтобы они
влезли вообще в одну транзакцию чтобы у вас выполнение вам может быть на стоят и
придется и носить но это скорее будут связаны не
с тем что у вас супер сильная логикой супер классный smart контракт с тем что
вы что-то лишнее в нем делаете что вы можете делать в ней и его просто туда
результаты списывать так вот собственно код этого
смарт-контракты и они я не знаю так я не умею к сожалению но там потом будет
крупнее код то есть он очень тут нечитабельные есть обход ну вернее
читабельный но его надо знать как читать и есть такое на javascript похоже так и
от похожих на javascript каю smart контрактов есть еще лучше у них есть как
бы опять для javascript окато вы можете вставлять
либо в друге свою программы но мы будем потом говорить ближе к javascript ул обе
вот он такой тоже страшненький но на самом деле очень прекрасный потому что
он нам говорит какие есть функции внутри вот и что мы можем вызывать я вам
предлагаю вот эти 2 ресурса вам очень понравится я думаю для тех кто
интересуется именно с собой реализация есть об коды можно поиграться с ними
посмотреть вы будете удивлены как много можно узнать о чужих смарт-контрактах
у которых нет их кода как боб опубликованного на самом деле есть
декомпилятор и и можно читать чужие смарт-контракты можно там пробовать с
ними играться да то есть люди думают что это все секретные данные если ты
опубликовал но не зады play all код на неправда так давайте по общим принципам
smart контрактов а потом я начну о практике реализации а
у нас настолько так мы будем спешить вот это визуальный редактор смарт-карта
вот вот скажите прекрасно выглядит да это это та когда говорят мы научим
юристов писает смарт-контракты им предлагают что-то такое но по моему это
как бы высший пилотаж поэтому да ну это вот как визуальный
редактор мне абсолютно не понятно поэтому представьте вот можно так
написать это будет куда понятнее обратите внимание следите работает не
только в атриуме но он работает не только в отелями потому что внутри
многих других блокчейнов там квантума трона quantum и
у них своя система сохранения данных у тона просто платформ и фига во многом
как бы там внутри в виртуальные машины и фига
и многие блокчейн и они сейчас хотят еще другие
как бы стандарты внутри но все равно к языку в принципе хотя к нему есть много
претензий о том что он слишком простое большинство слишком легко на нем писать
по моему это плюсы и минусы и к нему будут просто добавляться компиляторы в
другие системы я так думаю поэтому следите хотя бы визуально можно
чуть-чуть подучить он очень похож на javascript
я не буду подробно о синтаксисе я думаю вы это все разберете в домашних заданиях
когда будете готовиться синтаксис есть и выполняйте их эфирные смарт-контракты
достаточно легко вот их можно просто деплоить в тестовую сеть потом платишь
за этот к смарт-контракты он выполняется вот потом вот это ремикс который всем
советуется как первый редактор но на самом деле есть для visual студии
есть для любой серьезной системы плагины для написания smart контрактов потом
будет уходить транзакция это собственно вот те данные
которые мы будем передавать на адрес этого smart контакта потом вот это наши
кнопочки видеть его вот это кнопочка которая будет требовать от нас денег она
красненькое и синенькая кнопочка которая не будет требовать она нам будет
показывать стану статическое значение внутри это этого smart контакта как
конкретный параметр но на самом деле можно абсолютно это все усложняете
добавлять разные штуки и потом это будет работать вот она у нас выглядит как в
обучении эффекта это ведь часто сами мой пример
но он такой простой что он мне очень нравится по моему на нем все легко
сделать вот собственный remix как ядре быстро дешево надежно в нём
единственный недостаток пожалуйста проверяйте какой конкретной сети он
будет конектится иногда у ребят проблемы бывают что ты в одной сети дэб ловишь во
второй смотришь и потом все особенно с x kanon выглядит
одинаково везде то еще что то потом тени получается там либо танк имеет диплом
вот тоже покажу вы обратите внимание не совсем удобный интерфейс
вот видите справа будет см от контакт следующий смок
вы что-то исправили вы за тепло или знаете где он появится он будет ниже то
есть и вы будете пытаться тестировать верхней там что-то с ним делать на самом
деле более новый ваш код будет внизу всегда будьте аккуратны если вы что то
не получается пробуйте еще раз закрыли браузер посмотрели солнышко есть
на небе открыли браузер попробовали ещё раз очень надежный способ
программирования половину багов убегает еще можно собаку завести погулять тоже
вот 3 ссылочка там очень прикольные приметы и чтоб ты тоже то есть как
писать наследите именно просто гайд самые простые смогут concat и вот а
теперь на самом деле мы приходим к тому к чего я сюда пришла рассказать о трюках
о том что сделал с моим мозгом программирования на soleil de ti
то что произошло когда я начала писать для блокчейна именно см от контакта
первое конечно же ты приходишь к тому что плохой код он всюду будет таким
неудобным кодом вот я например такой код не люблю
он знаете почему он не читается с первого взгляда
то есть вы любые паттерны там хорошего кода и все равно надо применять cosmo
катком как там каким бы простым этот язык не казался да там следите простой
язык но если мы уберем дерева и fafda акулы сделаем их
возвратными по идее это нам скажу облегчает любое чтение см от контакта то
есть можно тут какие-то возвраты reg’lar дабл дописать еще что-либо и ты тогда
сказал бог буш лучше читать вы увидите множество примеров такого как бы кода
который но вроде как нормальный но не очень это нормально от а потому что
кажется что легко и надо побыстрее сделать ну пожалуйста развивайте в себе
как бы любовь в принципе к хорошему коду помните о разных приколов связанных
именно с блокчейном во-первых у вас будет постоянная версия компилятора
меньше и единички то есть до сих пор если вы заметили bitcoin core меньше
единички на этом 0 сколько-то там всегда то есть это не стабильная версия уследить и уже 0 5 будет даже 06 то есть
мы впереди биткоина хотя мы моложе ведь и насколько лучше но сам факт версии
нестабильной бывают проблемы которые выскакивают
именно из-за постоянного развития да и новые обходы даже в константинополе там
что-то будет новое вводить и будет явно еще что-то вылазить и всегда следите под
почему 100 тыс macd контракт возможно из-за этого сломают но если новый выйдет
в составе компилятором восточно сломают если на нем будут деньги потому что мы
работаем в принципе в пространстве где наш сломают то же самое переполнение
многие а пятки забывают из-за простоты языка что все переменные то все равно
переменные в органичной памяти и мы это память заранее задаем когда мы создаем
см от контракт когда вы пишете и им там все равно вы на самом деле 256m еще
сколько то есть по умолчанию разрядность если вы за нее выскочить и вы получите
не ошибку вы получите просто возврат и это к сожалению очень очень
распространенная была ошибка потому что забывали сейчас выполнит это самое
классное то есть когда забывали о том что функции может в принципе вызвать
чужой человеку приходит плохой человек и дергает так ты писал у себя на
компьютере твою программу видел только ты ну максимум заказчик если она до него
доходило вот а так выглядит видит любой человек не он может дергать посмотрите
чем отличаются эти функции откажется что паблик и external вроде как в одинаково
звучат да но на самом деле нет external ты можешь вызвать только снова уже
public ты можешь и снаружи и изнутри вызывает всегда
ну вообще по умолчанию ваш ответ должен быть нет по умолчанию все функции должен
быть внутренними закрытыми никому не недоступными и только самые важные как
бы открываете потом ну вообще при привыкайте всегда все прятать всегда
думайте как paranoid когда к вам придут ваш дом и будут мучить ваш контракт вот
мы работаем со smart контактами в эфире которые выглядят как от веса эфира
которые могут вызываться другими smart контактами и фидо давайте пример вот
самый классный который мне нравится у меня ребята тоже мозг взрывался у них от
него у нас есть простейшие лотерея в ней победитель определяется по ст а потом
номера блока блоки шуда каком-нибудь делимости на 10 вот прямо вот текущего
блока то есть человек ставит ставку ему выдается в ты победил либо нет первое
что вы сделаете в этом случае как вы победите блоки подбирайте как мама ник
да а что еще лучше можно сделать смотрите ваш smart контракт будет
выполняться внутри какого-то блока он будет майнится внутреннего да он будет
блока но вы можете создать см от контракт
который будет вызывать этот блок этот смарт карт как тоже
внутри этого блока правильно вы можете даже не сам блок подбегать подбор блока
это вам надо еще какие-то мощности там угадывать не угадывать а вы можете
напишите smart контракт он проверяет это условие горит но я наверное выиграю и
тогда только отправляет can за акцию на тот смотрим как и так люди делают люди
делают внутренние ошибки люди делают возвраты то есть когда это все новые то
и ты так ладно думаешь я сейчас попробовать классно мы там все честные
давайте напишем но тут дикси 20 токен это адрес и баланс этого какого-то
нашего выдуманного токена exe 20 же in ципи классный примет все работает супер
а потом оказывается что наша ну вот can зация мы там на баланс потом должны там
записать прибавить отнять но мы что-то в начале делаем и у нас это что-то дает
ошибку и мы туда деньги например перевели потом получили ошибку дальше
нас выбросило деньги мы уже перевели а баланс не уменьшили помните что в
любом случае у вас может быть какой то волны злонамеренный контакт как внутри
вашего выполнения то есть уйти так и снаружи это такая вообще глубокое парные
дальная мыслить не надо много играться на это это очень здорово но представьте
ваш смех контакт может вызвать кто-то другой с любыми входящими с любыми
исходящими данными и начать его дёргать во все стороны этот тоже он будет тоже
см einen и но тоже выполнит ваш смарт-карт как потому что машина войдет
внутрь вашей там будет тоже в своей машинке бегать и мы
попробует выйти как минимум и блокчейн это допускает если человека хватит ну
там денег газа а если у вас там тоже есть деньги то вы в это будет
заинтересованный человек правильно вот он будет искать эти возможности более
того многие думают что вот они послали 5 концепции но это из биткоинам вы должны
были вам говорить но опять-таки это быстро ты блоков так чаще
бывает что ткан зации так и придут как вы их отправили на пример мы можем
отправлять несколько от концепций в определенном порядке этом я не знаю я
вам когда ее машину я меняю там полного на ваши фамилию увидели эту
транзакцию она там пошла в моем пока она шла я еще что-нибудь делаю с каким-то
чуть больше ну ценой за газ и она будет уходить
другому человеку а вы уже как бы суют концепцию видели и пятки мы о том что мы
грели что блоки могут майнится еще и параллельно немножко то есть вы можете
даже замани ну и и увидите все gumus сменить если у вас macd контракте вы
начнете в догонку еще какие-то данные накидывать например он может выполнить
какую-то функцию после я не знаю там у вас должен быть какой-то дома
управляться специальным смотри контрактом включать панель об обогрева
до в зависимости от температуры но
температура вас может записаться после того как у вас включилась обогрев что у
вас можем могут быть параллельны и транзакции и потом вы будете когда таки
гореть у меня сломало система у меня там температура была 25 градусов он
включился и через полчаса у меня стало температура 10 градусов но на самом деле
вам надо тылы если вы хотите быть точно уверен что у вас ничего не сломалось вам
тогда надо посылать и время именно как когда вы это делали когда вы это видели
никогда транзакция была заменена так вот такая общая идея ну и из этого
собственно можно говорить о том что рэндом мы плохо
делается в блокчейн их в принципе облучение тенри ума есть как бы подобное
решение как рэндом и делаются и мы не в чуть чуть поговорим вот-вот тестирование
есть инструмент вефиль вам у всех я думаю будут домашки его поставить либо
что-то сделать в нем есть как ты стягивать смарт-контракты прямо там есть
и как его поставить и как запускать и как их писать вот
собственно потом вот хакер ну я тоже очень люблю там всегда есть очень много
их на самом деле правда очень много ну хотя бы тестируйте хотя бы запускайте в
каких-то обертках хотя бы пишите юнит-тесты вот берите чужие
смарт-контракты то есть у консенсуса есть прям как
писать смарт-контракты как там должно быть уже пыли на есть
библиотеки то есть многие от них наследуют иногда конечно использование
библиотеки видео потому что если в библиотеке ошибка то ты как бы влетел но
ты не используйте то что вы не можете прочитать вот я так думаю что нельзя
есть еду которое ты не знаешь как кто-то приготовил из чего она состоит либо
изначально быть готовым к гастриту и это использовать библиотеки которые ты
не можешь прочитать и понять что они делают тоже надо с осторожностью
как минимум внимательно к dapp’aм так я почти в десять минут вкладываюсь
простите что так впопыхах многие думают что dapp это что-то где просто есть metamask вот если у вас есть metamask — это dapp
как вы думаете насколько это верно вы все поставили уже metamask или вам
только предстоит отлично в общем но metamask он на
самом деле вообще делает все совершенно не децентрализованным образом потому что
там по умолчанию стоит нода infura и если мы говорим что все наши
приложения децентрализированны и все мы не можем опираться аж на одну ноду
блокчейна какой-то общей сети посмотрите там можно параметры менять
потом сдвигать но по факту нас на самом деле должна быть вот такая большая
система у нас должен быть и браузер децентрализованной желательно
запускающийся из консоли которые вы сами же собрали конечно же но в принципе у
вас должен быть децентрализованной слой вы должны знать какие ноды отдают
где ваши файлы хранятся даже если вы используете
статические какие-то файлы они должны в IPFS либо еще где-то хранится тогда вы
можете быть более менее уверены что у вас dapp поэтому что такое dapp это всегда
такое двоякое я лично вот говорю что dapp это если я
могу показать смарт-контракты сказать что вот все ваши вот эти действия
которые вы тут кликали вот они в смарт-контракте либо вот они в моей базе данных но
я могу доказать что они на самом деле и в смарт-контракте где-то прицеплены и
тогда это такой дешевый dapp эконом вариант вот не видно но это первый
пример любого dapp все пытаются html-страничку просто с web3 сделать и
она будет отлично работать что-то происходить на ней вы все наверное
будете пробовать это тоже все сделать самостоятельно но вот смотрите тут есть
такая классная штука когда она загружается и у вас этот web3 это метамасковский по умолчанию на самом деле это может быть любой другой вы можете
сами его встроить вот как тут тут видите сами встроили
но он тогда еще был отдельно от metamask и он когда пишет send transaction
как вы думаете что происходит он просто готовит транзакцию а подписывать
приватные ключи будут отдельно я как бы вот метамаск он сделан чтоб
приватный ключ вы не в браузере вводили он у вас в приватном таком маленьком
хранилище несвязанным и в metamask только идет сама транзакция сырая и потом уже с
подписью вы ее посылайте то есть нельзя вот с этой стороны
подобраться к вашему приватном ключу это самое интересное то есть все остальное в
децентрализованных приложениях это просто более удобные кнопочки более нужные там какие-то действия но
всегда помните что приватный ключ должен быть где-то у пользователя где то он
должен его подписать если вы не metamask будете использовать вам над будет самим
придумывать как подписывать там есть другие плагины менее раскрученные вот то
есть представители этих проектов но по факту вам нужно смотреть чтобы
пользователь либо доверял вам приватный ключ но тогда все риски на вас
и пользователя если что-то ну как бы потеряет он будет с вас требовать
правильно но нам это не нужно поэтому мы приватные ключи никогда не храним даже
если они ну где то более менее не должны в
шифрованном чтоб пользователь сам знал свой ключ и никогда мы не могли
открыть вот поэтому очень важно прям самое важное в этом все и вот тут как
раз пример чтение с логов маленький экранчик думала на большом
будет ладно можно ставить мне очень нравится в современном вебе вообще
подпись на какие-то события как способ такой несложного обновления почему
раньше вообще всю страничку надо было перегружать потом ты аяксом что-то
начинал делать да там какие-то были у тебя периодически обновления сейчас ты
можешь подписаться просто на websocket какой-то маленький канальчик держать
открытым получать и блоки получать опять-таки статус твоей транзакции статус
каких-то обновлений я вам очень рекомендую именно посмотреть на фильтр и
вот кто-то спрашивал уже по капельке да нет нет а уже когда
ну вот в dapp’ах мы что тоже хотим показывать пользователю мы используем реализацию внутри вот и
которые там я не знаю опять-таки что вы имеете ввиду а данные вы передаете то
есть старый технология таятся было которое http request использовала а
сейчас используются вот сокеты высокие ты используется такая технология
как appdata тоже на java script работает вы именно
не говорите нет или мы говорим о разных вещах я вам сейчас как бы конкретной
технологии не скажу я знаю что там прямо к сокету мы коннектимся там я жду
браузерные соки там где как браузерные socket chrome и например реализован я не
влазила честно вам скажу я ну вот по трафику который надо он идет маленький
да это внутрь его при встроена я не знаю насколько глубоко ребятам надо
туда влазить ну и там смотреть TCP IP по идее он просто открывает
соединение и он его держит очень небольшим я не видел чтоб но так сокеты
работают конечно держит постоянно говорю там меня высокие ты конкретно на чем они
написаны в пакеты которые в браузере внутри там сейчас есть конкретно тому какой протокол
вот внутри хрома например сокетов я не смотрю и я именно программист я больше
люблю знаете там чтобы она все работало бизнес-логика бегала там так в общем то
есть вы если вы будете писать даппы вам могу
что-то обновлять обязательно посмотрите именно на подписку на какие-то события
вам это сказал облегчит ну прям 30 процентов работы вам даже свою базу не
надо держать тогда вы можете работать напрямую с вашей нодой поставленной
другое дело что если вы например слишком много данных будете так снимать вы
будете платить за все это то есть вот самое как бы слишком но
должен еще что-то у себя держать понимаете тут ну да но ты можешь в локалсторадже держать еще где-то это всегда идет такой но ты уже к своей ты не так
привязан всегда со мной можно общаться на перерыве можно в telegram не писать
просто напишите там мы со школы у нас вопрос есть потому что я так много
сейчас пытаюсь видите я уже чуть-чуть об опасном самый классный ресурс самый
нижний там очень очень много ссылок на разные инструменты в бюджет на себя
подберёте нужный я очень люблю как бы парики реализации там есть и light
клиент и ну в принципе всякие интересные штуки в rpg диджеи той
для явы на нем пишут как бы именно если вам надо что-то как я верен пригревать
либо в android прямо вы захотите писать в бки джесс это для javascript оон есть
браузерный есть консоль такое выполнение мне больше всего именно
нравится в моду встраивать но обязательно тоже лайфхак так и по опыту
обучения студентов обратите всегда внимание вот и джесс есть две версии
есть 1.0 есть 0.9 если вы будете с одной из них
работать как с другой вы никогда не получите результат а если у вас в
примере они написано какую они используют для примера не криппипасте
его не глядя потому что он может у вас не сработать они чуть чуть поменяли
интерфейс например new контракт то есть у вас будет контракт вы будете к нему
обращаться по адресу можете сто-то с ним делать особенно если у вас есть обе но
даже если нет то на самом деле можете вот и вы когда будете его например
создавать чуть-чуть разный синтаксис и вот из-за этого чуть чуть разницы
вам может казаться что вы неправильно делаете на самом деле вы просто не
сверили версию ваши документацию ваших замков
это прям ну я знаю людей которые неделю на это теряли в на людей тут целый день
bells этом ну прям голову разбивал потом а вот она лапчик и это примеры реальных
приложений кто кто хотел примеров красивые примеры не хотите смотреть
ладно я так расскажу вот посмотрите обязательно этот протокол так как мы уже
говорили немножко exe 20 и вы их найдете как первый же пример токена эфирного
которые используются на по моему мнению это то для чего как бы эффект писался в
самом начале потому что это пример был вот мне такое нато 1 премьера фига то
стал вопрос обмена как бы этих токенов между собой то есть как у нас кучу
монеток уже есть у нам что-то делать надо узнать как в анекдоте если у нас в
машинке при педальки а ножки всего 2 этого делать непонятно что особенно если
машинка автомат вот у меня такая машинка я тоже удивилась
вот почему потому что если нет стандарта то ты бы уж удивиться что у тебя
какая-то функция тут так называется тут и так только об этом и если есть
стандарт нам очень хочется чтоб между этими стандартами ты пересаживался
из машинки в машинку у тебя все было одинаково правильно даже если у тебя там
чуть-чуть разная логика внутри вот и сделал x протокол он в принципе сделан
как стандарт для обмена для яндекса вот вся эта ерунда тут очень много у них
разных а не внутрь проектов пытались интегрировать и сейчас до сих пор там
очень активная разработка ведется я посмотрела достаточно живой он несмотря
на крипто зиму это что диксов уже достаточно много вот посмотрите как это
везде реализовано потому что это уже взаимодействие токенов
и много готового кода у них вот мне очень нравится этот проект это к нам
приезжали ребята у них экономика роботов они хотят чтобы роботы могли куртку
воплотить в общем так звучит странно роботы друг друга за что
но вот я например верил что в следующий там митап не я могу приходить выступать
а прийти мой аватар тут а мое лицо будет у него на экране будет вам что-то
рассказывать ну понятно он сюда просто так прийти не сможет ему надо будет наш
чем-то доехать я конечно могу ему дать кредитную карту но может пойти
2 кто-то украсть и робота и карту например
еще мало ли что а я жму могу чуть-чуть насыпать там токенов проезда толкин of
электричество токена входа в это здание и он будет четко тратить на то что я
хочу и не сможет ходить на что-то лишнее там пойти нет я считаю личное
присутствие ну допустим и с гаретом все по-разному тот же дроны
они начинают работать между собой но ты не хочешь чтобы у тебя система могла
сломаться на каком-то узком месте либо был экономический какой-то диск в том
чтобы твоего дома на было обмануть он заплатил за что
потом лишнее либо что-то несанкционированной
понимаете вот этот параноик подход он помогает защитить систему а система
защищена только если у неё вот прям есть конкретный ключ на конкретное действие
ребята вот такое делают между роботами у них очень много живых примеров они
хакатоны тоже устраивают как бы в россии ну так сложилось но вообще в очень очень
интересные проекты и одни из самых активных разработчиков вот а это в новый
документации следите из новый пример то есть я считаю тренды этериум а надо
смотреть по документации следите что они внедряют в примере итак пример знаете
какой не внедрили стоит channel а то что это такое это канал для платежей между
какими-то объектами в небольшой сети то есть например я пишу крипто котиков да
классно но я как бы в принципе не рассчитываю на то чтобы мои крипто
котики все заполонили и я не хочу чтобы там были дорогие ткан зации что я могу
сделать я могу сделать свой отдельный отель вы почитаете можно поднимать но
лады можно и между собой оставить но что будет
происходить что доверие не будет а я хочу что-то
типа lightning не парка но для smart контрактов
вот а lighting топор-колун как как функционирует вам уже рассказывали там
где-то лучится где-то передается но можно на самом деле делать почти тоже
самое с mathcad фактами и передавать как бы
данные между ними внесите а по каналам вот нет нет нет ну смотрите подписчиц вы
просто с модой а если я хочу что с вами работать с через как бы мы с
вами можем соединить при toupper connection to мы но мы можем и финансы
ну как бы контракт cosmo к контакту мы договариваемся с какой-то третьей
стороной мы ей даем чуть чуть денег и дальше мы с
вами между собой общаемся в трети стакана наш
может как бы быть клининговой системой а может быть что мы будем работать прямо
между собой просто заранее договорившись как у нас будет работать этот протокол
как от мы будем менять состояние потом как как у нас clicking будет происходить
другое дело у всех вот сейчас решение loom это одно из примеров решений просто
они хотят повторить и ios быстродействие на играх чтобы
л ну вот сейчас игры там betting начали ios использовать потому что это
интересно это быстрее но это просто не совсем децентрализованная ноутбук смен
лунках хотят то же самое для игр на этой ре мне сделать если у них получится все
запустить пока не так много игр просто все упирается в бизнесе пользователей и
разработчиков но сам факт то есть ты можешь какое-то
маленькое взаимодействие да какие игры в плане количества игр обязательно я я
думаю тоже ну посмотрите сколько уже финансовых микроплатежи идет в играх уже
виртуальная реальность догоняет но обычную жизнь в пользовательской
активности даже я недавно какую-то игру там
оплатила честно я вообще люблю поддерживать разработчиков и покупать
программное обеспечение такое бывает но вообще и игры одна из функции not не так
кажется криптовалюты это казино игры и вообще вот шаг я такой один удар который
ты в интернете по мелочи покупаешь там я не знаю онлайн-трансляцию конкретную
фильм музыку ты не должен за все это платить кредитной картой то есть банк он
вот эти маленький ссор он выглядит знаешь как но не интересное для баланса
и очень конструкционно накладно накладные такие как бары
а если бы ты мог например какими-то маленькими токенами платить почему нету
тебе это токен в интернете продукт в интернете это если ты за телевизор до
не можешь как бы скажу заплатить из ты его получишь через 50 минут когда 5
блоков биткоина только пройдут тебе будет не интересно да и судя маленький
токен он в какой-то маленький подсети а потом он зак ли тому идет в большой
блокчейн через 10 минут но до этого ты как бы там маленькими
накидал их там музычку посмотрел там что-то еще бы посмотрел послушал там и и
в игрушку поиграл ты пока играл она уже там где-то побежала что тут заменилась
консолидировались вот а пока ты играешь ты все равно являешься как это ты не
уходишь из этой игры и они будут я больше накидывать игры будут на
облегчение почти все но именно оплата так уже во время вопросов я правильно
понимаем вот поэтому дать ну вот у лома идея именно такая у каждой
игры будет свой блог че но я думаю будут по-разному просто нет смысла если у тебя
маленькая игра да ты вроде большой блок чин не потянешь даты майнинг этот
настроить там чтобы у тебя чем меньше блокчейн у тебя пуфов work будет
абсолютно бесполезен потому что придет как только у тебя есть ценность придет
большой майнеры все у тебя заберет плохо повторите непонятно кому то эти ноты
отдал пас тебе лучше конечно работает в большом в общении но при этом свои
транзакции как бы архивировать то есть есть несколько фактом есть сеть где у
тебя есть твой как бы под блокчейн это их большой блок чень только
да да да вот это типа такого же ну иерархия платежей то есть мелкие платежи
мы так перекидываем записочками потом да да ну это одна из реализации плазма как
бы банкир там просто мне она очень нравится я хочу чтобы ребята если у них
будет такое задание могли это попробовать мне потом расскажете
получилось его следу с появление рынка рынка на компьютерные
играют конечно я думаю будет и будет вот как смотри microsoft azur ставит уже
большой эффект unity ну там что еще есть что для
компьютерных игр сейчас для написания понимаешь просто сейчас привязана к чему
что у гуглплея они сами бегут процент apple и как бы тоже берет когда ты
игрушку ставишь но большинство играть там на телефоне например если появится
marketplace который будет давать sdk с как бы блокчейном будет 1 x козу
скажу прибегут все нормы по моим ощущениям то есть достаточно да но и и я
опять таки если тебе это будет дешевле чем платить гуглу ты например
инди-разработчик то индик ну энди клиенты не дико сга бочек а то есть это
должно быть как эта система я надеюсь есть лэйблы например музыкальные которые
сами от кисты организовали знаешь об этом не только sony и как съесть есть
там там воинская как вообще кто любит тома уэйтса кто вообще знает тут такой
да вот видите кто на сроке кто на самом деле вот человек он решил что он не
будут платить лейблы и тем кто лоялен к этому бренду
те кто любят именно этого креста они пойдут и потихонечку я надеюсь что
большинство артистов перейдет на систему сама продаж да а ну я же говорил
просто всем начинает надоедать платить посредникам вот и все вы когда ни будь я добрый вечер вопрос
да если правильно понимаю вот он касается на виртуальной машины у каждого
манера из виртуальной машина на которой он выполняет контракте верно это такой
короткий первое как понятие если она будет чуть-чуть поломанная
кем-то и какие-то контракты в каких-то ситуациях он выдувает нити результат
контракты выполняются у всех одинаковые в этом проблема в этом
а если оно зависит от какого-то стоит а к примеру от высоты блока то есть либо
ну вот какой то стоит нельзя сделать чтобы он был действительно арендам на
какое-то ну либо создать укутать хит ну вот может
быть не практический пример но какой-то хитрый контракт который делает
генерирует рандомное число и вот интересно чтобы он действительно его
выполняла если как-то раз мы смотрели сойдутся блоки вот все майнеры они же
все равно перевыполняют вот если ты поставишь нативный клиент этериум а тебя
тоже на самом деле будет выполняться смарт-контракты просто ты не будешь
майнерам но ты не успел не будет у тебя там возможности но ты
все равно должен перепроверить будешь данные и он чуть чуть медленнее работает
вот и поэтому у всех майнеров одновременно все а смарт-контракты
выполняются и за это этой ре он тоже критикуют что как компьютер super power
компьютер как у как к super power компьютер без параллельных вычислений
наоборот он всё должен все посчитать поэтому поэтому до хотят sharding сделай
чтобы одни смарт-контракты одни люди считали другие другие люди этикете
и рэндом именно из-за этого вот смотри ты например загадал 2 там все без двух
двойка считаешь я загадала 10 или с десяткой вот такие начинаем сверять у
нас ничего не сходится то есть у нас тобою вообще блоки не сойдутся да такая
как делать такую ситуацию но мы либо но я могу сказать что я не знаю кто ты и
уйти в свою подсыпал ему цепи либо кто-то из нас выиграет как это самая
высокая цепочка ну то есть вообще у всех должно сойтись на beta key me gusta
биткоина нам пляж нет возможности крем самому написать что-то такое прям сразу но я надеюсь потому что очень обидно
слышать что это или ум не способен я думаю способен просто будет отелем 20
либо еще кое-то вот это рим 20 это будет bitcoin в третьей степени да да его
слушает нет еще не вышла константинополь уже
дважды горел там будут введены несколько видов
обходов там будет чуть-чуть изменена награда
то есть что такое читать по идеям изменение виртуальные машины просто
говорят о том что пока счет и вставив и актуальных машин будут не валидный с
новыми см от контрактами то есть если ты не обновился ты вылетишь из этой игры в
принципе нет старой конечно но если они не смогут как они по-другому
ну да но там как тебе просто статья смарт-контракты иногда они но уже
какие-то ошибки начинаю отдавать тогда просто переносится например все данные в
новый smart контракт так бывает с очень старым складам он правда там находят
игорь уязвимости вот вы из паттернов тоже следить и многие думают что смарт
контракт нельзя обновлять это неправда вы можете сделать pattern когда у вас
будет один smart контракт просто с адресом вашего smart контракта и потом
вы будете менять этот адрес там у нас вышла новая версия api и она теперь на
новом адресе ну это да это такой как интерфейс получается то есть если но это
очень удобно если ты разрабатываешь систему и очень многие так сделаны но
вот которые в таком давала книги ну понятно что все там но разработчик
уверит пользователь то есть просто возможность следить и
есть что другие разработчики вали бегают и если уйти ты будешь откровенно делать
на какую-то плохие плохие вещи тебя выгонят из сообщества таком нет я нет имею в виду там людей защиты
там можно ставить чтобы он закрывался то есть там есть модификаторы функций то
есть публичные и приватные то одним типом модификатор а следующие есть когда
ты можешь ставить условия на то что кто может функцию выполнять конкретно на
примере есть у тебя owner либо там у тебя должно быть консенсус 5 он нет
давайте давайте я вам это все получите синтаксис там очень много интересного
там все можно сделать просто я хотела почти все рассказать да спасибо большое

4 thoughts on “Ethereum. Смарт-контракты 2: Работают ли смарт-контракты на Solidity — Ксения Житомирская

  1. 300 тысяч баксов на комиссию? С такими бабками люди не ошибаются. Забыла барышня добавить, что крупнейшие пулы во время таких транзакций приостановили доступ к майнингу обычным смертным. Т.е. На лицо отмыв бабла. Такие транзы не первый раз. И все время с пулами творилось безобразие. Делайте выводы.

Leave a Reply

Your email address will not be published. Required fields are marked *