Как создать собственный альткоин за один час

9 января 2015

Что такое альткоины?

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

Создаем свой первый альткоин

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

Шаг второй. Перейдите на страницу репозитория paycoin на GitHub и клонируйте его с помощью команды git clone https://github.com/GAWMiners/paycoin

Шаг третий. Подберите подходящее имя для вашей новой цифровой валюты. Мы назовем свою PaycoinDark.

Шаг четвертый. Найдите все упоминания в коде слова Paycoin и замените их на PaycoinDark. Также не забудьте заменить символ криптовалюты (XPY) на свой собственный, например XPYD.

Шаг пятый. Кастомизируйте свой альткоин. Откройте файл main.h в папке src и измените нужные вам значения переменных. Часть кода будет выглядеть так:

static const int64 MIN_TX_FEE = 0.1 * CENT;
static const int64 MIN_RELAY_TX_FEE = 0.1 * CENT;
static const int64 MAX_MONEY = 2000000000 * COIN;
static const int64 MAX_MINT_PROOF_OF_WORK = 9999 * COIN;
static const int64 MIN_TXOUT_AMOUNT = MIN_TX_FEE;
static const int STAKE_TARGET_SPACING = 1 * 60; // 1-minute block
static const int STAKE_MIN_AGE = 60 * 60; // minimum age for coin age
static const int STAKE_MAX_AGE = 60 * 60 * 24 * 5; // stake age of full weight
static const int STAKE_START_TIME = 1418470264; // Sat 13 Dec 2014 06:31:04 AM EST
static const unsigned int POW_START_TIME = 1418403600; // Fri 12 Dec 2014 12:00:00 PM EST
static const unsigned int POW_END_TIME = 1419181200; // Sun 21 Dec 2014 12:00:00 PM EST
static const unsigned int MODIFIER_INTERVAL = 10 * 60;
static const int64 NUMBER_OF_PRIMENODE = 50;
static const int64 MINIMUM_FOR_ORION = 50 * COIN;
static const int64 MINIMUM_FOR_PRIMENODE = 125000 * COIN;

Например, вы можете повлиять на общее количество монет, изменив переменную MAX_MONEY или на минимальную комиссию, поменяв значение в MIN_TX_FEE. Чтобы изменить награду за блок, отредактируйте переменные GetProofOfWorkReward и GetProofOfStakeReward в файле main.cpp. Обратите внимание, данная инструкция дает лишь общее представление о процессе создания собственной криптовалюты и не описывает его в детальных подробностях.

Шаг шестой. После того, как закончите с редактированием кода вашего альткоина, сгенерируйте новый genesis block — первый блок в цепочке. Для этого вам понадобится сбросить существующую цепочку блоков, установив значения переменных merkle hash, genesis block и Nonce в соответствии с нижеприведенными значениями:

static const uint256 hashGenesisBlockOfficial("0x0");
block.nNonce = 0;
assert(block.hashMerkleRoot == uint256("0x0"));

Затем скомпилируйте ваш код и запустите демон альткоина. С первого раза он не сработает, но сгенерирует новый хеш для Genesis Block и Nonce. Другими словами, будет создан уникальный хеш, который ознаменует собой начало новой цепочки блоков, подключенной к узлам только что созданной криптовалюты. Подставьте значение данного хеша в переменную hashGenesisBlockOfficial и начинайте премайн добычу!

Поделиться: