Cоздание своего Fork-а на основе Dash [building windows 10]
Всем доброго дня.
Данная тема уже была на форуме, но она устарела и уже не актуальна.
Цитата
Данный маунал только для ознакомления, в момент разработки, репозиторий может измениться и вы не сможете скомпилировать свой форк.
Пункты:
Установка необходимого софта
Настройка своего форка
Компиляция в windwos 10
Необходимый софт:
Git - я работаю из CMD так что вы можете взять любой с GUI
atom или notepad ++
Windwos 10
Настройка окружения:
В windwos 10 добавлена возможность работы в Linux системе, для разработчиков. Так что мы можем без использования виртуальных машин тестировать и работать в linux системе (Ubuntu: замечу что отсутствуют определенные функции, больше информации в мать часте)
Установка:
Пуск - поиск - включение или отключение компонентов windows
находим пункт:
Подсистема Windwos для Linux (бета-версия)
Выделяем галочкой, устанавливаем, по необходимости перезагружаемся.
Предположим вы уже скачаи git, зарегистрированы в Github - делам форк данного репозитория:
https://github.com/microcrm-online/dash.git
По чему этого? Эта версия Dash на момент написания гайда, и я ее не собираюсь редактировать. Так что из этой версии вы всегда сможете собрать свой форк по этому гайду.
Подготовка к редактированию форка:
Создайте папку git (желательно в корне диска, вам будет удобней)
Переходим в Linux (ubuntu), запустите CMD водим:
C:\Users\dobryj>bash
Создайте пользователя и пароль.
Дальше мы работаем только в linux: bash терминале.
Водим данные строки:
dobryj@win10:/mnt/c/users/dobryj$cd /mnt/(бука вашего диска)/git/
Установим необходимые программы в ubuntu:
dobryj@win10:/mnt/d/git$sudo apt-get install g++-mingw-w64-i686 mingw-w64-i686-dev g++-mingw-w64-x86-64 mingw-w64-x86-64-dev git curl python-dev python-pip python2.7-dev libssl-dev pip automake
#система попросить вести пароль, который вы вели при создании пользователя
Скачиваем ваш форк:
dobryj@win10:/mnt/d/git$git clone https://github.com/microcrm-online/dash.git
#я беру свой по умолчанию, замените адрес на свой
Клонируем необходимые для настройки программы:
#генератор генезис
dobryj@win10:/mnt/d/git$git clone https://github.com/lhartikk/GenesisH0.git
dobryj@win10:/mnt/d/git$git clone https://github.com/lhartikk/xcoin-hash
Устанавливаем:
dobryj@win10:/mnt/d/git$sudo pip install scrypt construct==2.5.2 && cd xcoin-hash && sudo python setup.py install && cd ..
Создадим папки предварительных данных и сразу перейдем к генерации ключей для вашего форка
dobryj@win10:/mnt/d/git$ mkdir -p dev/cert && cd dev/cert
Нам понадобится 5 ключей
dobryj@win10:/mnt/d/git/dev/cert&openssl ecparam -genkey -name secp256r1 -out main.pem
dobryj@win10:/mnt/d/git/dev/cert&openssl ecparam -genkey -name secp256r1 -out mainalert.pem
dobryj@win10:/mnt/d/git/dev/cert&openssl ecparam -genkey -name secp256r1 -out mainspork.pem
dobryj@win10:/mnt/d/git/dev/cert&openssl ecparam -genkey -name secp256r1 -out testnetalert.pem
dobryj@win10:/mnt/d/git/dev/cert&openssl ecparam -genkey -name secp256r1 -out testnetspork.pem
Зашипим ключи в txt файлы, для удобства чтения:
dobryj@win10:/mnt/d/git/dev/cert&openssl ec -in main.pem -noout –text > main.text
dobryj@win10:/mnt/d/git/dev/cert&openssl ec -in mainalert.pem -noout –text > mainalert.text
dobryj@win10:/mnt/d/git/dev/cert&openssl ec -in mainspork.pem -noout –text > mainspork.text
dobryj@win10:/mnt/d/git/dev/cert&openssl ec -in testnetalert.pem -noout –text > testnetalert.text
dobryj@win10:/mnt/d/git/dev/cert&openssl ec -in testnetspork.pem -noout –text > testnetspork.text
Создадим hex ключей
dobryj@win10:/mnt/d/git/dev/cert&openssl ec -in main.pem -noout –text > main.hex
dobryj@win10:/mnt/d/git/dev/cert&openssl ec -in mainalert.pem -noout –text > mainalert.hex
dobryj@win10:/mnt/d/git/dev/cert&openssl ec -in mainspork.pem -noout –text > mainspork.hex
dobryj@win10:/mnt/d/git/dev/cert&openssl ec -in testnetalert.pem -noout –text > testnetalert.hex
dobryj@win10:/mnt/d/git/dev/cert&openssl ec -in testnetspork.pem -noout –text > testnetspork.hex
Теперь запускам наш текстовый редактор, я пользуюсь Atom - по этому на его примере и буду все объяснять.
Добавим нашу папку git в проекты:
File - Add Project Folder (выбираем папку на диске git)
В папке /git/cert/ присудствуют наши ключи: *.pem, *.txt, *.hex
В файлах *.txt приведем все к такому виду:
# main.txt
**# удаляем все ":" **
# и убираем пробелы
Private-Key (256 bit)
priv
008bea3ba6da55953eaf286fd0db3f9d8d85c3cc886cf9cb1112d03d6d49c4f240
pub
040a5493b8e595e341847a860c8d01ac192a9abc7f649db06a9c5ff310d63247393f67c1e4889fbd355e2620013ad2cf73597163f735616a27b2a77a5689c53852
ASN1 OID prime256v1
Создадим еще один файл наших паблик ключей, для последующей генерации генезис pub.txt:
#main
pub
040a5493b8e595e341847a860c8d01ac192a9abc7f649db06a9c5ff310d63247393f67c1e4889fbd355e2620013ad2cf73597163f735616a27b2a77a5689c53852
#mainalert
pub
043050ce8f725fc9c3adf29ed5bf99414fa6be0ec36cbb99b475cc48770234ec92e8667d6b28708f870a922250b31d5a095679e19a902638788ea95ed5c66c75de
# и т.д.
Для генерации гензис требуется ключевая фраза и дата-время, что мы и сейчас сделаем:
Моя ключевая фраза:
"start test dash fork 17/05/2017 18/00"
Для генерации даты запуска перейдем на:
http://www.unixtimestamp.com/index.php
В Timestamp Converter пишем будущую время и дату запуска, нажимаем Convert.
У меня получилось: 1495044000
Цитата
Указывайте правильную дату и время, если вы запустите кошелек, более чем через час, кошелек не синхронизируется.
Возвращаемся в наш генезис:
dobryj@win10:/mnt/d/git/dev/cert&cd /mnt/d/git/GenesisH0
Для генерации генезиса нам понадобится 3 команды, для Main сети, Testnet сети и Regnet сети.
Перед этим создадим еще один текстовый файл Genesis.txt в папке cert
Для 3 сетей нам понадобятся 3 временные зоны, можно просто заменить 0 в конце, получится:
**main: 1495044000
testnet: 1495044001
regnet: 1495044002 **
продолжение следующим постом.