Как создать криптовалюту: пошаговая инструкция. Создание собственной криптовалюты с нуля Создать рабочий код для криптовалюты


Я уверен, все знают, что такое криптовалюта, и возможно вы даже знаете, с чем её едят, и сами пользовались. В 2009 году благодаря Satoshi Nakamoto была создана всем известная Bitcoin , благодаря которой её автор заработал приличное состояние.

Конечно, сразу же после появления успешной инновации на рынке появляются другие похожие продукты. Так и произошло, тут же как грибы начали появляться новые криптовалюты, какие-то просто копировали идею Bitcoin и были бесполезной альтернативой (с технической точки зрения), какие-то привносили что-то своё. Но как ни странно, ажиотаж криптовалюты не стих. До сих пор в сети Интернет появляются всё новые и новые ресурсы, которые предлагают купить/пользоваться их валютой.

И следует логичный вопрос: если первая криптовалюта появилась в 2008 году, то ведь давно уже в сети Интернет должны существовать ресурсы с гайдами, уроками и примерами создания таких вещей.

Действительно, такое есть, но, к сожалению, все уроки сводятся к: “Придумай, купи на сайте, внедри” или “Придумай, скачай, пользуйся с друзьями” и так далее. И никогда не рассматривается подробный процесс создания. В общем-то, данной статьёй я и хотел бы исправить настоящее положение вещей и всё-таки привнести в русскоговорящее комьюнити такую информацию и рассказать людям, как же всё-таки можно создать свою валюту.

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

Это первые причины, которые пришли мне в голову, если у вас есть и другие причины - пишите их в комментарии.

Признаюсь честно, всё же одна страничка с гайдом по созданию виртуальной валюты в Интернете мною была найдена. И, грубо говоря, эту статью можно назвать очень вольным переводом, только с дополнениями и тому подобное, так как в оригинальной статье много недочётов и пробелов.

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

Итак, начнём:

Скачивание базового кода
“First things first” , как написано в оригинальной статье, мы должны подготовить окружение для разработки. Если найти на github-е любую криптовалюту, то вы можете увидеть, какое огромное количество кода там храниться. Конечно же, мы не будем писать всё с нуля, не нужно изобретать велосипед, тем более мы и не сможем, пока сами хотя бы не попробуем сделать для него руль.

И пример криптовалюты мы легко можем найти на просторах того же github. Конечно же, такой код я нашёл и скопировал в свой репозиторий, и вам нужно склонировать его к себе. Кто умеет, те пропускают этот раздел, а кто не умеет, те читают спойлер:

Загрузить код с github

Есть много способов получить исходный код с github, но я расскажу про самый понятный и простой:
Переходите по ссылке и находите кнопку “Download ZIP”. У вас скачивается ZIP-архив, внутри которого находится весь исходный код.

Если же вы всё-таки хотите научиться использовать все возможности github и git, то в помощь вам вот эта книга , но предупреждаю, что это затратно по времени.


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

Если у вас Linux (Ubuntu)

Об этом говорить мне проще всего, так как сам работаю на Ubuntu. Установить зависимости не составляет труда:
1. Открываете терминал нажатием Ctrl+Alt+T;
2. Вводите следующее:
sudo apt-get install build-essential libboost-all-dev libcurl4-openssl-dev libdb5.1-dev libdb5.1++-dev git qt-sdk libminiupnpc-dev
3. Жмёте Enter;
4. По ходу установки пакетов разрешаете установку и прочее-прочее.


Если у вас Mac OS

Честно говоря, на Mac OS поработать возможности не было, так что я приведу вам ровно то, что было написано в оригинальной статье:

Чтобы установить библиотеки, от которых зависит базовый код, вам нужно воспользваться MacPorts или Homebrew. Сам автор статьи предпочитает MacPorts, объясняя это тем, что он проще, сразу устанавливает в /opt и потому что он устанавливает универсальные сборки по умолчанию. Если же вы выберите Homebrew, то автор советует установить флаг напортив 32-bit. Но пример по установке всё же приведён через MacPorts.

Вот список того, что нужно:

  • boost (C++ libraries)
  • db48 (Berkeley DB 4.8)
  • qt4-mac (Open Source QT 4.8.4, includes qmake)
  • openssl (ssl dev libraries)
  • git (to move source back and forth to the repository)
  • miniupnpc (UPNP dev libraries, optional–honestly I say skip this crap)
После установки автор рекомендует выполнить в консоли следующую команду:
sudo port install boost db48 qt4-mac openssl miniupnpc git

Если у вас Windows

Этот раздел будет чуть позже. В общем-то, все библиотеки и зависимости пригодятся нам позже - при сборке готового продукта, так что с этим я повременю, дабы не путать вас и себя.


Теперь, когда подготовка закончена, подойдём к самому главному - к редактированию кода.
Замена названия
Сейчас вы должны задуматься, как бы вы хотели, чтобы ваша криптовалюта называлась. Придумали? Отлично.
Базовый код, который вы скачали, является готовой, но ещё не скомпилированной криптовалютой, и эта криптовалюта называется FooCoin. Всё, что вам нужно сделать: это заменить везде в базовом коде названия FooCoin, Foo и т.д. на название вашей криптовалюты. Конечно, делать это вручную в 10 000 строках кода – дело долгое и бессмысленное.
Хорошо, что добрые люди давно облегчили нам задачу и сделали программы, которые позволяют массово заменять строки в файлах на другие.

Моя криптовалюта называется PuffCoin. Вот список тех слов, которые я буду заменять на свои:

Список слов для замены

FooCoin – PuffCoin
FOOCOIN – PUFFCOIN
foocoin – puffcoin
foo – puff
FOO - PUFF


Советую и вам составить подобный список.

Для замены есть множество программ, я сейчас перечислю некоторые.

Для Linux есть (бесплатно). Для Mac OS - TextWrangler (её предлагает автор оригинальной статьи, бесплатно). Для Windows нашёл много, например: Search and Replace , Actual Search & Replace , HandyFile Find and Replace , NHRPLC . Надеюсь, проблем с их использованием не будет.

Также стоит переименовать файл foocoin-qt.pro на ***coin-qt.pro , написав название нижним регистром.

Выбор и настройка сетевых портов
Отлично, теперь перейдём к самому важному и интересному - технической стороне кода. Надеюсь, что сейчас перед вами открыта папка с базовым кодом.

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

Вам нужно выбрать 4 порта: два для P2P и RPC, и два для тестовых P2P и RPC (testnet) соединений. Конечно, порты нужно выбрать такие, чтобы они точно не использовались каким-нибудь другим приложением. Для этого можете перейти по ссылке и посмотреть, какие порты свободны. Лично я сделаю так же, как и автор оригинальной статьи, и для RPC выберу 55883 порт, для P2P выберу 55884 порт, а для testnet: RPC - 45883, P2P - 45884.

Для указания того, что нужно использовать именно эти порты, нужно заменить несколько строчек в некоторых файлах по примеру, приведённому ниже:

Файл src/bitcoinrpc.cpp : (RPC порт )

Строка 2893: ip::tcp::endpoint endpoint(bindAddress, GetArg("-rpcport", 55883));
Строка 3169: if (!d.connect(GetArg("-rpcconnect", "127.0.0.1"), GetArg("-rpcport", "55883")))

Файл src/init.cpp : (P2P порт + testnet P2P + RPC порт )
Строка 235: " -port= " + _("Listen for connections on (default: 55884 or testnet: 45884)") + "\n" +
Строка 271: " -rpcport= " + _("Listen for JSON-RPC connections on (default: 55883)") + "\n" +

Файл src/protocol.h : (testnet P2P + P2P порт )
Строка 22: return testnet ? 45884: 55884;

В следующей строке вы можете указать любой первоначальный адрес, по которому вы можете проверить дополнительные адреса. Если честно, то я не понял, для чего это, но у меня работало всё и без этого, так что это не обязательный параметр. Если кто может объяснить, то отпишитесь в комментариях. Заранее спасибо!
Файл src/net.cpp :
Строка 1000: {"some website name", "somewebsite.org or ip x.x.x.x"},

Настройка генерации валюты

Теперь перейдём к настройкам самой генерации вашей валюты. Каждая валюта генерируется в блоках, а в каждом блоке находится какое-то количество валюты.

В следующей строке вы можете изменить количество валюты, которое выдаётся за генерацию одного блока. Для этого вам просто нужно изменить:
Файл src/main.cpp :

Строка 831: int64 nSubsidy = 1 * COIN;

