http://dillingers.com/blog/2015/04/18/how-to-make-an-altcoin/
Объясняет, как адаптировать источники Bitcoin 0.10 сделать altcoin.
Для образовательных целей в основном, хотя я уверен, что это будет означать, что некоторые люди делают альты, что в противном случае не имели бы.
Вот паста полного текста статьи: Дополнения и исправления приветствуются.
Как сделать altcoin
Хорошо, я собираюсь предварить эту статью, задавая вам две вещи:
Во-первых, почему вы хотите создать altcoin?
Это является отправной точкой. Если вы не имеете какие-то оригинальные идеи, и возможность на самом деле читать и писать C ++ код для их выполнения, то вы собираетесь создать что-то, что не может ничего Bitcoin не может сделать делать, и в этом случае нет никакого указывают в освобождении его. Так что нет.
Если вы хотите, чтобы выпустить altcoin, перекачивать, получить много присосками, чтобы вложить свои деньги, подкупить обмен криптовалюта мириться торговый рынок в него, а затем сбросить кучу premined монет на раздутом рынке и оставить все присосками, удерживающие сумку, то «нет» не совсем все советы я хочу дать вам. Кроме того, «идти умирать в огне».
Так. Если у вас есть причина, чтобы создать altcoin - что-то вы думали над тем, как сделать это не когда-нибудь в Bitcoin себя и который позволил бы вашей идеальной криптовалюте функционировать таким образом, Bitcoin не может - то у меня есть второй вопрос для вас.
Можете ли вы посвятить себя сохранению релиз?
Это серьезно. Если вы собираетесь выпустить altcoin, вы будете иметь сорок часа в неделю работу второстепенную ее. Вы собираетесь придется тратить время на каждый день просто читать код, чтобы убедиться, что вы знаете, что каждая часть этого делает. И вам нужно это знание, потому что вы будете иметь, чтобы выяснить технические проблемы и сделать технические исправления, в чрезвычайных ситуациях, когда какой-то шутник атакует ваш блок цепь. Bitcoin имеет некоторую стабильность, потому что Bitcoin имеет большинство хеширования силы на планете, посвященной ей. Ваш altcoin даже не пердеть в ураган еще и ваше доказательство правильности работы блока цепи будет зависеть от атак, которые вы собираетесь иметь либо предвидеть или счетчик в режиме реального времени. Чтение кода каждый день подготовки. Только так вы можете найти свой путь вокруг него достаточно быстро, чтобы сделать исправление, если вы знаете его внутри и снаружи. Во всяком случае, вы можете иметь полное время работы, или социальную и семейную жизнь, а также поддерживать выпущенное altcoin - но, вероятно, не так, если вы не один из тех людей, кто считает сон, как совершенно неадекватный отвлекающим заменитель кофеина.
Теперь, со всем, что сказал, что эта статья будет охватывать только начало процесса: бесстыдно клонировать существующую монету. Независимо от нововведения вы намерены сделать, я не могу предвидеть их, так что нет никакого руководства здесь, чтобы сделать их. Вы должны прочитать код, пока вы не поймете, что достаточно хорошо, чтобы сделать их самостоятельно. Для целей данной статьи, мы будем использовать 0,10 исходный код Bitcoin, мы собираемся сделать почти-клон его именем «Newcoin», и я буду работать с Debian Jessie.
Получить исходный код
Откройте оболочку командной строки. Создайте новый каталог в вашем домашнем каталоге с именем ЦСИ. Это место, где вы будете работать. Так что ваши первые три командные строки являются
Код:
CD
MkDir ЦСИ
кд ЦСИ
Теперь используйте свой веб-браузер, чтобы перейти к https://bitcoin.org/en/download, найти кнопку в правом нижнем углу окна, который говорит «исходный код», и получить архив. Его имя должно быть Bitcoin-0.10.0 (1) .tar.gz. Скопируйте его в свой новый каталог и распаковать его с помощью команды:
Код:
ср ~ / Загрузки / Bitcoin-0.10.0 \ (1 \). tar.gz.
деготь XVf Bitcoin-0.10.0 \ (1 \). tar.gz
ф -r Bitcoin-0.10.0 newcoin
В приведенных выше двух команд, обратные косые черты до того, как круглые скобки есть, потому что есть фактические скобки в имени файла, и если вы просто введите их, ваша оболочка будет пытаться интерпретировать команду по-разному. А каталог ~ / Downloads, где вещи приземляется на моей системе, когда я загрузить его с моего веб-браузера. Если вы получили ваши настроить по-разному, вы должны настроить команду, чтобы использовать свой каталог загрузки, а не, как там оно с именем.
И последняя команда делает клон каталога Bitcoin-0.10.0 имя newcoin - со своими собственными копиями всех файлов, которые вы только что добытыми. Вы должны использовать все, что вы хотите thename вашего нового altcoin быть на имя этого каталога.
Далее, вам нужно, чтобы получить все вещи, что строительство Bitcoin зависит. Вот последовательность команд, чтобы сделать это.
Получить вещи код зависит от
Код:
су
эхо «Деб-Src ftp://ftp.us.debian.org/debian/ с.и.д. главный вно несвободных» >> /etc/apt/sources.list
обновление APT-прибудете
APT-получить строить-DEP Bitcoin
кв-прибудете -install рекомендует установить libbitcoin-DEV
Выход
Тест сборки, чтобы убедиться, что вы получили все настройки
Следующий шаг построить Bitcoin просто чтобы убедиться, что у вас есть все. Так давайте сделаем это. Вот еще несколько командных строк. Некоторые из них могут занять несколько минут, чтобы бежать к завершению; это нормально.
Код:
CD Bitcoin-0.10.0
ACLOCAL
Automake --add пропущенными
./ Настроить --with-несовместимый-BDB
делать
ACLOCAL создает файл с именем «aclocal.m4 ', который представляет собой пучок макроопределений и так далее, что Automake работает с. Был уже aclocal.m4 в каталоге, но для версии Automake, что, вероятно, не тот, который установлен в вашей системе Jessie.
Automake -add пропущенного вызывает Automake, который использует эти макросы и файл Makefile.am, который уже есть, чтобы создать еще один файл с именем Makefile.in. -add пропущенного аргумент говорит это, чтобы создать пару стандартных макропакетов что AutoMake использует, потому что источники Bitcoin не дать им; это не нужно, чтобы обеспечить их, потому что он использует по умолчанию, предоставляемые -add-недостающее.
Makefile.in определяет, какую конфигурацию нужно знать и делать, и сохраняет, что в сценарии оболочки с именем Configure. Затем ./configure запускает этот скрипт, который проверяет много вещей на вашей системе, находит то, что доступно, чтобы построить с и ссылки на, и вообще выяснит подробно, как строить источники Bitcoin это, глядя на, сохраняя эту информацию в Makefile. -с-несовместимый-BDB аргумент говорит, что это хорошо с вами, чтобы использовать версию базы данных Berkeley позже, чем один оригинальный клиент Bitcoin был построен с.
Наконец сделать на самом деле использует сборочный файл, который вы только что построенный с помощью ./configure, чтобы построить проект Bitcoin.
И если у вас есть все вещи, вам необходимо строить с, весь процесс должен закончить без ошибок.
Убедитесь, что ваш тест сборка работала.
Вот еще пару командных строк, чтобы убедиться, что сборка работала, проверяя, чтобы убедиться, что исполняемые файлы, которые он должен был построить на самом деле есть.
Код:
Ls ЦСИ / bitcoind
Ls SRC / Bitcoin-кли
Ls SRC / Qt / Bitcoin-кварта
Начните altcoin, используя его имя вместо Bitcoin-х
Код:
кд ~ / SRC / newcoin
найти . -типа е -print0 | xargs -0 Сед -i 's / Биткойн / newcoin / г'
найти . -типа е -print0 | xargs -0 Сед -i 's / Биткойн / Newcoin / г'
найти . -типа е -print0 | xargs -0 Сед -i 's / Биткойн / Newcoin / г'
найти . -типа е -print0 | xargs -0 Сед -i 's / Биткойн / NEWCOIN / г'
найти . -типа е -print0 | xargs -0 СЕПГ -i 's / BTC / НКС / г'
найти . -типа е -print0 | xargs -0 Сед -i 's / BTC / НКС / г'
найти . -типа е -print0 | xargs -0 Сед -i 's / Btc / НКС / г'
Переименуйте имена файлов «Bitcoin» на имя вашего altcoin
Теперь, потому что это также затрагиваемые Makefiles, которые содержат имена файлов, и затронутые исходные файлы, которые имеют имена файлов в их включают заявления, вы должны изменить все имена файлов, которые имеют строку «Bitcoin» в них, чтобы соответствовать тому, что теперь в заявлениях включают и Makefiles. К счастью, это так же легко.
Код:
найти . -exec переименования 's / Биткойн / newcoin /' {} ";"
найти . -exec переименования 'с / BTC / НКС /' {} ";"
Проверка на вещи ваших изменений пропущенных, потому что это было неправильно.
Теперь посмотрит на опечатки его.
Код:
Grep -ir BITC
Голландцы, конечно, опечатка, так как URI являются пишутся одинаково, независимо от языка. Так
Код:
SED -i 'с / bitcon / newcoin /' SRC / Qt / локаль / newcoin_da.ts
Я помню о том, что арабский перегибу слова, используя образцы тройных гласные, и «bitcion» используется более чем один раз, так что это не может быть опечатка. Быстрая проверка на Google, однако, показывает много примеров «Bitcoin» с орфографической ошибкой на английском языке, а не арабских страниц. Так с большим количеством доказательств, я думаю, что я сделаю вывод, что это, вероятно, опечатка - о котором, опять же, есть шанс, что я ошибаюсь, и если «newcoin» были то, что вы на самом деле назвать свой новый альт, вы должны написать на ваш список вещей, чтобы сделать просить кого-то, кто на самом деле говорит по-арабски об этом. Но теперь латать его с помощью
Код:
СЕПГ -i 's / bitcion / newcoin /' SRC / кварты / локаль / newcoin_ar.ts
Код:
СЕПГ -i 's / Bitconi / Newcoin /' SRC / кварты / локаль / newcoin_et.ts
Теперь, лицензия в соответствии с которым у вас есть доступ к этому коду упоминает, среди прочего, оставляя уведомления об авторских правах нетронутым - и вы искаженное «Em, когда вы перешли„Bitcoin“на„Newcoin“, потому что шаблонный линия есть относится к» Команда разработчиков Bitcoin ». Таким образом, вы должны изменить «Newcoin» обратно «Bitcoin», но только на линиях, где это часть авторского заявления.
Код:
найти . -типа е -print0 | xargs -0 Сед -i '/ opyright / с / Newcoin / Биткойн /' {} ";"
Были также много ссылок на Bitcoin в файлах релиз отмечает, и это будет откровенная ложь, чтобы делать вид, что эти более ранние выпуски были выпуски вашего альта, а не выпуски Bitcoin, так что те потребности изменились назад, тоже.
Код:
СЕПГ -i 's / newcoin / Bitcoin / г' DOC / релиз струны / *
СЕПГ -i 's / Newcoin / Bitcoin / г' DOC / релиз струны / *
Изменение номеров портов
Bitcoin использует порты 8332 и 18332 на его основной сети и 8333 и 18333 на его тестовой сети. Вы хотите newcoin использовать разные порты, просто чтобы сделать его удобным для людей, чтобы работать как клиент, в то же время.
Код:
найти . -типа е -print0 | xargs -0 Сед -i 's / 8332/9443 /' {} ";"
найти . -типа е -print0 | xargs -0 Сед -i 's / 8333/9444 /' {} ";"
Используйте свои собственные произведения искусства
Вы действительно не хотите, чтобы показать иконки и изображения Bitcoin каждый раз, когда вы начинаете, так что вы должны пойти и изменить некоторые графики в каталоге SRC / Qt / Рез. При редактировании, не забудьте сохранить новые изображения, которые точно такой же размер и формат файла, как и старые. Если вы хотите изменить размеры и / или форматы файлов, вы должны понимать основы QT первого.
У меня нет каких-либо изящные линии команды, которые могут помочь вам сделать хорошее искусство, так что вы сами по себе здесь. По крайней мере, вы будете хотеть, чтобы редактировать newcoin.ico, newcoin.png, newcoin_testnet.ico, newcoin_testnet.png и newcoin.icns. Я предлагаю использовать GIMP для всех этих правок; она говорит все эти графические форматы. МГО и ICNS файлы особенно раздражает дело, потому что вы должны сделать аналогичные (но не идентичные) изменения на разных слоях сохраненного изображения.
Построить в первый раз
Теперь мы закончили с оптовыми правками. Пришло время, чтобы увидеть нарушил ли вы что-нибудь еще. Так типа
Код:
ACLOCAL; Automake --add пропущенный; ./ настроить --with-несовместимую-BDB; сделать
Разве это построить? Теперь у вас есть newcoind, newcoin-кли, и newcoin-кварта? Потрясающие! Так что теперь нам удалось получить оптовые редактирует права, пришло время реально взглянуть на исходный код и начать делать некоторые очень специфические изменения.
В chainparams.cpp, редактировать контрольно-пропускные пункты
Получите ваш любимый редактор программирования, перейдите к newcoin / Src /, и открыть chainparams.cpp.
Поиск строки «mapCheckpoints» и он будет считать вас сразу к строке 55, которая устанавливает статическую переменную mapCheckpoints в список пар - первый член каждой пары высоты блока, а второй является хэш этого блока , Клиент Биткойн использует их, как он проверяет блок цепочку Bitcoin. Так что, если вы оставите тех, кто, то newcoin клиент будет искать блоки, которые не существуют в newcoin блочной цепи. Так что избавиться от их, и поставить держатель место для генезиса блока в вместо этого. Это место держатель будет неправильно, но мы не можем это исправить, пока после того, как мы добываем генезис блок. После того, как ваши изменения, он должен выглядеть следующим образом:
Код:
статические Checkpoints :: MapCheckpoints mapCheckpoints =
повышение :: правопреемником :: map_list_of
(0, uint256 ("0x001"));
Сделайте то же самое редактировать в тех местах, где она устанавливает «mapCheckpointsTestnet» и «mapCheckpointsRegtest».
Редактирование контрольных точек данных
Прямо под каждым из этих редактируемых списков контрольных точек, есть утверждения, которые устанавливают соответствующую переменным. Они называются данные (для основной сети), dataTestnet (для тестовой сети), и dataRegtest (для регрессионного тестирования). Перейти к командной строке и введите
Код:
дата +% s
Изменение протокола «волшебные» байты
Следующий блок после dataRegtest устанавливает другую переменную с именем CMainParams. И у вас есть много вещей, чтобы изменить здесь. Первые четыре строки набора кодовых значений в массиве с именем pchMessageStart. Эти «магические байты» сети; Они серия из четырех байт, которые идентифицируют сообщения, принадлежащие к определенному протоколу. 0xf9, 0xbe, 0xb4 и 0xd9 те Bitcoin использует. Вы хотите использовать что-то еще, так что никто никогда не сможет обмануть ваш клиент newcoin в подключении к сети Bitcoin, или наоборот. Это не имеет значения, что это за исключением того, что они не должны совпадать с одним из используемых в других протоколах (в частности, другая криптовалюта блок цепи). Они должны быть значения между 0 и 255. Я предлагаю вернуться к раковине и используя
Код:
Эхо $ RANDOM
Сделайте ключи coinbase оповещения и генезис
Следующая строка (в объектах первые два Params) устанавливает значения vAlertPubKey. Так вернуться к командной строке, чтобы получить.
Код:
OpenSSL ecparam -genkey -name secp256k1 отъезда alertkey.pem
OpenSSL ес -в alertkey.pem -text > alertkey.hex
OpenSSL ecparam -genkey -name secp256k1 отъезда testnetalert.pem
OpenSSL ес -в testnetalert.pem -text > testnetalert.hex
OpenSSL ecparam -genkey -name secp256k1 отъезда genesiscoinbase.pem
OpenSSL ес -в testnetalert.pem -text > genesiscoinbase.hex
Вставьте ключи Уведомления
Код:
кот alertkey.hex
Затем отредактируйте раздеться символами двоеточия и символы новой строки из него, и вы получите уведомление ключа. Если вам когда-нибудь понадобится, чтобы отправить оповещение из по сети, вы можете использовать соответствующий закрытый ключ.
Код:
кот testnetalert.hex
Измените строку времени
Теперь переходите к знаменитой строке метки времени, в строке
Код:
Const символ * pszTimestamp = "The Times 03 / Jan / 2009 Канцлер на грани второго катапультирования для банков";
Вставьте генезис Публичный.
Код:
кот genesiscoinbase.hex
Код:
txNew.vout [0] = .scriptPubKey CScript () << ParseHex ("...") << OP_CHECKSIG;
Установите дату в CMainParams
Спустившись немного изменить строку в блоке CMainParams, который устанавливает genesis.nTime так, что он устанавливает его в тот же день Unix эпохи вы получили с помощью команды «дата» выше. Повторите это редактирование в блоке CTestNetParams.
Удалить семенные узлы Bitcoin в
Пропуск вниз мимо hashGenesisBlock вещи, вы увидите ряд линий, которые устанавливают значения для списка с именем vSeeds. Эти сетевые адреса, где долгоживущих узлы Bitcoin, как предполагается, должны быть найдены, так что люди всегда могут подключаться к сети Bitcoin. Которая, как вы установить сейчас не в сети. До тех пор пока вы не поставить сервера, чтобы сделать это для вашей новой сети, заменить эти строки (в обоих CMainParams и CTestNetParams) с простыми утверждениями:
Код:
vFixedSeeds.clear ();
vSeeds.clear ();
Изменение ключа префиксы
Перемещение вниз, мы получаем блок операторов, которые устанавливают значения в массиве списков имени base58Prefixes. Это префикс байт, которые добавляются к ключам. Установив их на разные значения, вы можете гарантировать, что ключи для монет на сети Newcoin никогда не будут действительными клавишами Bitcoin и наоборот. В определенной степени, устанавливая эти цифры также определяет, какие символы, в которых base58 форма клавиш, которые пользователи видят начинается с. Шансы случайного столкновения в ключах смешны, но «шансы» и «случайные» являются причудливыми старомодными идеями здесь; вы работаете над кодом, что кто-то собирается намеренно атаковать. Таким образом, изменение значения. Вы можете использовать эхо $ RANDOM в командной строке еще раз, если вы хотите. Если вы заботитесь о том, что начальные символы ваш выбор приведет к base58 форме ключей, ознакомьтесь со списком на вики Bitcoin. Существует одно важное ограничение здесь: ни один из списков не могут быть одинаковыми, так как клиенты смотрят на начальных байтов, чтобы выяснить, какой ключ они имеют дело. Кроме того, не изменять длину любого списка до тех пор, пока вы читали код достаточно, чтобы знать все, что будет влиять.
PUBKEY_ADDRESS этого значения приставки к открытым ключам - это публика половина / частной пары ключей Публичной, который представляет txOut и возможность провести его. Secret_key, предсказуемо, являются префиксами для приватной половины пары. SCRIPT_ADDRESS прикрепляются к адресам, которые являются хэш сценариев; ищу разницу между начальными байтами, как клиент знает, какой из двух «по умолчанию» Потратьте скриптов для применения. Наконец, EXT_PUBLIC_KEY и EXT_SECRET_KEY являются четыре байта префиксов для так называемого «стелса-адреса», которые получили введенный в Bitcoin версии 0.9, которые позволяют забавные вещи, как адреса, которые могут быть использованы для генерации новых ключей, которые могут принимать платежи, но не тратить их. Aaaanyway, это не имеет значения, что вы изменить их, это просто важно, что они все, что они когда-либо спутать с, как ключи Bitcoin не совпадают - или друг с другом. Так дайте им новые значения в CMainParams, CTestNetParams и CRegTestParams.
Добавьте код заминировать генезис блок
Наконец, мы почти готовы к месторождению блока Genesis. Но код на самом деле помоему блок-Genesis не был в Bitcoin в течение длительного времени; что блок уже добыт. Его параметры там сверять, но нет никакого кода, чтобы установить, что некоторые из них должны быть. Вам нужно исправить. Таким образом, в инициализаторе CMainParams, сразу после того,
Код:
genesis.nNonce = 414098458;
Код:
hashGenesisBlock = genesis.GetHash ();
утверждать (hashGenesisBlock == uint256 ("....."));
утверждать (genesis.hashMerkleRoot == uint256 ("....."));
Код:
hashGenesisBlock = uint256 ("0x01");
если правда && genesis.GetHash ()! = hashGenesisBlock)
{
Logprintf ("перерасчета Params для mainnet. \ п");
Logprintf ("старый mainnet генезис одноразовое значение:% s \ п", Genesis.nNonce.ToString () c_str ()).
Logprintf ("старый mainnet генезис хэш:% s \ п", HashGenesisBlock.ToString () c_str ()).
// намеренно пустой цикл находит нонс значения.
для (genesis.nNonce == 0; genesis.GetHash () > bnProofOfWorkLimit; genesis.nNonce ++) {}
Logprintf ("новый mainnet генезис Merkle корень:% s \ п", Genesis.hashMerkleRoot.ToString () c_str ()).
Logprintf ("новый mainnet генезис нонс:% s \ п", Genesis.nNonce.ToString () c_str ()).
Logprintf ("новый mainnet генезис хэш:% s \ п", Genesis.GetHash () ToString () c_str ())..;
}
Теперь опять строить. На этот раз вы уже сделали всю AUTOCONF вещи, так что вам просто нужно ввести
Код:
делать
Mine блока генезиса и вставить новые значения
Есть все, что? Теперь запустите newcoin-кварта.
Он выбросит диалоговое окно с запросом, куда установить. Пусть это есть по умолчанию он хочет, что будет новый подкаталог вашего домашнего каталога с именем ~ / .newcoin.
Тогда ничего не произойдет. В течение двадцати минут до часа, обычно. Может быть, больше, чем за час, в зависимости от немой удачи и скорости вашего компьютера. Если ваш компьютер работает медленно, это может быть хорошее время, чтобы пойти получить бутерброд.
Вот что на самом деле происходит. Это установить временное значение, перемешанный блок генеза, заметил, что это не соответствует 0х01, и теперь живет в том, что тугие пустой цикл, увеличивающиеся хэш, хэширования блок, и проверять, является ли низкий новый хэш достаточно отвечают корректуры из-работы требований.
Через некоторое время, он умрет. Значение, он нашел временное значение, которое дало генезис Блоку А хэш достаточно низко, чтобы передать доказательство правильности работы, вышел из для цикла, вошел в новом хэш и временное значение и значение дерева Меркла, а затем ударил утверждают, что до сих пор настаивает на том, на хэш-значения будучи генезис блок хэш-значение Bitcoin в. Итак, вы хотите, чтобы увидеть новые значения. Тип
Код:
хвост ~ / .newcoin / debug.log
Теперь у вас есть одноразовый номер и хэш и корень Merkle так идет изменить необходимые строки в CMainNet инициализаторе.
В коде вы вставили, вы инициализируетесь hashGenesisBlock в uint256 ("0x01"). Изменение, что ваш новый генеза хэш.
Прямо над кодом, который вы вставили, вы увидите строку, которая устанавливает значение для genesis.nNonce. Измените его на новый Нонс значение.
Прямо под код, который вы вставили, вы найдете Assert () заявления, которые проверяют значение корня Merkle и хэш. Изменение тех вашего нового корневой Merkle и хэш-значение.
В верхней части файла, есть свой список mapCheckpoints, утверждая, что хэш-блока генеза является 0Ч01. Изменение, что к вашей новой хэш-значения.
Шахтные генезиса блоки Testnet и Regtest
После того как вы сделали эти изменения, перекомпилировать и запустить его снова. То же самое будет происходить во всем, но на этот раз для testnet. И вы меняете одни и те же вещи в инициализаторе CTestNetParams (и testnet контрольно-пропускные пункты), которые были изменены для CMainParams.
Перекомпилируйте и запустить его снова, и он будет срабатывать на regtest значения. Таким образом, вы меняете одни и те же вещи в инициализаторе CRegTestParams.
ОСТАНОВИТЬ добыча генеза блоков
Хорошо? Теперь вы добывали свой генезис блок. Теперь, в коде, который вы вставили в см, где тупой видом, если условие проверки для
Код:
если правда && genesis.GetHash ()! = hashGenesisBlock)
Изменение этих трех «истинных, чтобы«ложных годов. Цель этого «истина / ложь» бизнес, чтобы сделать его легким для вас, чтобы переключиться назад и вперед от добычи генеза блоков не добыча генеза блоков. Вы должны будете добывать новый генезис блок перед запуском, и, возможно, потребуется несколько больше во время тестирования и разработки в зависимости от того, делаете ли вы что-нибудь, что изменения заголовков блоков или начальной транзакции coinbase. Но в клиенте вы на самом деле проверить и отпустить, вы не хотите, добыча генезиса блока включена. Если он видит неправильный блок генеза в папке, вы хотите, чтобы разбомбить сразу, а не сидеть там жевание и пытаемся создать новую.
Всякий раз, когда вам нужно добывать новые блоки генеза, потому что вы изменили что-то, что аннулировал старый в процессе разработки, вы можете вернуться к chainparams.cpp, обновить строку параметров даты и метки времени, сделать три истина / ложь изменения, перекомпилировать сделать
Код:
гт -rf ~ / .newcoin
То, что вы получили
На этом этапе вы создали полный и совершенно простой, клон Bitcoin версии 0.10. Если это все, что вы делаете, то это был хороший опыт обучения, но не запускать эту монету. Если делать что-то новое, нет никакого смысла.
Проблемы вам все еще нужно исправить
Это вещь, которую вы создали не может выжить как altcoin; Помимо не имеющая сеть семян самостоятельно, его алгоритм регулировки трудности не будет реагировать достаточно быстро, чтобы предотвратить ваш блок цепочку от получения instamined, а затем застряли. Добыча киты будут выкопать две недели монет, а не обработки практически не сделок, менее чем за час, а ваш блок цепь является прибыльной, а затем, когда корректировка трудности для того, что две недели хиты они покинут вашу цепочку с невероятно высокой сложностью и идти к чему-то еще. Вы не получите блок в течение нескольких дней, и никто не будет в состоянии использовать свой альт, чтобы сделать какой-либо сделки из-за него. В результате блок-цепь, которая может обрабатывать транзакции, может быть, два часа из каждого года, что бесполезно для всех.
Таким образом, следующая вещь, что вам нужно сделать, это пойти исправить. И когда вы исправили, ваш новый альт еще не способен выжить; у каждого исправление проблемы сложности, что создает клонированную монету. Еще раз, вы либо новую идею и способность развивать и поддерживать его, или у вас нет ничего, что это стоит начать. То, что я показал вам здесь первые три шага на длинной дороге.
Я буду говорить об один способ исправить трудности в следующей партии.