// Криптовалюта с нуля //
Вставка
- Опубліковано 7 сер 2024
- Методичка: github.com/Number571/Blockcha...
Исходный код: github.com/Number571/Blockchain
О криптовалютах: ru.wikipedia.org/wiki/%D0%9A%...
О блокчейне: ru.wikipedia.org/wiki/%D0%91%...
О доказательстве работы: ru.wikipedia.org/wiki/%D0%94%...
Таймкоды:
00:00:00 - Введение
00:05:44 - Библиотека для работы с сетью
00:22:30 - Проверка работы пакета network
00:28:18 - Библиотека для работы с блокчейном
01:54:00 - Проверка работы пакета blockchain
02:04:08 - Консольное приложение клиента
02:29:36 - Приложение узла сети блокчейн
03:03:33 - Проверка работы клиента и узла
03:15:25 - Завершение - Наука та технологія
При реализации функции NewChain была допущена ошибка с генерацией генезис блока. Вместо CurrHash должен быть PrevHash, а сам CurrHash должен вычисляться через метод hash объекта *Block. Вместе с этим нужна дополнительная проверка на стороне узла, в функции compareChains для генезис блока. Все эти моменты были исправлены в исходном коде и методичке.
Где ты всему этому научился?
Подскажи, пожалуйста, с чего лучше начать изучать C? Стоит ли изучать C++?
@@user-tv3jq2vt8s книга - Язык программирования Си. Авторы: Б. Керниган и Д. Ритчи. Плюсы стоит изучать в зависимости от задач. По сравнению с чистым Си, плюсы более подходят для графических приложений. По сравнению с плюсами, чистый Си более подходит для микроконтроллеров. В общем же своём виде их область применения часто совпадает. Если смотреть на сами языки, то философия у них разная. Язык Си придерживается минимализма конструкций, плюсы же наоборот их масштабности. Из-за этого, Си становится более переносимым языком и лёгким в изучении, а плюсы более лёгким в написании программ.
@@CryptoFunIT затупил и не понимаю зачем нужен C++, ну, да ладно. Дойду - подумаю.
Кстати, я читал на киберыоруме, что, если ты новичок, то начинать с "C programming language", значит испытать свою любовь к программированию.
@@user-tv3jq2vt8s если ты хочешь быть программистом, этот язык тебе даст понять "как все работает везде"
Язык си и с++ - основа всего, что идёт дальше:языки программирования(джава/сишарп../операционные системы(Виндоус, Линукс), Пайтон тоже на си написан:)
Это в общем, всё, из чего идёт все другое, если с Си писать тяжело громоздкие приложения - бери с++
Хоть немножко разобравшись в с++ и зная си - любые горы тебе не почем, всё будешь понимать и легко вкатываться в любые другие языки
Если тебе нравится, конечно, фронтенд - эту часть практики можешь пропустить, но программирование как таковое ты пропустишь
Как же ты крут. Сознательно пилить ролики по НЕ БАЗОВОМУ программированию, осознавая, что на таком контенте много зелени не сделать, и все ради качества видео для тех, кто действительно увлечён. Это очень круто
С изучения чего посоветуете начать человеку, который не понимает ничего, но которому очень хочется понять эту тему криптовалют?
@@samed_musaev начинай с языка програмирования
@@salihorso5943с какого именно если бы ещё сказал)))
@@eeevosss джава скрипт садись и учи. Что к чему приводит. Уроки по джаве с нуля и джаве для чайников полный Ютуб
@@Memorys_house джава скрипт и джава два разных языка и похожи как арбуз на дыню. Не вводите людей в заблуждение.
Samed Musaev, Evo Life, Если вообще ноль в программировании, начинайте с пайтона. Питон один из самых легких языков к изучению. Как только выучите один язык, вы примерно уже будете понимать логику программирования и остальные языки уже будете ухватывать на лету. Языки хоть и сильно различаются, но принцип у всех языков один.
*Где ты раньше был? Пол ютуба обошел, и твой видос оказался самым годным! Топово объяснил все, огромное спасибощище!*
Это лучшее что я видел на ютубе, подробная методичка с теорией и 3х часовой курс совершенно бесплатно, во времена когда за курсы с пересказом документации просят по 80к рублей. Огромный лайк
обожаю твои уроки)
Спс бро, ты делаешь лучший контент
Лайк за проделанную работы.
фундаментальная работа у тебя, ты большой молодец!
Почему такие топовые видосы набирают мало просмотров?( Держи лайкос и подписон. Удачи в продвижении канала
Больше уроков по криптовалютам богу криптовалют!
Спасибо 🙏 Супер контент!
Чувак ! Ты нереально крут ! Спасибо за то что ты делишься знаниями и опытом
Спасибо! Но похоже даже не мой уровень( смотрю, пытаюсь понять. От души еще раз за контент. Я разберусь :)
Вау!
А ведь ещё несколько недель искал что-то подобное в интернете, когда готовился к своему ролику по блокчейну. Только у меня на C#
Здесь, что интересно, ты ещё и уложил работу с сетью в точно такой же тайминг! Респект!
на английском поиск сделай, удивишься)
спасибо тебе контент реально очень годный
почему такая годнота, а никто не смотрит?????
Спасибо!!! Очень интересное видео
Требую продолжение контента)
Это мега круто! Просто лярд лайков!!!!
Молодец!
Это получается почти готовый блокчейн только без автоматизации скачивания блокчейна и автоматизации подключения нод к кошелькам, а так очень круто))
Так много понятных и крутых уроков и пропал
Классные видео, большое спасибо!
Хотел узнать какой у тебя дистрибутив установлен, Arch?
Parrot OS, но так исторически сложилось, а менять уже лень.
@@CryptoFunIT спасибо за ответ
Здравствуйте! А интерфейс примерный? Типа веб кошелька... и прочее... Спасибо!
Bolshoe spasibo za material and sorry za latinskie bukvy. Skazite, pozauista naskolko vozmo sozdanie svoego walleta?
Лучший
Красава
Как написать стэйблкоин? Как привязать его к чему либо? Что является привязкой? Было бы круто если ты записал такое видео🙏🙏🙏
сижу с умной физиономией слушаю, как буд то в чем то разбираюсь! из программирования я знаю только что есть такое слово ПРОГРАММИРОВАНИЕ!!!))) но чувствуя себя этаким вершителем судеб)))
брату этот видос показывал, он минут 20 сидел смотрел и офигивал, "Вот вроде на русском говорит а ни слова не понятно. Но интересно и втягивает")))
Молодец
Хотел бы у вас спросить ,можно у вас код повзаимствовать ? Просто очень интересно попробовать ) и на каких площадках можно его посмотреть ?)заранее спасибо
Можно повторить на плюсах ?
Здравствуйте. Спасибо за материал. А скажите, до того как Вы занялись программированием, Вы уже хорошо разбирались в математике ?
Я и сейчас не особо разбираюсь в математике. Вся математика не связанная так или иначе с криптографией проходит мимо меня.
@@CryptoFunIT Спасибо за ответ и за этот прекрасный ролик.
круто) Научите меня)
Gas estimation errored with the following message (see below). The transaction execution will likely fail. Do you want to force sending?
Internal JSON-RPC error. { "code": -32000, "message": "execution reverted" }
Что это означает? как исправит?
То что значимость криптовалюте продаётся обществом понятно.
Я просто чайник, поэтому вы мне объясните , это вы сейчас создали свою криптовалюту получается ?
И теперь её можно выставить на торги ?
А есть то-же самое на питоне? Хочу допилить.
Очень крутое видео. Возник вопрос, а как потом эту крипту на рынок пустить и вообще что дальше после того как код написан делать?
Я так понимаю проводить ICO?
@@user-dh7dp1zc3n можешь даже ido)
как управлять криптовалютой через командную строку?Поскажите где посмотреть с чего начать?
Interesting...
Добрый день, посмотрел ролик, хочу создать для своего бизнеса криптовалюту, например я хочу эмиссую монеты в 100 млн, их нужно намайнить, так как в ролике не говорится об этом
какие алгоритмы криптографии используются?
Почему до этого момента я не видел твой канал?!
привет. смотрел видео спс а какой проге ты написал код если можно ответ
Sublime text 3
Доброго времени суток, ты лучший! Но у меня один вопрос возник (возможно в ролике это было, а я просто не допонял), а что будет, если все майнеры заняты одним из блоков и в это время создался из транзакций еще один блок, каким образом будет распараллеливаться майнинг? Причем блок же хранит хеш предыдущего блока и как получается пойдет развилка одной общей сети майнинга? Не понял этого момента, и Вы в тестах этого не показали (у меня просто нет компилятора Go чтобы самому протестировать данный кейс с Вашим кодом).
Как такое может случиться? Майнеры же работаеют над одним блоком, как они могут при этом создать другой блок?
@@ghettoar2529 такое может случиться, если разные майнеры найдут два разных хэша блоков, удовлетворяющих одному и тому же определенному условию. В случае с биткоином, например, таким условием является определенное количество нулей в начале хэша. Тогда мы получим вилку из двух валидных блоков, каждый из которых начнет новую цепочку. Как только будет найден третий блок, который прицепится к одному из двух предыдущих, то другой их этих двух блоков станет недействительным. Такой недействительный блок назывется орфан (orphane). Все транзакции из орфанного блока вновь попадут в мемпул и будут ждать включения их в один из следующих блоков. Орфаны достаточно редки и в главной сети биткоина встречаются примерно раз в год
6:30 в каком приложении начал писать код?
Sublime text 3
Можно ли это реализовать в Windows?
Здравствуйте. Как можно вам задать вопрос в личку?
Как могу получить консультацию от тебя? У меня много вопросов по программированию крепты..
На Юдеми Курсера не смотрел курсы и ответы?
Какая версия линукс?
Здравствуйте. Автор, а можно ещё вопрос.... Если я хочу создать свою криптовалюту, не имея познаний в этой области, то с чего мне начать? первые какие-то шаги хочу сделать. Что мне делать? спасибо.
Как чаще всего бывает, сегодня создают криптовалюты не с нуля, а на базе какой-либо уже готовой блокчейн-платформы, например Ethereum. Это возможно за счёт написания смарт-контрактов, которые пишутся куда легче, нежели самописная криптовалюта с нуля. А из лёгкости написания образуется и бОльшая безопасность, т.к. меньше шансов где-либо накосячить. Для этого нужно знать лишь специфичный язык программирования Solidity, который достаточно миниатюрен. Если же планируется создать криптовалюту на базе собственного блокчейна, тобишь с нуля, то тут язык Go подойдёт как никак кстати. По-умолчанию существуют библиотеки с криптографией, с сетью, по-умолчанию есть конструкции 'go' для создания параллельных функций, тобишь упрощены все действия до минимума. Но при этом т.к. Go является языком общего назначения, в отличие от Solidity, то и изучать его нужно дольше.
@@CryptoFunIT Спасибо за развёрнутый ответ. Засейвил!) Успехов Вам во всех начинаниях!
Каждый пытается заработать по своему. Кто-то ищет работу, а кто-то создаёт криптовалюту
кто-то открывает банки, кто-то открывает быстрые займы и так можно бесконечно
когда уже люди поймут что разницы между криптовалютами и банками никакой, кроме технологической
Ващщет нет, дело не в производстве золота, и производстве банкноты в 5000 рублей. Если ты прдсчитаешь стоимость всего, что позволяет этим 5000 иметь ценность и способность быть обменеными, то это будет одинаково с тем же, что нужно и для золота. Так что сравнение неверное.
Биткоин запросто можно монополизировать государство - для этого достаточно иметь более половины всех мощностей и повысить цены для потребителей энергии, которые не входят в гочударственную сеть.
Здравствуйте, можете помочь по запуску интерфейса?
Есть предложение
Как ты записан в ТГ ?)
Вопрос, а под такую криптовалюту, возможно сделать сайт нормальный например, и удобный для пользователя интерфейс, не вводить например код для проверки баланса, а нажать кнопку для этого.
Возможно. Об этом можете посмотреть также в мной написанной второй методичке об интерфейсах: github.com/Number571/Blockchain/blob/master/_example/interface.pdf. Там пишется графический интерфейс построенный на архитектуре клиент-сервер для кастомной криптовалюты (приведённой в данном видео) и для эфириума.
@@CryptoFunIT А с вами можно как-то пообщатся? Телеграм например
@@rn4803 я только в вк: vk.com/number571
@@CryptoFunIT Кроме ВК, можно еще где-то? Нету ВК
Где можно найти видос, где пишут код крипты на Python?
Я сейчас тоже ищу
В планах заселить свою с геораспределеним на радиочастотах и на raspbey pi
1:01 - не верно. Трудовая теория Адама Смита, представляющая товар в виде трудового эквивалента на золоте не работает. Это как со стаканом воды в пустыне или с бриллиантом(или с бутылкой вина) - их цена может варьироваться исходя из множества факторов(рынок, редкость продукта, сложность добычи продукта, культурная ценность продукта итд итп).
Строго-экономически, деньги - это продукт с абсолютной ликвидностью, с рядом свойств и функций.
3:29 криптовалюта не является деньгами в прямом смысле, а значит не может быть капиталом. Она, скорее, отражает богатства в данный конкретный момент в зависимости от волатильности(скорее финансовый инструмент и даже не всегда "актив"). Капиталом можно назвать завод или твои навыки в проге\твой канал - это приносят прибыль и позволяет её приращивать, а криптовалюта может показывать отрицательную прибыль во время волатильности.
Редкость продукта вполне определяется сложностью его добычи, следовательно и бОльшими трудозатратами. Тот же стакан воды в пустыне, который чтобы добыть, нужно будет приложить больше усилий, чем в местах, где есть по-умолчанию воды (на начальных этапах без конкуренции это может привести к сверхприбыли, но с появлением конкуренции сверхприбыль будет стремится к себестоимости). При помощи же себестоимости только и начинается появление рынка на этот товар, сам по себе рынок не появляется. Культурная ценность же есть уже элемент экзотики и какой-то человек может купить фантик за 5000$ лишь для коллекции, но при этом реальная его стоимость не будет составлять этих денег.
Золото же есть особый товар, так как является всеобщим эквивалентом, что сродни определению денег. Тот кто его добывает получает одновременно и товар, и деньги для последующего обмена, тем не менее, сложность его добычи как раз и определяется его себестоимостью относительно всех других товаров, к которым он относится как эквивалент. Деньги же в знаковом виде не имеют себестоимости и способны её проецироваться лишь на другие предметы как Т-Д-Т, тем самым являясь лишь промежуточной стадией для обмена Т-Т, либо как Д-Т-Д, имея тенденцию к наращиванию капитала через Д-Д.
@@CryptoFunIT золото, как и зерно - это ресурсы. Их редкость действительно иногда определяется сложностью добычи, но чаще она определяется именно ограниченностью(невозможностью добыть еще несмотря ни на что). Золотого стандарта нет и быть не может(особенно в странах, где золота нет); а деньги ныне, выступая как мировые деньги и как меновый агент отражают на мировом рынке ВСЕ РЕСУРСЫ государств(это хорошо видно как на финансовых рынках, так и в международной торговле). Всеобщий эквивалент с абсолютной ликвидностью - это да, но у денег есть еще функции и свойства. Золото ты так просто не разделишь(это не удобно, придется зубами кусать или плавить :D), а вот деньги делимы(одно из свойств). Золото хранить и учитывать сложнее, а вот деньги просто. С золотом гораздо сложнее расплачиваться за ресурсы\услугу в разных странах(да и в своей тоже)\в международной торговле, а вот деньги прекрасное средство платежа. С этой точки зрения биткоин действительно является валютой, но деньгами в полной мере - нет(из-за волатильности и не абсолютной ликвидности).
Про капитал... ой, слушай, я, наверн, зря это начал... Давай прекратим это и перейдем от кидания фактами друг в друга к делу)))? Я хотел спросить про PoC и демонстрации CVE, ведь ты, вроде, неплохо разбираешься в криптографии. Я находил пару уязвимостей в ssh и в различных сетевых технологиях, в парочке реализаций криптографических протоколов... возможны ли такие рубрики на канале с демонстрациями? Могу свой список накидать - от андроид-платформы до геймбоя и sdr радио.
@@alexmitnik9757 такие рубрики вполне возможны, но точно не смогу сказать, что это будет в ближайшем будущем.
@@alexmitnik9757 Если переосмысливать первую главу Капитала, на которую неявно ссылается автор, то цена есть результат алгоритма установления стоимости. И форма стоимости определяется алгоритмом определения стоимости и состоянием рынка, его участниками и номенклатурой товаров.
Вопрос определения "справедливой" или равновесной цены сам по себе носит оптимизационный характер, где "трудовой эквивалент" может быть одним из решений, и я подозреваю, что оно довольно устойчиво. Если вопрос состоит чисто в терминологическом наполнении понятия "товар", который изначально несёт смысл физической вещи, то речь в таком случае идёт чисто о единицах обмена. Это если, конечно, мы за ММТ не заговорим.
Здравствуйте. Я прошу извинить меня за мой глупый вопрос. Я одного не понимаю. Как блоки которые были подписаны одним майнерам передаются остальным майнерам чтобы они тоже проверили его на правильность или валидность и добавляли их у себя в блокчейн?
Блоки никак не зашифрованы и вся информация в них является открытой. Соответственно любой майнер, и не майнер в том числе, может проверить правильность данных отдельного выбранного блока. Правильность блока осуществляется благодаря трём основным критериям - хешу, подписи и доказательству работы. Всё это проверить не составляет труда, хеш можно вычислить из значений, хранимых в блоке, проверить подпись можно исходя из оставленного открытого ключа майнера в блоке, доказательство работы можно проверить конкатенацией хеша блока с числом nonce и последующим хешированием. При этом, если изменить хоть один элемент из этих трёх значений, то блок автоматически становится невалидным. Нельзя изменить данные не затрагивая хеш, нельзя изменить хеш не затрагивая подписи и доказательство работы, нельзя изменить подпись, не затрагивая информацию о майнере внутри блока (соответственно должны измениться данные, следовательно и хеш, следовательно и доказательство работы) и нельзя украсть доказательство работы, потому что оно привязано к конкретному хешу.
@@CryptoFunIT А результат проверки нового блока другими майнерами записывается в базу или в блок?
@@user-hh1zs2xi4o если блок валиден, он просто добавится в блокчейн майнеров, иначе проигнорируется.
@@CryptoFunIT Я хочу написать ваш блокчейн на JAVA так как я не знаю языка GO. Я хотел спросить чего не хватает в вашем блокчейне чтобы она считалась полноценной? И еще я могу оброшатся к вам за помощью.
@@user-hh1zs2xi4o блокчейн не является стандартизированной технологией и потому, каждая блокчейн система может выглядить по разному. Расписанная в видео криптовалюта является вполне полноценной блокчейн системой, исходя из терминов и их значений. Другой вопрос в том, что можно в неё добавить. В моём приложенном методическом пособии есть глава связанная с сетью, там разбирается, что для более продвинутого использования необходимы сервера меток времени, сервера сетевых адресов майнеров и желательно пул сервера майнеров. Также, в реализованном блокчейне сложность блока неизменяема и это полезно лишь для демонстрации. Сложность должна подстраиваться под константное время, например 10 минут. Можно также ещё рассматривать различия между написанной и готовыми блокчейн технологиями. Так например, в нашей версии адрес - это публичный ключ, в биткоине адрес - это хешированный публичный ключ. Но эти различия уже несут частный характер и могут от одной блокчейн технологии к другой сильно меняться.
не запускается проект с гитхаба
Если кратце нужен только один пк?
Вххвхаахахаххв
никуя не понятно,но очень интересно))
nullptr: хахахахах, я тут притаился)))(
Сколько лет понадобилось все это выучить? И сколько учил первый ЯП и какой?
Именно чтобы блокчейн выучить, не знаю. Если же вопрос в том, сколько занимаюсь программированием, то примерно 3 года. Первым ЯП был Python, но это сразу скажу неудачный выбор для новичка, потому что время связанное с ним было больше простоем, чем обучением.
@@CryptoFunIT Привет, спасибо за отличный контент. Ты единственный на ютьюбе у кого он просто офигенный. С какого языка программирования ты посоветуешь начать?
@@crazyhornet3438 с языка Си.
@@CryptoFunIT спасибо
@@CryptoFunIT мне кажется новичку пайтон в разы проще. Хоть и не везде применим, но для старта в теме в самый раз
"Hello bro)" ;
Подскажите пожалуйста, куда этот код потом вставить? Что с ним делать дальше?) Чтобы могли майнить, а так же покупать на бирже, какое количество монет я могу создать максимальное? от каких критериев (мощнастей) зависит? тема не раскрыта до конца, спасибо за внимание и информацию.
Теперь задача учить go
а на каком языке вы пишите программу?
GO
Это не методичка это целая книга!
интресно но многое не ясно!!
Привет очень интересно, я тоже пытаюсь свою крипту запрограммировать только на python 3
Смог?)
@@lauriekatan4927 Все, пропал)
@@user-ti1sn9sv4s он напитонил себе монет, продал хомякам, теперь кайфует где-то))
@@lauriekatan4927 Ну все, пошел тоже напитоню или нагую монет себе)
@@user-ti1sn9sv4s удачи бро, не забывай ютуб)
Какая ОС и можно ссылку на обои😁
Обои нашёл, а ОС это последняя убунту?
@@wowlikon Parrot OS
только один вопрос в какой программе все сделано?
Sublime + Terminal
@@CryptoFunIT спасибо и больше ничего не нужно?
и еще а исходники с боку которые в папке где взять?
все сделал а терминал не запускает и красным фоном горит все в нем, что делать?
а на Python можно так?
@@vmwe6588 можно попробовать ) Как с тобой связаться?
Построим крпито-коммунизм
Заказать кофе, пиццу... Почему я не мог вывести оставшиеся на кошельке деньги. Транзакчия висела. Через 3 недели только пришли, когда биток уже свалился с 59к до 30к Недоделаная технология, илил это потомучто я комиссию в 0 поставил. Через лайткоин за 5 минут пришло все.
Конечно из-за комиссии.
Одно дело это было бы в сети Lightning Network, где мгновенные переводы и нулевые комиссии (поправьте кто-нибудь, если ошибаюсь). Какому майнеру будет интересно обрабатывать вашу заявку за просто так? (Риторический вопрос)
Не могу со смарт контракта вывести деньги . Эту монету постоянно пампят ( Sweet SOL ) СКАМ
Виталик с помощью его зделал ахахахахаххахаха, и все таки как он назвал свою криптовалюту.?(сам автор)
У меня одного чёткости видео нет?
СДЕЛАЙ НА С+++
А это типа п
Реальноя валюта
для тех кто шарит, я купил chainlink по 1.8$
А продал за сколько?
Не так много иксов)
Эх такой бы гайд но на каком нибудь C# или C++, ну или на кройняк на Python, просто вообще хз, чё такое этот ваш GO и кто его вообще использует.
Тоже согл. Можно на питоне😁
Вот абсолютно с Тобой единодушен! Нужно хотя бы на Пайтоне, а это что?!
Привет, сможешь мне создать свою криптовалюту, пожалуйста.
Будет стоить больше 200$
Ваш блокчейн можно обмануть
БИТКОИН КОШЕЛЁК НАПИСАН НА ПЛЮСАХ
Много биткоин кошельков)
Ты снимаешь ролик целиком? Если да, то лучше раздели его на вступление, основные видео и концовку, иначе я не понимаю почему ты так запинаешься в начале. Ты пользуешься сценарием?
Непонятная белиберда.
Молодец!