Далее нужно задать, в какие же промежутки времени будут генерироваться блоки. Время измеряется в секундах
Файл src/main.cpp :
Строка 837: static const int64 nTargetSpacing = 120; // PuffCoin: двухминутный блок

Далее, нужно указать промежуток, через который будет происходить “корректировка трудностей”. Опять же, я не понял, что это такое, и оставил так, как было.
Файл src/main.cpp :
Строка 836: static const int64 nTargetTimespan = 1 * 24 * 60 * 60; // PuffCoin: 1 день

Далее изменим количество валюты, которое вообще может быть.
Файл src/main.h :
Строка 43: static const int64 MAX_MONEY = 10000 * COIN; // максимальное количество в день

И количество блоков, максимально генерируемых за один день
Файл src/main.h :
Строка 550: return dPriority > COIN * 720 / 250; // 720 блоков найдено в день.

Так как наша валюта является “крипто-”, значит, все транзакции происходят закрыто и только с использованием ключей. У каждого пользователя валюты есть публичный и приватный ключи. В коде у нас есть возможность самим установить, какой первый байт публичного ключа у нас будет. Это может быть символ или цифра. Выбрать цифру или символ можно из таблицы . Слева от символов “Character” стоят их числовые значения “Value”. Выберите символ и запомните его числовое значение. Так как моя криптовалюта называется PuffCoin, то я выбрал себе символ P, а его значение - 22.

Теперь нужно заменить на ваше значение следующую строку:
Файл src/base58.h :

Строка 280: PUBKEY_ADDRESS = 22, //Укажите здесь первый байт публичного ключа
Замена иконок и изображений
На выходе у нас будет готовое GUI приложение для пользователя и консольное приложение, используемое как для сервера, так и для клиента.

Для GUI тоже есть ресурсы, которые находятся в папке src/qt/res. Там хранятся иконки для приложения. Вы можете заменить какие-нибудь иконки своими, главное – это такое же имя и разрешение.

На этом первая часть гайда закончена. Надеюсь, что вскоре появится и вторая. Постараюсь сделать это побыстрее.

Теги: Добавить метки

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

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

В большинстве своем пользователи сконцентрированы на майнинге или на заработке посредством сбора крипты с кранов. Поэтому мало кто пытается создавать собственные денежные единицы.

Разумеется, что у вас должно быть соответствующее железо, а также желание усваивать огромное количество новой информации. Создание новой криптографической монеты – отнюдь не пятиминутное дело, поэтому тщательно подготовьте себя к кропотливой работе.

Если вы хотите понять сути функционирования цифровой валюты, а также данный финансовый инструмент интересен вам как реальный источник для заработка, то в таком случае, разработка собственной монеты станет для вас идеальным вариантом.

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

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

Особенности загрузки криптографических библиотек

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

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

Чтобы каждый новичок максимально понял суть этой фазы, продемонстрируем на конкретных примерах. Предположим, наша криптовалюта будет называться Greencoin. Соответственно, при работе с программным кодом, пользователю заменять первоначально заданные технические слова:

  • Bitcoin – Greencoin
  • BITCOIN – GREENCOIN
  • bitcoin – greencoin
  • bit – green
  • BIT – GREEN

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

Разумеется, что наибольший ассортимент софта разработан для самой популярной операционной системы: Search and Replace, HandyFile Find and Replace. Описанные программы бесплатны, их эффективность подтверждается положительными отзывами других пользователей.

Что касается операционных систем Linux MacOS, то здесь выбор не столь широк. Впрочем, это не означает, что вы не сможете подобрать бесплатное программное обеспечение. Например, для Линукс подойдет Regexxer, а для Мак TextWrangler. Обе программы также на практике доказали свою эффективность.

Процесс настройки сетевых портов

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

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

Система обеспечения безопасности

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

Программное обеспечение для создания собственной криптовалюты

Реализация идеи создания собственной криптографической монеты также возможна с помощью комплексного пакета программного обеспечения Open-Transaction. Этот софт позволяет создавать неограниченное кол-во центров эмиссии и различных активов.

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

Программный пакет будет полезен абсолютно на всех этапах использования валюты: от создания до популяризации. При необходимости софт поможет подключать к системе интернет-магазины и всевозможные подобные порталы.

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

Покупка готовой криптовалюты

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

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

На сегодняшний день, активно используется свыше 200 криптовалют, а это означает, что заполучить место под солнцем очень непросто.

