Git fork. Зачем нужны форки и как с ними работать
Как и в случае с ребейзом, с форками в гите я разобрался не сразу. Вроде ничего особенного там нет, это просто копия репозитория, но натыкаешься на какие-то подводные камни и не сразу понимаешь, как их обойти. Да и вообще, зачем нужны эти форки, тоже осознаешь не сразу. Когда врубаешься, все становится просто, ну это как всегда.
Я не сторонник подхода «чо тут не понимать, тупой штоле» и попробую рассказать человеческими словами, что вообще такое форки, зачем они нужны и как с ними работать. А вы оцените, как получилось. Синьор git девелоперам статья покажется банальщиной, но тем, кто еще не успел обрести такой титул, будет полезно.
Начнем с примера.
Ты работаешь в компании Company в какой-то команде и со своими ребятами пишешь код, например, блога вашего сайта. Рядом сидят ребята из другой команды, которые занимаются админкой. У каждой команды отдельный репозиторий, вы работаете и друг другу не мешаете.
ФОРК ПЛЕЕР УСТАНОВКА ПЛЕЙ ЛИСТОВ 2023 год
Вам приходит задача — дать возможность разрешать или запрещать комментировать статьи блога отдельным пользователям. Сами вы это сделать не можете. Такие данные о пользователях хранятся не на вашей стороне, а у ребят, занимающихся админкой. У них есть списки пользователей и все данные по ним. А вы тянете эти данные по апи.
Прямо микросервисы, все как положено.
Доступа к их репозиторию нет, поэтому идете договариваться. Обсуждаете вместе детали. Так, нужно завести поле в базе, какое-нибудь булево isAllowedComments, соответственно, подготовить миграцию, вывести это поле отдельной колонкой в таблице пользователей, там поставить чекбокс и уметь сохранять это в базу. А еще в апи, которое вы дергаете, нужно добавить в респонсе это самое поле.
Вроде немного, ребята говорят, окей, через пару дней сделаем. И на самом деле делают, все хорошо.
Небольшие просьбы вроде этой появляются все чаще. То вам нужно накатить миграцию и разбанить всех пользователей, которые зарегались больше года назад. То в апи в респонсе вам понадобилось количество комментов пользователя. И каждый раз вы идете с такой мелочью к соседям и просите это сделать.
Рано или поздно ребятам из админки это надоедает, потому что у них хватает и своей работы. Они предлагают вам дать права на репозиторий и пробовать такие небольшие задачи делать самим. Говорят, мол, с такой фигней типа добавления поля в респонс вы и сами справитесь. Если что, зовите, поможем.
Прав на пуш в мастер, конечно, никто не даст, но свои ветки создавайте и присылайте мердж-реквесты. Мы смотрим, если все хорошо, то мерджим в мастер и выкладываем в прод. Все довольны. И нам работы меньше, и вам не ждать, пока у нас руки дойдут до вашей задачи.
Вы с командой соглашаетесь. Ты клонируешь их репозиторий и пилишь фичи. Примерно так
Дальше идешь в битбакеты-гитхабы, в репозиторий админки, делаешь мердж-реквест и ждешь, когда его примут. Обычная схема. Мердж-реквест примерно везде делается одинаково: ищешь кнопку «Создать мердж-реквест» или пулл-реквест, выбираешь свою ветку, затем выбираешь, куда сливать (обычно уже по умолчанию будет мастер) и жмешь «Отправить».
Форки: что это? простыми словами!
Проходит пара месяцев. Ты случайно замечаешь в репозитории админки ветку petya/update-email. Спрашиваешь ребят из админки, а что за Петя вам коммитит? Те говорят, а, это чувак из отдела емейлов, мы им тоже доступ дали, как и вам. Они тоже приходили к нам по 3 раза в месяц, мы задолбались и теперь с ними работаем по вашей схеме.
Ничего, все довольны.
Проходит год. Команд, которые работают по такой схеме, уже десяток. В репозитории появляются ветки
- vasya/blog-user-ban
- petya-ivanov/email_new_field
- email/migration
- blog/hotfix
- petrov/srochno-v-prod
Эти ветки множатся, мерджатся между собой и вообще живут своей жизнью. Называются они как попало, коммиты подписывают кто во что горазд, старые ветки не удаляются после мерджей. Надвигается хаос.
Конечно, ребятам из админки не очень нравится такой мусор в их репозитории. Сначала они пытаются с этим бороться и проводить разъяснительные работы. Пытаются рассказать о правилах приличия в их репозитории. Пишут доку и официальное письмо всем программистам, где все подробно рассказывают. Как именовать ветки, как подписывать коммиты, не забывать удалять старые ветки, не заводить лишние ветки без надобности и прочее.
Это дело хорошее, но бесполезное. В компании полсотни разрабов, у каждого своя команда и свои правила работы с репозиторием. Люди приходят и уходят, эти правила уже никто не помнит, да и всем пофигу, главное фичу сделать, чего там заморачиваться с ветками и коммитами. Пусть у команды админки об этом голова болит.
Главное, у нас все хорошо, в своем командном проекте, потому что мы никого к себе не пускаем, ахаха. Поэтому и ветки красиво называются, и коммиты адекватно подписаны. Нас тут 5 человек работают, уж между собой-то договоримся.
А между тем в репозитории админки образуется все больший трэш. То злодеи опять пушат ветки с названиями не по ГОСТу, и тимлида бесят. То сам тимлид с похмелья выдал новому чуваку доступы на пуш в мастер, а тот на радостях запушил миграцию, которая пол-сайта уронила. То по ошибке смерджили petya/hotfix вместо vasya/hotfix. В общем весело всем, кроме ребят из админки.
И вот однажды что-то изменилось. Тебе понадобилось запилить новую фичу и ты привычно набиваешь
git checkout master git pull —rebase origin master git checkout -b vasya/fix-comments . git push origin vasya/fix-comments waiting. Rejected
Опа, что за фигня? Пробуешь еще раз на всякий случай — снова rejected. Пишешь команде админки
- репца, привет, я чот запушить вам не могу, вы права сняли?
- привет, Петя, да, мы убрали права на пуш для всех не-членов нашей команды
- эээ, ну во-первых, я Вася, а во-вторых, как мне теперь делать?
- теперь все мердж-реквесты принимаются из форков
- окей, а на фига это надо? Все равно же в мастер нельзя было запушить, все и так через мердж-реквесты было.
- видишь ли, Вася, у нас тут столько народа, что мы уже не понимаем, кто Вася, а кто Петя, а кто вообще мимо проходил. И в ваших ветках мы тут просто тонем, git fetch невозможно сделать. Мы пытались донести до коллег, что это наш репозиторий и мы просим соблюдать простые правила работы с ним. Но народа много и все решили, что наш проект это помойка, в которой можно делать, что угодно. Все равно ж в мастер не попадет, а там разберутся. Ну и пара инцидентов с неправильно выданными правами. Да, наш косяк, но вас слишком много, чтобы за каждым уследить. Короче, форкайте репозиторий и резвитесь там, как хотите. А нам отправляйте только мердж-реквесты. Вам без разницы, а нам спокойней и в репозитории чище.
- окей, понятно
Понятно-то оно понятно, но ты с форками не работал. Ладно, думаешь, разберешься же, не тупой. Мердж-реквест что ли из форка не отправишь? К тому же ты читал git-scm и знаешь, что форк — это просто копия репозитория. Начинаешь разбираться.
Сначала идешь в гитхаб-битбакет и ищешь там в нужном репозитории кнопку Fork. Обычно она недалеко от кнопки clone. Жмешь на fork и для тебя создается проект. Если исходный был company/adminka.git, то твой будет примерно vasya/adminka.git. Ну или примерно так. Дальше клонируешь его как обычно
Естественно, свой форк клонируешь, а не оригинальный. Затем там создаешь привычно ветку и пушишь ее.
git checkout -b blog/new-field . git push origin blog/new-field
Заходишь в гитхаб-битбакет исходного репозитория, жмешь «Создать мердж-реквест», выбираешь свою ветку, она будет называться примерно vasya/adminka/blog/new-field, и ждешь, пока мердж-реквест примут.
Пока все ровно так, как ты привык, ничего нового. Мердж-реквест принимают и все хорошо.
Через месяц тебе нужно сделать еще одну задачу. Ты привычно подтягиваешь мастер и настораживаешься
git pull —rebase origin master From bitbucket.org:vasya/adminka Current branch master is up to date.
За месяц нет новых коммитов в мастере? Да не верю. Идешь в репозиторий админки, смотришь, там до фига коммитов, чуть не каждый день в мастер пушат. В чем дело?
Присматриваешься, откуда ты пулишься и видишь, что это vasya/adminka. Это твой репозиторий, твой форк. Конечно, ты его месяц не трогал и он ничего не знает о новых коммитах в исходном проекте. Их нужно подтянуть и только тогда создавать новую ветку. Можно сделать это так
То есть вместо origin указываешь адрес нужного репозитория. И вот теперь-то подтянется мастер именно исходного проекта, а не твоего. А еще лучше сделать так, чтобы не набивать каждый раз длинный адрес
Теперь у тебя есть origin — твой репозиторий, твой форк, а есть upstream — оригинальный репозиторий. И ты можешь пулиться, указывая сразу upstream
git pull —rebase upstream master
Вот теперь твой мастер актуален, можешь создавать ветку и пушить в репозиторий. Пушить уже в origin, то есть свой, потому что в upstream, исходный, тебе пушить никто не даст. То есть еще раз, пулишь мастер так
git pull —rebase upstream master
а пушишь свою ветку так
git push origin branch-name
По сути это все, что нужно знать о работе с форками. После этого идешь создавать мердж-реквест, твоя ветка уже видна в исходном репозитории. Если ты работал над веткой, а за это время в мастер накидали еще коммитов, то перед отправкой мердж-реквеста стоит отребейзиться от мастера
git checkout master git pull —rebase upstream master git checkout branch-name git rebase master git push -f origin branch-name
Тут можешь делать, как хочешь, твой форк, твои правила. Можешь пушить с форсом, как у меня в примере. Если не хочешь с форсом, то можешь создать отдельную ветку и положить коммит в нее. Как угодно. Главное, чтобы твои коммиты лежали поверх свежих коммитов из мастера.
Тогда никто не будет возникать при рассмотрении мердж-реквеста, а ты будешь уверен, что у тебя самые свежие обновления.
Подробнее почитать про ребейз можно здесь — git merge и rebase.
И на этом все. Главное, что нужно сделать, это добавить upstream и четко понимать, в чем его отличие от origin.
С форками можно работать и в компании на полсотни разработчиков, но особенно это популярно в опенсорсе. Возьмите какой-нибудь проект, например, vuejs, у него больше 20 тысяч форков и 3 сотни контрибьюторов. Представьте, что бы творилось в репозитории, пусти всех этих энтузиастов пушить свои правки. А так они спокойно работают со своими форками и присылают пулл-реквесты, не засоряя проект.
Всем удачи. Любите гит, он совсем не страшный 🙂
P.S. Пожалуй, это самая большая статья про форки, которую можно было написать =))
P.P.S. И небольшой опрос напоследок
Все статьи о git
- Курс «Git для начинающих». Видеоуроки
- Git merge vs rebase для начинающих
- Git fork. Что такое форки и как с ними работать
- Как я перестал бояться и полюбил git
- Git bisect. Ищем баги с помощью гита
- 12 причин работать с гитом в командной строке
- Как склеить коммиты в git
- Мой набор команд при работе с git
- Как работать с git в Modx
- Как установить git в Linux Mint
- Визуализация истории git с помощью Gource
Источник: webdevkin.ru
Что такое форк. Объясняем простыми словами
Программное обеспечение необходимо обновлять, улучшать или адаптировать к новым правилам. Форк — это как раз такая процедура в мире блокчейна и криптовалют.
Форк — событие в блокчейне, где основной проект дублируется с изменением в нем (то есть с изменением протокола). Блокчейн имеет два пути. Он может возникать исходя из истории транзакций или из-за новой политики, которая определяет, принимаете ли вы транзакцию или нет.
Оба пути могут работать без коллизий, но цепочка, которую будет использовать большее количество людей, будет длиться дольше всего (можно использовать оба пути, но нельзя передавать криптовалюту с одного пути на другой). Например, все больше и больше людей отказываются от использования Bitcoin Cash из-за постоянного снижения его популярности и доверия среди пользователей. Все участники сети должны следовать одним и тем же правилам, чтобы продолжать участвовать в данной цепочке блоков. Набор законов / правил, по которым работает данная сеть, называется «протоколом».
Другими словами, форк — это разветвление оригинального функционала блокчейна на его новый аналог. Форк, от английского слова Fork, т.е. вилка и это логично, ведь функционал вы можете представить в виде оригинального кода (ручку вилки) и разветвления на новый (зубцы).
В качестве примера можно представить ситукцию с языками общения. Можно представить, что до разветвления все общались на английском (британском), а по новым правилам следует перейти на американский вариант, а теперь часть узлов стала общаться только на американском, хотя прекрасно понимает и британский. Так же и работавшие ранее на традиционном английском узлы хорошо понимают американский.
Какие типы форков есть?
Мы можем выделить два типа форков, которые очень похожи друг на друга. Софт-форк — это соглашение большинства узлов, и хард-форк — согласие всех узлов.
— Софт-форк — это так называемая адаптация протокола к текущим условиям в данной цепочке блоков или криптовалюте. Примером может служить уточнение деталей, связанных с размером блоков или небольшое изменение характеристик транзакции. Подавляющее большинство участников сети должно быть за такое изменение, чтобы появился софт-форк.
— Хард-форк — это создание новой цепочки с той же историей, что и исходная цепочка, но с изменениями протокола, которые должны быть приняты всей сетью. Хард-форк происходит, когда узлы новой версии блокчейна не принимают предыдущий протокол. Добавление нового правила в код и создает этот самый хард-форк.
Каковы причины внедрения форка?
Есть много причин, по которым разработчики, разрабатывающие данный блокчейн, реализуют форки. Прежде всего, они руководствуются исправлением ошибок, например повышением безопасности в более старом программном обеспечении или адаптацией сети к текущему состоянию масштабируемости.
Софт и хард-форки по сути одинаковы — в том смысле, что после изменения существующего кода платформы криптовалюты старая версия (например, биткойн) остается в сети, а новая (например, биткойн-наличные) создается. В случае софт-форка, форк имеет только один блокчейн (т.е. обновляется вся сеть), в то время как хард-форк дублирует старую блок-цепочку и создает новую — тогда есть две сети. Хотя в основном пользователи сети решают, какая цепочка будет более популярной.
Есть ли у биткойна форк?
У биткойна было много софт- и хард-форков. Самый популярный хард-форк — биткойн-кэш (Bitcoin Cash), созданный 1 августа 2017 года. Раскол произошел из-за разногласий сообщества относительно изменений протокола и дальнейшего развития всей сети биткойнов. Группа майнеров хотела ввести блоки размером 8 МБ (размер блока биткойнов — 1 МБ).
Вторая группа, то есть пользователи и разработчики, предложили ввести софт-форк — Segregated Witness (SegWit), то есть сжатие данных транзакции для увеличения количества данных в каждом блоке. Из-за отсутствия соглашения был создан биткойн-кэш с блоками по 8 МБ и одинаковой историей транзакций. Во время разделения на каждый адрес BTC в сети было отправлено адекватное количество новой криптовалюты BCH в соотношении 1:1. Любой, у кого в то время был хард-форк, например 100 BTC, также получил 100 BCH на кошелек BCH. То же произошло и с биткойн-золотом (Bitcoin Gold), каждый держатель BTC получил равную сумму.
Был ли у Ethereum форк?
В сети Ethereum также было множество софт- и хард-форков. Самым спорным был откат транзакции, вызванный хакерской атакой на децентрализованную автономную организацию (DAO). После взлома сообщество Ethereum почти единогласно проголосовало за отмену транзакции. 20 июля 2016 года была создана Ethereum Classic (ETC — де-факто родительская цепочка), на которой у хакера все еще были средства и Ethereum, на котором эфир был взят и возвращен жертвам. Хотя обе имеют одну и ту же историю до 20 июля 2016 года, они существуют в разных сетях.
Будущее обновление Ethereum 2.0 с переходом от алгоритма PoW на PoS также будет хард-форком.
Есть ли форки биткойнов других криптовалют?
Многие криптовалюты полагаются на исходный код биткойнов, но не имеют одинаковой истории транзакций и не связаны с его блокчейном. В некоторых случаях единственное сходство заключается в основном протоколе, но значительно измененном разработчиками. Примеры таких криптовалют: Dash (DASH), Litecoin (LTC) и Dogecoin (DOGE). Так, например, Dash был основан на коде Bitcoin с изменениями в правилах распределения награды за майнинг и ноды. Litecoin также является изменённым Bitcoin, а Dogecoin основан на коде Litecoin что также делает его дочерним от биткоина.
Как распознать хард-форк?
Хард-форки — это громкие события, которые переводят пользователей в свою цепочку блоков из родительской цепочки. В результате они часто предлагают бесплатные криптовалюты, при этом в день обмена пользователи получают разветвленную криптовалюту 1:1 (что касается содержимого кошелька в домашней цепочке), но обычно они привлекают гораздо больше криптовалют. Большинство форков добавляют к исходному имени дополнительный элемент, например, Bitcoin Gold, Bitcoin Diamond, Bitcoin Satoshi или Ethereum classic.
Что касается инвестиций, вам следует остерегаться новых хард-форков, потому что сам проект очень популярен в первые дни, что может оказаться неправильным. В последующие дни получатели поддельной криптовалюты продают ее на биржах, что вызывает снижение ликвидности и курса из-за снижения интереса.
Источник: digital-money.info
Что такое форк в программировании
У разработчиков есть понятие «форк» — оно часто встречается в командной разработке и в проектах с открытым кодом. Посмотрите, что это, и когда вам предложат сделать форк, вы будете во всеоружии.
Пример: игра в дурака
Игра в дурака — одна из самых простых карточных игр. У всех на старте по 6 карт, есть колода, есть козырные карты, все ходят по очереди и подкидывают друг другу карты, чтобы самому остаться без карт.
Но в разных компаниях принято играть в дурака по-разному:
- можно подкидывать карты не только тому, кто ходил, но и всем остальным — это подкидной дурак;
- можно подкидывать карты без ограничений по их количеству — это подкидной до кучи;
- можно класть такую же карту и переводить ход другому игроку, чтобы не отбиваться самому — это переводной дурак;
- можно не класть, а показать козырную карту, чтобы перевести ход — это переводной с проездным.
И ещё десяток разных вариантов в зависимости от компании или от того, как принято в этом месте.
Все основные правила дурака сохраняются, просто каждая версия добавляет в него что-то своё (например, возможность перевести ход). Но в основе это всё тот же дурак. Если вы знаете основные правила, то легко сможете разобраться в каждом новом варианте игры.
Все эти разные версии игры — это форки исходного дурака. Запомните пока эту аналогию, а чтобы было проще разбираться дальше, вот вам ещё одна мысль:
Форк — это новая программа на базе какой-то версии исходной программы. Она может дальше развиваться самостоятельно, без оглядки на исходную программу.
Откуда такое название
Форк в переводе с английского — это вилка, развилка или ответвление (fork). Этот термин стали использовать, потому что ручка вилки — это как будто основная программа, а зубцы — ответвления от неё. Чтобы было понятнее, вот картинка с форками игры в дурака.
Каждое ответвление — это своя отдельная версия игры, которая живёт и развивается по своим правилам. А вместе все эти ответвления напоминают вилку — отсюда и название.
Если есть время, посмотрите ветку форков Линукса в википедии. Предупреждаем: она большая и это надолго.
Форки в программировании
В программировании всё работает точно так же: у некоторых программ появляются самостоятельные ответвления, которые начинают жить своей жизнью. Но для этого нужно два условия:
- У программы исходный код находится под лицензией, которая разрешает свободное использование и копирование этого кода, в том числе создание форков.
- Есть разработчики, которые готовы вкладывать в этот проект время и силы. Если просто форкнуть исходный проект, но ничего с ним не делать, он так и останется замороженной и устаревшей версией, которой никто не пользуется.
Чтобы форк был успешным, в него тоже нужно вкладывать много времени и сил, как в основной продукт. Если им не заниматься, форк умрёт. Та же судьба ждёт форк, если им никто не будет пользоваться — в конце концов чаще всего разработчикам надоедает поддерживать софт просто так и они его забрасывают.
Примеры форков
В современном мире многие успешные сервисы, продукты и программы — это форки. Смотрите сами:
- Движок WebKit (используется в Safari) — это форк движка KHTML из рабочей среды KDE для Линукса.
- Вордпресс — форк b2/CafeLog.
- OpenOffice — форк СтарОфиса, а LibreOffice — это форк ОпенОфиса.
- Веб-сервер Апач — форк NCSA HTTPd.
- Microsoft SQL Server — форк Sybase SQL Server.
- Половина криптовалют — это форки исходного алгоритма биткоина в разных вариантах.
А вот ещё интересный случай, как бывает с форками. Сначала была библиотека node.js, потом от неё пошёл форк io.js, а в 2015 году этот форк стал официальным node.js.
Зачем нужны форки
Причин может быть много:
- официальные разработчики долго не добавляют в софт те функции, которые нужны пользователям;
- хочется выпустить свою, более безопасную, красивую или более стабильную версию, потому что ну сколько можно, надоело уже пользоваться этим глючным изделием;
- компания закрывается и официально перестаёт поддерживать какой-то софт;
- разработчики уходят из компании, чтобы развивать продукт так, как им хочется.
Главная причина появления форков — желание сделать лучше. Но обычно получается не лучше, а просто по-другому.
Форк и версии
Иногда форк путают с версиями, хотя у них есть важное отличие:
- новую версию софта делает та же компания или разработчик, что и предыдущую;
- форк делает новая и другая команда, которая сама решает, как будет развиваться проект.
Как сделать свой форк
- Скопировать себе исходный код или нажать кнопку Fork в проекте на гитхабе.
- Назвать его как угодно.
- Пожалеть об этом, потому что теперь вы в ответе за собственный софт, который нужно развивать.
Источник: thecode.media
Что такое форк? Хардфорк и софтфорк криптовалют
Форк криптовалюты – это изменение исходного кода, другими словами fork/форк (от англ. «вилка»).
Биткоин по своей сути является программным обеспечением, в котором открыт исходный код, что дает возможность любому желающему использовать по своему усмотрению, создавать дубль и изменять их.
Благодаря такой вилке признается подлинность блока в блокчейне. При этом каждая из видлок отличается друг от друга алгоритмом шифрования.
Виды форков
Существует две основные разновидности форков: хардфорк и софтфорк. Последний можно обозначить как легкую модификацию исходного кода, а первый – жесткой.
Если разобрать чуть подробнее, что такое хардфорк, прежде всего нужно понять, что такое софтфорк.
При преобразовании правил софтфорку не требуется обновлять ПО для выполнения измененных правил. Когда в сети некоторые узлы не воспримут новых правил, они все равно способны найти взаимодействие с узлами, те которые уже применяют новые правила.
Он создан для улучшения функциональности качеств любой платежной системы. Если говорить образно, софтфорк выступает в качестве косметического ремонта системы.
Хардфорк существует как противоположность софтфорку. Он также вносит изменения в исходный код, но они касаются основополагающих правил действующих процессов системы. По этой причине новые и старые алгоритмы диссонируют один с другим и у них не выходит существовать внутри одного блокчейна. Из-за чего происходит разделение цепи на две отдельные системы, поэтому отделяется новая криптовалюта, в которой содержатся части старой монеты, но она уже наделена своими особенностями.
Другими словами, форки — это ответвленные проекты. В роли известных примеров хардфорков могут выступать Bitcoin Cash, а также Bitcoin Gold и не менее известный Ethereum Classic.
Разветвление — не единственная особенность, различающая софтфорк и хардфорк. Речь идет об обратимости изменений. Софтфорк может не воспринять нововведение, у инициаторов есть возможность отмены внедренных алгоритмов. Хардфорк же не способен при случае совершить откат и соединение двух ветвей. Состоявшаяся жесткая вилка может двигать лишь по трем сценариям.
Как это действует в криптовалютах?
По своей сути форк криптовалюты — это смена правил работы из-за необходимости корректировки протокола. Иначе говоря, чтобы получился более качественный и надежный биткоин, порой необходимо прибегнуть к одному или другому виду форка. Часто это продиктовано мерами безопасности.
Например, после хардфорка какая-нибудь из появившихся цепочек системы вполне может исчезнуть, а может и нет – в зависимости от того, насколько сильная хешевая мощность у каждой из них. С большей мощностью ветви выживают чаще. Жесткий форк это доказал еще в 2016-м, когда новая ветка сети Ethereum продолжала работать под тем же именем (ETH), но одновременно была сохранена и оригинальная цепочка Ethereum Classic (или ETC).
Некоторые утверждают, что криптовалюты – это форки биткоина
На самом деле так можно думать, говоря отдельно про каждый форк, что это точная копия уже имеющейся криптовалюты. После прочтения статьи можете попробовать скопировать на свой ПК биткоиновский исходный код, сменить название, а также правила формирования новых валют и покорпеть за созданием программы. А потом намайнить приличную сумму монет и позвать друзей и всех знакомых присоединиться к увлекательной экономической игре. Бывает так, что из такого клона выходят вполне весомые проекты.
Все ли криптовалюты – это форки или альткоины?
Однозначно не все. Ведь есть цветные монеты, а еще метакоины и множество разных сложных токенов, которые по своей сути не альткоины и не форки.
Не лишним будет добавить пару слов об альткоине. Этим словом называют любую альтернативную криптовалюту, но не биткоин. Но альткоин нельзя называть клоном существующих криптовалют. На деле альткоин и форк — очень размытые понятия и способны применяться к единому для них проекту по ситуации.
Альткоин криптовалюты, если у него имеются серьезные отличия от других проектов. К ним можно причислить Dash, а также Ethereum. Не меньше по функциям можно причислить к альткоину MaidSafe и NXT. При этом такие проекты, как Dogecoin и Expanse, более точно следует называть форками.
Первым альткоином стал Namecoin, появившийся на рынке в 2011 в качестве цифровой денежной единицы, хотя задумывался как децентрализованное доменное имя. Эту структуру можно использовать не только, чтобы майнить монеты, но и в создании разных онлайн-ресурсов, закрытых от политического влияния государств и отдельных регионов.
Источник: cryptograph.life
Форк (fork) — что это в программировании
Форк — это «ответвление» в череде изменений какого-либо проекта, то есть создание альтернативного пути развития для него (по сути — нового проекта, базирующегося на другом проекте), т.е. создание нового репозитория с состоянием базирующемся на каком-то из состояний другого репозитория (который «форкнули»).
Копирование как форк
Часто форк начинается с копирования уже имеющегося репозитория, с целью начать вносить в него изменения, независимосимо от изменений, которые вносят разработчики исходной программы.
В этом смысле факт копирования рерозиторий тоже называют форком, хотя на практике, это копированию может делаться для внесения незначительных правок, а вовсе не для создания альтернативного проекта.
Как сделать форк
- Как сделать fork на github.com (видео): https://youtu.be/Mo_j3rL9rJg
Источник: fkn.ktu10.com