Я уверен, все знают, что такое криптовалюта, и возможно вы даже знаете, с чем её едят, и сами пользовались. В 2009 году благодаря Satoshi Nakamoto была создана всем известная Bitcoin , благодаря которой её автор заработал приличное состояние.

Конечно, сразу же после появления успешной инновации на рынке появляются другие похожие продукты. Так и произошло, тут же как грибы начали появляться новые криптовалюты, какие-то просто копировали идею Bitcoin и были бесполезной альтернативой (с технической точки зрения), какие-то привносили что-то своё. Но как ни странно, ажиотаж криптовалюты не стих. До сих пор в сети Интернет появляются всё новые и новые ресурсы, которые предлагают купить/пользоваться их валютой.

И следует логичный вопрос: если первая криптовалюта появилась в 2008 году, то ведь давно уже в сети Интернет должны существовать ресурсы с гайдами, уроками и примерами создания таких вещей.

Действительно, такое есть, но, к сожалению, все уроки сводятся к: “Придумай, купи на сайте, внедри” или “Придумай, скачай, пользуйся с друзьями” и так далее. И никогда не рассматривается подробный процесс создания. В общем-то, данной статьёй я и хотел бы исправить настоящее положение вещей и всё-таки привнести в русскоговорящее комьюнити такую информацию и рассказать людям, как же всё-таки можно создать свою валюту.

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

Это первые причины, которые пришли мне в голову, если у вас есть и другие причины - пишите их в комментарии.

Признаюсь честно, всё же одна страничка с гайдом по созданию виртуальной валюты в Интернете мною была найдена. И, грубо говоря, эту статью можно назвать очень вольным переводом, только с дополнениями и тому подобное, так как в оригинальной статье много недочётов и пробелов.

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

Итак, начнём:

Скачивание базового кода
“First things first” , как написано в оригинальной статье, мы должны подготовить окружение для разработки. Если найти на github-е любую криптовалюту, то вы можете увидеть, какое огромное количество кода там храниться. Конечно же, мы не будем писать всё с нуля, не нужно изобретать велосипед, тем более мы и не сможем, пока сами хотя бы не попробуем сделать для него руль.

И пример криптовалюты мы легко можем найти на просторах того же github. Конечно же, такой код я нашёл и скопировал в свой репозиторий, и вам нужно склонировать его к себе. Кто умеет, те пропускают этот раздел, а кто не умеет, те читают спойлер:

Загрузить код с github

Есть много способов получить исходный код с github, но я расскажу про самый понятный и простой:
Переходите по ссылке и находите кнопку “Download ZIP”. У вас скачивается ZIP-архив, внутри которого находится весь исходный код.

Если же вы всё-таки хотите научиться использовать все возможности github и git, то в помощь вам вот эта книга , но предупреждаю, что это затратно по времени.


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

Если у вас Linux (Ubuntu)

Об этом говорить мне проще всего, так как сам работаю на Ubuntu. Установить зависимости не составляет труда:
1. Открываете терминал нажатием Ctrl+Alt+T;
2. Вводите следующее:
sudo apt-get install build-essential libboost-all-dev libcurl4-openssl-dev libdb5.1-dev libdb5.1++-dev git qt-sdk libminiupnpc-dev
3. Жмёте Enter;
4. По ходу установки пакетов разрешаете установку и прочее-прочее.


Если у вас Mac OS

Честно говоря, на Mac OS поработать возможности не было, так что я приведу вам ровно то, что было написано в оригинальной статье:

Чтобы установить библиотеки, от которых зависит базовый код, вам нужно воспользваться MacPorts или Homebrew. Сам автор статьи предпочитает MacPorts, объясняя это тем, что он проще, сразу устанавливает в /opt и потому что он устанавливает универсальные сборки по умолчанию. Если же вы выберите Homebrew, то автор советует установить флаг напортив 32-bit. Но пример по установке всё же приведён через MacPorts.

Вот список того, что нужно:

  • boost (C++ libraries)
  • db48 (Berkeley DB 4.8)
  • qt4-mac (Open Source QT 4.8.4, includes qmake)
  • openssl (ssl dev libraries)
  • git (to move source back and forth to the repository)
  • miniupnpc (UPNP dev libraries, optional–honestly I say skip this crap)
После установки автор рекомендует выполнить в консоли следующую команду:
sudo port install boost db48 qt4-mac openssl miniupnpc git

Если у вас Windows

Этот раздел будет чуть позже. В общем-то, все библиотеки и зависимости пригодятся нам позже - при сборке готового продукта, так что с этим я повременю, дабы не путать вас и себя.


Теперь, когда подготовка закончена, подойдём к самому главному - к редактированию кода.
Замена названия
Сейчас вы должны задуматься, как бы вы хотели, чтобы ваша криптовалюта называлась. Придумали? Отлично.
Базовый код, который вы скачали, является готовой, но ещё не скомпилированной криптовалютой, и эта криптовалюта называется FooCoin. Всё, что вам нужно сделать: это заменить везде в базовом коде названия FooCoin, Foo и т.д. на название вашей криптовалюты. Конечно, делать это вручную в 10 000 строках кода – дело долгое и бессмысленное.
Хорошо, что добрые люди давно облегчили нам задачу и сделали программы, которые позволяют массово заменять строки в файлах на другие.

Моя криптовалюта называется PuffCoin. Вот список тех слов, которые я буду заменять на свои:

Список слов для замены

FooCoin – PuffCoin
FOOCOIN – PUFFCOIN
foocoin – puffcoin
foo – puff
FOO - PUFF


Советую и вам составить подобный список.

Для замены есть множество программ, я сейчас перечислю некоторые.

Для Linux есть (бесплатно). Для Mac OS - TextWrangler (её предлагает автор оригинальной статьи, бесплатно). Для Windows нашёл много, например: Search and Replace , Actual Search & Replace , HandyFile Find and Replace , NHRPLC . Надеюсь, проблем с их использованием не будет.

Также стоит переименовать файл foocoin-qt.pro на ***coin-qt.pro , написав название нижним регистром.

Выбор и настройка сетевых портов
Отлично, теперь перейдём к самому важному и интересному - технической стороне кода. Надеюсь, что сейчас перед вами открыта папка с базовым кодом.

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

Вам нужно выбрать 4 порта: два для P2P и RPC, и два для тестовых P2P и RPC (testnet) соединений. Конечно, порты нужно выбрать такие, чтобы они точно не использовались каким-нибудь другим приложением. Для этого можете перейти по ссылке и посмотреть, какие порты свободны. Лично я сделаю так же, как и автор оригинальной статьи, и для RPC выберу 55883 порт, для P2P выберу 55884 порт, а для testnet: RPC - 45883, P2P - 45884.

Для указания того, что нужно использовать именно эти порты, нужно заменить несколько строчек в некоторых файлах по примеру, приведённому ниже:

Файл src/bitcoinrpc.cpp : (RPC порт )

Строка 2893: ip::tcp::endpoint endpoint(bindAddress, GetArg("-rpcport", 55883));
Строка 3169: if (!d.connect(GetArg("-rpcconnect", "127.0.0.1"), GetArg("-rpcport", "55883")))

Файл src/init.cpp : (P2P порт + testnet P2P + RPC порт )
Строка 235: " -port= " + _("Listen for connections on (default: 55884 or testnet: 45884)") + "\n" +
Строка 271: " -rpcport= " + _("Listen for JSON-RPC connections on (default: 55883)") + "\n" +

Файл src/protocol.h : (testnet P2P + P2P порт )
Строка 22: return testnet ? 45884: 55884;

В следующей строке вы можете указать любой первоначальный адрес, по которому вы можете проверить дополнительные адреса. Если честно, то я не понял, для чего это, но у меня работало всё и без этого, так что это не обязательный параметр. Если кто может объяснить, то отпишитесь в комментариях. Заранее спасибо!
Файл src/net.cpp :
Строка 1000: {"some website name", "somewebsite.org or ip x.x.x.x"},

Настройка генерации валюты

Теперь перейдём к настройкам самой генерации вашей валюты. Каждая валюта генерируется в блоках, а в каждом блоке находится какое-то количество валюты.

В следующей строке вы можете изменить количество валюты, которое выдаётся за генерацию одного блока. Для этого вам просто нужно изменить:
Файл src/main.cpp :

Строка 831: int64 nSubsidy = 1 * COIN;

Далее нужно задать, в какие же промежутки времени будут генерироваться блоки. Время измеряется в секундах
Файл src/main.cpp :
Строка 837: static const int64 nTargetSpacing = 120; // PuffCoin: двухминутный блок

Далее, нужно указать промежуток, через который будет происходить “корректировка трудностей”. Опять же, я не понял, что это такое, и оставил так, как было.
Файл src/main.cpp :
Строка 836: static const int64 nTargetTimespan = 1 * 24 * 60 * 60; // PuffCoin: 1 день

Далее изменим количество валюты, которое вообще может быть.
Файл src/main.h :
Строка 43: static const int64 MAX_MONEY = 10000 * COIN; // максимальное количество в день

И количество блоков, максимально генерируемых за один день
Файл src/main.h :
Строка 550: return dPriority > COIN * 720 / 250; // 720 блоков найдено в день.

Так как наша валюта является “крипто-”, значит, все транзакции происходят закрыто и только с использованием ключей. У каждого пользователя валюты есть публичный и приватный ключи. В коде у нас есть возможность самим установить, какой первый байт публичного ключа у нас будет. Это может быть символ или цифра. Выбрать цифру или символ можно из таблицы . Слева от символов “Character” стоят их числовые значения “Value”. Выберите символ и запомните его числовое значение. Так как моя криптовалюта называется PuffCoin, то я выбрал себе символ P, а его значение - 22.

Теперь нужно заменить на ваше значение следующую строку:
Файл src/base58.h :

Строка 280: PUBKEY_ADDRESS = 22, //Укажите здесь первый байт публичного ключа
Замена иконок и изображений
На выходе у нас будет готовое GUI приложение для пользователя и консольное приложение, используемое как для сервера, так и для клиента.

Для GUI тоже есть ресурсы, которые находятся в папке src/qt/res. Там хранятся иконки для приложения. Вы можете заменить какие-нибудь иконки своими, главное – это такое же имя и разрешение.

На этом первая часть гайда закончена. Надеюсь, что вскоре появится и вторая. Постараюсь сделать это побыстрее.

Теги:

  • Криптовалюта
  • C++
Добавить метки

Популярность криптовалют обусловлена множеством факторов – они анонимны, многие децентрализованы, позволяют проводить быстрые с минимальными затратами.

В настоящее время, многие компании интересуются вопросом о том, как создать криптовалюту, чтобы использовать ее затем в расчетах с клиентами.

В статье рассматривается этот момент и дается инструкция по основным шагам.

  • Криптодобыча. Большинство монет майнятся с помощью вычислительных мощностей. На современном этапе для майнинга используются центральные процессоры, видеокарты, специальные устройства асики, а также жесткие диски.
  • Ограниченная эмиссия. Многие коины имеют лимит выпуска. Со временем это приводит к удорожанию монеты при растущем спросе.
  • Защита. В основе всех криптовалют лежат специальные шифры, которые обеспечивают безопасность системы.
  • Безвозвратность платежа. Это особенно удобно для бизнеса. После заключения сделки и поставки товаров или услуг, покупатель уже не сможет отозвать свои средства без ведома магазина.
  • Постепенное усложнение генерации. Этот механизм прописан в большинстве криптосистем. Со временем, сложность задач растет, а количество добываемых монет уменьшается. Это еще один инфляционный механизм, повышающий стоимость криптовалюты.

Все указанное выше является важным для любого коина.

При создании новой криптовалюты необходимо учитывать эти моменты, так как они будут настраиваться под каждый проект в отдельности.

Причины создания собственных денег

В настоящий момент существует огромное количество криптовалют, а также различных систем.

В этой связи создание еще одного проекта может показаться бессмысленным.

Однако есть несколько причин, по которым компании сегодня предпочитают создавать что-то новое, а не пользоваться уже готовыми электронными деньгами.

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

С каждым днем количество новых идей растет.

Возможно, создатель будущей криптовалюты придумал какую-то новую форму бирж или алгоритм, способный еще больше защитить цифровую экосистему.

В этом случае, за основу берется сама технология и на ее основе создается полностью новый проект.

Вероятнее всего, для такой работы потребуется целая команда разработчиков , а для запуска – .

Вторая причина – наличие собственного бизнеса и желание вести расчеты во внутренней валюте.

Это очень удобно, так как компания сможет рыночным способом регулировать курс, сделать его стабильным, чтобы потребителям было комфортнее совершать покупки или оплачивать услуги.

Наконец, причина для создания новой криптовалюты может крыться и в инвестиционных возможностях. Но чаще, это второстепенный повод.

Ни один успешный криптопроект не создавал монету ради монеты (кроме мошеннических схем).

Изначально монета привлекла внимание как раз за счет того, что логотипом стал пес породы шибу-ину. Это лишь подчеркивает важность качественной дизайн-концепции.

Все описанные выше шаги требуют определенных навыков в области программировании, а точнее – понимание .

Если его нет, можно собрать команду экспертов-энтузиастов, провести ICO и с помощью них разработать собственный коин.

Еще один вариант – обращение к услугам таких организаций, как Cryptoteam, которые за отдельную плату готовы разработать электронные деньги под ключ.

Весь процесс разработки в таком случае может занимать до двух недель. В качестве дополнительной услуги, подобные конторы предлагают листинг на биржах.

Есть и еще один способ создания своей криптовалюты – платформа Open Transaction.

Она поддерживает большое количество эмиссионных центров. Здесь возможно создание криптовалют, ценных бумаг и других цифровых активов.

Платформа предлагает разработчикам решение различных задач, в том числе эмиссия криптовалюты, создание электронных чеков, торговля на биржах.

OpenTransaction – мощный финансовый инструмент, позволяющий пользователю полностью контролировать весь процесс.

Разработчики проекта заверяют пользователей в том, что система полностью надежна и защищена от хакерских атак. Здесь есть свой проект Monetas , который позволяет создавать свои платежные системы под заказ.

Продвижение созданной криптовалюты

Создание монеты – это лишь половина дела. Не менее важно ее «раскрутить», чтобы о коине узнало как можно больше людей.

В противном случае, криптовалюта пополнит ряды электронных мусорных денег, которые практически никем и нигде не используются.

Здесь потребуются определенные знания в области маркетинга.

Предлагаем пошаговую инструкцию раскрутки своей криптокампании.

Шаг 1. Разработка бизнес-плана

Делать это лучше всего еще до скачивания исходного кода на этапе появления самой идеи.

Лучший вариант – создание документа, в котором будет описываться криптосистема, её перспективы, а также финансовые моменты (затраты, потенциальная прибыль).

В процессе создания бизнес-плана необходимо обращать внимание на перспективы. Для этого анализируется текущая ситуация на рынке.

Предположим, команда хочет создать игровую валюту. Такой проект будет востребован настолько, насколько популярной будет игра.

Перед тем, как создавать тот или иной коин, необходимо продумать, насколько он может быть востребован. Ведь именно от этого и будет зависеть успех будущего предприятия.

Создавать монету ради монеты нет никакого смысла, разве что потешить собственное самолюбие.

Для анализа необходимо обратить внимание на многие криптосети, уже готовые и запущенные, изучить их сильные и слабые стороны.

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

С другой стороны, в нише может быть несколько проектов, но все они имеют определенные недостатки.

В этом случае можно попробовать войти на рынок со своим предложением, предоставив разумные преимущества потенциальным пользователям.

Шаг 2. Создание команды

Бизнес план можно разрабатывать самостоятельно или с командой единомышленников.

Если посмотреть на большинство современных , там команды представлены не только разработчиками. Присутствуют специалисты в различных областях.

Ведь подобные проекты, как уже отмечалось выше, это не только разработка. Здесь важно учитывать все, в том числе законодательные нормы различных государств.

Команда должна быть представлена опытными профессионалами. Это связано как с технической, так и с маркетинговой частью. Затем, при проведении инвесторы будут интересоваться тем, кто входит в состав разработчиков и организаторов. Они вряд ли доверят деньги начинающим специалистам или учащимся ВУЗов.

Поэтому во многих ICO можно видеть людей с 10-летним и более опытом.

Шаг 3. Раскрутка проекта

Начинать продвижение можно еще до создания экосистемы.

Для этого необходимо зарегистрироваться на специализированных форумах вроде .

В процессе работы над монетой и по завершению технической части, проводятся различные маркетинговые кампании.

Если планируется ICO, здесь обычно дается реклама, часть средств отчисляется на баунти.

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

В результате, пользователи начнут сбрасывать коин, отказываясь от его применения на практике.

Как видно, процесс создания криптовалюты – довольно сложный и требует определенных затрат, причем не только трудовых и временных, но и финансовых.

Интернет давно перестал быть просто местом для общения, познания чего-то нового. Сегодня трудно не заметить стремительно растущий рынок электронных денег, о создании которых мы и поговорим.

Для оплаты покупок в Сети люди используют реальные деньги, посредством терминалов или банков преобразованные в виртуальные. Для упрощения этой процедуры было найдено достойное решение – внедрение инновационной денежной единицы.

Шаг третий – Коррекция кода и разработка названия валюты

На этом этапе пригодятся знания в области программирования, но и помощь ПО будет кстати. Для начла нужно продумать новый бренд для электронных денег. Это не так просто, ведь название должно быть ярким и запоминающимся.

Далее потребуется коррекция кода под придуманное наименования. Специальные программы помогут заменить несколько тысяч строк со старым названием на новое. Не забудьте переименовать файл coin-gt.pro, добавив к нему уникальное имя (foocoin-gt.pro).

Шаг четвертый – Выбор и настройка сетевых портов

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

Для их функционирования придется заменить несколько строк исходного кода в файле src/bitcoinrpc.cpp (для RPC-портов) и src/init.cpp и src/protocol.h (для P2P). Нужно вписать адрес порта в строки 2893 и 3169, 22, 235 и 271 соответственно.

Что такое и как собрать такую ферму для заработка самостоятельно – читайте в публикации по ссылке.


Основные этапы создания собственной криптовалюты с нуля.

Шаг пятый – Налаживаем генерацию монет

Каждая денежная единица создается и хранится в специальных блоках, у которого существует предел переполнения. Для более точного понимания процесса нам понадобиться поработать с файлом src/main.cpp и построчно вносить поправки:

  • строка 831 – регулирует количество «коинов» на один блок;
  • 837-ая – задает время генерации для каждого хранилища (времени задается в секундах);
  • 836-ая – указывает временной промежуток, по прошествии которого усложнится алгоритм каждой монетки;
  • строка 43 – задает ограничение на генерацию валюты в день;
  • 550-ая – ограничивает ежедневное формирование блоков-вместилищ;
  • 280-ая – заменяет значение приватного и публичного ключей пользовательской валюты.

Важно! Любая транзакция происходит в анонимном режиме, поэтому фигурируют только ключи, о которых говорилось выше. Существуют таблицы, где для каждого символа существует числовое значение (он же первый байт public-key).

Шаг шестой – Замена стандартных иконок

После компиляции мы видим готовое GUI-приложение для разработчика и консольное для сервера, клиента. У каждого ПО есть перечень ресурсов в папке src/qt/res, которая легко дополняется. Главное – соответствия наименования и разрешения.

Альтернативный способ создания валюты

В Сети существует несколько сервисов, упрощающих процесс создания цифровой валюты. Самые популярные из них:

  1. Open-Transaction – платформа берет на себя управление денежными потоками, количеством транзакций, создает ценные бумаги и новые типы криптовалют. Немаловажным преимуществом является наличие большого числа центров эмиссии. Гарантируется защита от взломов.
  2. Monetas – позиционирует себя как ресурс для создания криптовалют под ключ. Естественно, это потребует значительных денежных вложений.

Как раскрутить криптовалюту

Начинающие разработчики уверены, что достаточно только выпустить в Сеть новую валюту, как от толпы клиентов не будет отбоя. Но жестокая реальность такова, что, потратив уйму времени на создание, гораздо больше уйдет на «раскрутку».

Кроме этого, нужно учесть такие моменты:

  1. Лучший вариант – нанять команду специалистов, способных продумать действенный бизнес-план.
  2. Оцените перспективы внедрения, конкурентоспособность на рынке.
  3. Учтите возможные риски, ведь курс электронных денег нестабилен, а популяризация продукта занимает пару лет.

Страны, узаконившие виртуальные деньги

Америка – как супердержава в сфере финансов, США первой признала и ввела юридическую трактовку новой валюте. Неудивительно, что страна получит статус «крипторегулирующей» в последующие годы.

Дания – правительство заявило о намерении избавиться от бумажных купюр на 100%. Биткоин же позиционируется как возможный вариант альтернативы для банковской системы.

Великобритания – стала домом для многих стартапов, инновационных разработок. Государственные деятели видят неизбежность внедрения криптовалют в платежные системы.

Заключение

Цифровые деньги – передовая отрасль финансовой сферы, независимая от банковской монополии. Анонимность транзакций и многоуровневая защита – залог успешного развития новой платежной системы.

Как сделать свою криптовалюту и привязать ее к золоту? Ответ на этот вопрос содержится в следующем видео: